Adding top-level Conf directory for next generation of EDK II build infrastructure...
[mirror_edk2.git] / Tools / build.xml
1 <?xml version="1.0"?>
2 <!--
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 -->
12 <project name="Tools" default="all" basedir=".">
13
14 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
15 <property environment="env"/>
16
17 <target name="all" depends="C_Code">
18 <echo message="The EDK II Tools build has completed!"/>
19 </target>
20
21 <target name="C_Code" depends="JavaCode">
22 <subant target="" inheritall="false">
23 <filelist dir="."
24 files="
25 CCode/Source/build.xml
26 "/>
27 </subant>
28 </target>
29
30 <target name="JavaCode" depends="SurfaceArea">
31 <subant target="" verbose="true" inheritall="false">
32 <!-- Note: this is an ordered list. The projects have dependencies between them. -->
33 <filelist dir="."
34 files="
35 Java/Source/Common/build.xml
36 Java/Source/PcdTools/build.xml
37 Java/Source/GenBuild/build.xml
38 Java/Source/FrameworkTasks/build.xml
39 Java/Source/Cpptasks/build.xml
40 Java/Source/FrameworkWizard/build.xml
41 Java/Source/MigrationTools/build.xml
42 Java/Source/ContextTool/build.xml
43 Java/Source/Merge/build.xml
44 Java/Source/CheckTools/build.xml
45 Java/Source/DbTools/build.xml
46 "/>
47 </subant>
48 <echo message="The EDK II Java Tools build has completed!"/>
49 </target>
50
51 <target name="Wizard" depends="SurfaceArea">
52 <subant target="" verbose="true" inheritall="false">
53 <!-- Note: this is an ordered list. The projects have dependencies between them. -->
54 <filelist dir="."
55 files="
56 Java/Source/FrameworkWizard/build.xml
57 "/>
58 </subant>
59 </target>
60
61 <target name="Merge" depends="SurfaceArea">
62 <subant target="" verbose="true" inheritall="false">
63 <filelist dir="."
64 files="
65 Java/Source/Merge/build.xml
66 "/>
67 </subant>
68 </target>
69
70 <target name="SurfaceArea" depends="makeCatalog">
71 <subant target="" verbose="true" inheritall="false">
72 <filelist dir="."
73 files="
74 Java/Source/SurfaceArea/build.xml
75 "/>
76 </subant>
77 </target>
78
79 <target name="makeCatalog">
80 <if>
81 <not>
82 <available file="XMLSchema/catalog.xml"/>
83 </not>
84 <then>
85 <echo file="XMLSchema/catalog.xml"><![CDATA[<?xml version="1.0"?>
86 <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.xsd">
87 <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
88 <rewriteSystem systemIdStartString="http://www.TianoCore.org/2006/Edk2.0/"
89 rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
90 <rewriteURI uriStartString="http://www.TianoCore.org/2006/Edk2.0/"
91 rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
92 </catalog>]]>
93 </echo>
94 </then>
95 </if>
96 <if>
97 <not>
98 <available file="Conf/tools_def.txt"/>
99 </not>
100 <then>
101 <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt"/>
102 </then>
103 </if>
104
105 <if>
106 <not>
107 <available file="Conf/target.txt"/>
108 </not>
109 <then>
110 <copy file="Conf/target.template" tofile="Conf/target.txt"/>
111 </then>
112 </if>
113
114 <if>
115 <not>
116 <available file="Conf/FrameworkDatabase.db"/>
117 </not>
118 <then>
119 <copy file="Conf/FrameworkDatabase.template" tofile="Conf/FrameworkDatabase.db"/>
120 </then>
121 </if>
122 </target>
123
124 <target name="reconfig">
125 <!-- backup all config files -->
126 <if>
127 <available file="Conf/target.txt"/>
128 <then>
129 <echo message="Backup Conf/target.txt to Conf/target.txt.bak" />
130 <copy file="Conf/target.txt" tofile="Conf/target.txt.bak" overwrite="true" />
131 </then>
132 </if>
133 <if>
134 <available file="Conf/tools_def.txt"/>
135 <then>
136 <echo message="Backup Conf/tools_def.txt to Conf/tools_def.txt.bak" />
137 <copy file="Conf/tools_def.txt" tofile="Conf/tools_def.txt.bak" overwrite="true" />
138 </then>
139 </if>
140 <if>
141 <available file="Conf/FrameworkDatabase.db"/>
142 <then>
143 <echo message="Backup Conf/FrameworkDatabase.db to Conf/FrameworkDatabase.db.bak" />
144 <copy file="Conf/FrameworkDatabase.db" tofile="Conf/FrameworkDatabase.db.bak" overwrite="true" />
145 </then>
146 </if>
147
148 <if>
149 <available file="Conf/tools_def.template"/>
150 <then>
151 <echo message="Copy file from Conf/tools_def.template to Conf/tools_def.txt" />
152 <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt" overwrite="true" />
153 </then>
154 </if>
155
156 <if>
157 <available file="Conf/target.template"/>
158 <then>
159 <echo message="Copy file from Conf/target.template to Conf/target.txt" />
160 <copy file="Conf/target.template" tofile="Conf/target.txt" overwrite="true" />
161 </then>
162 </if>
163
164 <if>
165 <available file="Conf/FrameworkDatabase.template"/>
166 <then>
167 <echo message="Copy file from Conf/FrameworkDatabase.template to Conf/FrameworkDatabase.db" />
168 <copy file="Conf/FrameworkDatabase.template" tofile="Conf/FrameworkDatabase.db" overwrite="true" />
169 </then>
170 </if>
171 </target>
172
173 <target name="clean">
174 <subant target="clean" inheritall="false">
175 <filelist dir="."
176 files="
177 Java/Source/FrameworkWizard/build.xml
178 Java/Source/Cpptasks/build.xml
179 Java/Source/FrameworkTasks/build.xml
180 Java/Source/GenBuild/build.xml
181 Java/Source/PcdTools/build.xml
182 Java/Source/Common/build.xml
183 Java/Source/SurfaceArea/build.xml
184 Java/Source/MigrationTools/build.xml
185 Java/Source/ContextTool/build.xml
186 Java/Source/Merge/build.xml
187 Java/Source/CheckTools/build.xml
188 Java/Source/DbTools/build.xml
189 CCode/Source/build.xml
190 "/>
191 </subant>
192 </target>
193
194 <target name="cleanall">
195 <echo message="Removing extra ${env.WORKSPACE} history.xml files!"/>
196 <if>
197 <available file="${env.WORKSPACE}/Tools/bin/history.xml"/>
198 <then>
199 <delete failonerror="false" quiet="true">
200 <fileset file="${env.WORKSPACE}/Tools/bin/history.xml"/>
201 </delete>
202 </then>
203 </if>
204 <if>
205 <available file="${env.WORKSPACE}/Tools/CCode/Source/Library/history.xml"/>
206 <then>
207 <delete failonerror="false" quiet="true">
208 <fileset file="${env.WORKSPACE}/Tools/CCode/Source/Library/history.xml"/>
209 </delete>
210 </then>
211 </if>
212 <available classname="org.tianocore.frameworkwizard.FrameworkWizardUI" property="FrameworkWizardUI.available"/>
213 <available classname="org.tianocore.build.GenBuildTask" property="GenBuildTask.available"/>
214 <available classname="org.tianocore.framework.tasks.Tool" property="Tool.available"/>
215 <available classname="org.tianocore.pcd.action.BuildAction" property="PcdClass.available"/>
216 <if>
217 <or>
218 <isset property="FrameworkWizardUI.available"/>
219 <isset property="GenBuildTask.available"/>
220 <isset property="Tool.available"/>
221 <isset property="PcdClass.available"/>
222 </or>
223 <then>
224 <fail message="Use ant -noclasspath cleanall, to remove all jar files!"/>
225 </then>
226 </if>
227 <subant target="cleanall" inheritall="true">
228 <filelist dir="."
229 files="
230 Java/Source/FrameworkWizard/build.xml
231 Java/Source/Cpptasks/build.xml
232 Java/Source/FrameworkTasks/build.xml
233 Java/Source/GenBuild/build.xml
234 Java/Source/PcdTools/build.xml
235 Java/Source/Common/build.xml
236 Java/Source/SurfaceArea/build.xml
237 Java/Source/MigrationTools/build.xml
238 Java/Source/ContextTool/build.xml
239 Java/Source/Merge/build.xml
240 Java/Source/CheckTools/build.xml
241 Java/Source/DbTools/build.xml
242 CCode/Source/build.xml
243 "/>
244 </subant>
245 </target>
246 </project>