]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/build.xml
Add Package-Guid Map.
[mirror_edk2.git] / Tools / build.xml
index f73e69302abf0c361b6baa63cb5770dc9259c7eb..caef839b504b61d63667032a2a18e4f2b1d5d10a 100644 (file)
@@ -11,46 +11,76 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 -->\r
 <project name="Tools" default="all" basedir=".">\r
 \r
+  <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
   <property environment="env"/>\r
 \r
+  <target name="all" depends="C_Code">\r
+    <echo message="The EDK II Tools build has completed!"/>\r
+  </target>\r
+\r
+  <target name="C_Code" depends="JavaCode">\r
+    <subant target="" inheritall="false">\r
+      <filelist dir="."\r
+        files="\r
+          CCode/Source/build.xml\r
+          "/>\r
+    </subant>\r
+  </target>\r
+\r
   <target name="JavaCode" depends="SurfaceArea">\r
     <subant target="" verbose="true" inheritall="false">\r
       <!-- Note: this is an ordered list. The projects have dependencies between them. -->\r
       <filelist dir="."\r
         files="\r
-          Source/Common/build.xml\r
-          Source/GenBuild/build.xml\r
-          Source/FrameworkTasks/build.xml\r
-          Source/Cpptasks/build.xml\r
-          Source/ModuleEditor/build.xml\r
-          Source/PackageEditor/build.xml\r
+          Java/Source/Common/build.xml\r
+          Java/Source/PcdTools/build.xml\r
+          Java/Source/GenBuild/build.xml\r
+          Java/Source/FrameworkTasks/build.xml\r
+          Java/Source/Cpptasks/build.xml\r
+          Java/Source/FrameworkWizard/build.xml\r
+          Java/Source/MigrationTools/build.xml\r
+          Java/Source/ContextTool/build.xml\r
+          Java/Source/Merge/build.xml\r
           "/>\r
     </subant>\r
+    <echo message="The EDK II Java Tools build has completed!"/>\r
   </target>\r
 \r
-  <target name="all" depends="C_Code"/>\r
+  <target name="Wizard" depends="SurfaceArea">\r
+    <subant target="" verbose="true" inheritall="false">\r
+      <!-- Note: this is an ordered list. The projects have dependencies between them. -->\r
+      <filelist dir="."\r
+        files="\r
+          Java/Source/FrameworkWizard/build.xml\r
+          "/>\r
+    </subant>\r
+  </target>\r
 \r
-  <target name="SurfaceArea" depends="makeCatalog">\r
+  <target name="Merge" depends="SurfaceArea">\r
     <subant target="" verbose="true" inheritall="false">\r
       <filelist dir="."\r
         files="\r
-          Source/SurfaceArea/build.xml\r
+          Java/Source/Merge/build.xml\r
           "/>\r
     </subant>\r
   </target>\r
 \r
-  <target name="C_Code" depends="JavaCode">\r
+  <target name="SurfaceArea" depends="makeCatalog">\r
     <subant target="" verbose="true" inheritall="false">\r
       <filelist dir="."\r
         files="\r
-          Source/TianoTools/build.xml\r
+          Java/Source/SurfaceArea/build.xml\r
           "/>\r
     </subant>\r
   </target>\r
 \r
   <target name="makeCatalog">\r
-    <echo file="XMLSchema/catalog.xml">\r
-      <![CDATA[<?xml version="1.0"?>\r
+    <if>\r
+      <not>\r
+        <available file="XMLSchema/catalog.xml"/>\r
+      </not>\r
+      <then>\r
+        <echo file="XMLSchema/catalog.xml"><![CDATA[<?xml version="1.0"?>\r
 <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.xsd">\r
 <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">\r
   <rewriteSystem systemIdStartString="http://www.TianoCore.org/2006/Edk2.0/"\r
@@ -58,35 +88,104 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   <rewriteURI uriStartString="http://www.TianoCore.org/2006/Edk2.0/"\r
     rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>\r
 </catalog>]]>\r
-    </echo>\r
-    <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt" overwrite="false"/>\r
+</echo>\r
+      </then>\r
+    </if>\r
+    <if>\r
+      <not>\r
+        <available file="Conf/tools_def.txt"/>\r
+      </not>\r
+      <then>\r
+        <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt"/>\r
+      </then>\r
+    </if>\r
+\r
+    <if>\r
+      <not>\r
+        <available file="Conf/target.txt"/>\r
+      </not>\r
+      <then>\r
+        <copy file="Conf/target.template" tofile="Conf/target.txt"/>\r
+      </then>\r
+    </if>\r
+\r
+    <if>\r
+      <not>\r
+        <available file="Conf/FrameworkDatabase.db"/>\r
+      </not>\r
+      <then>\r
+        <copy file="Conf/FrameworkDatabase.template" tofile="Conf/FrameworkDatabase.db"/>\r
+      </then>\r
+    </if>\r
   </target>\r
+\r
   <target name="clean">\r
     <subant target="clean" inheritall="false">\r
       <filelist dir="."\r
         files="\r
-          Source/TianoTools/build.xml\r
-          Source/ModuleEditor/build.xml\r
-          Source/PackageEditor/build.xml\r
-          Source/FrameworkTasks/build.xml\r
-          Source/GenBuild/build.xml\r
-          Source/SurfaceArea/build.xml\r
-          Source/Cpptasks/build.xml\r
-          "/>\r
+          Java/Source/FrameworkWizard/build.xml \r
+          Java/Source/Cpptasks/build.xml \r
+          Java/Source/FrameworkTasks/build.xml \r
+          Java/Source/GenBuild/build.xml \r
+          Java/Source/PcdTools/build.xml \r
+          Java/Source/Common/build.xml \r
+          Java/Source/SurfaceArea/build.xml \r
+          Java/Source/MigrationTools/build.xml\r
+          Java/Source/ContextTool/build.xml\r
+          Java/Source/Merge/build.xml\r
+          CCode/Source/build.xml\r
+        "/>\r
     </subant>\r
   </target>\r
+\r
   <target name="cleanall">\r
-    <subant target="cleanall" verbose="true" inheritall="false">\r
+    <echo message="Removing extra ${env.WORKSPACE} history.xml files!"/>\r
+    <if>\r
+      <available file="${env.WORKSPACE}/Tools/bin/history.xml"/>\r
+      <then>\r
+        <delete failonerror="false" quiet="true">\r
+          <fileset file="${env.WORKSPACE}/Tools/bin/history.xml"/>\r
+        </delete>\r
+      </then>\r
+    </if>\r
+    <if>\r
+      <available file="${env.WORKSPACE}/Tools/CCode/Source/Library/history.xml"/>\r
+      <then>\r
+        <delete failonerror="false" quiet="true">\r
+          <fileset file="${env.WORKSPACE}/Tools/CCode/Source/Library/history.xml"/>\r
+        </delete>\r
+      </then>\r
+    </if>\r
+    <available classname="org.tianocore.frameworkwizard.FrameworkWizardUI" property="FrameworkWizardUI.available"/>\r
+    <available classname="org.tianocore.build.GenBuildTask" property="GenBuildTask.available"/>\r
+    <available classname="org.tianocore.framework.tasks.Tool" property="Tool.available"/>\r
+    <available classname="org.tianocore.pcd.action.BuildAction" property="PcdClass.available"/>\r
+    <if>\r
+      <or>\r
+        <isset property="FrameworkWizardUI.available"/>\r
+        <isset property="GenBuildTask.available"/>\r
+        <isset property="Tool.available"/>\r
+        <isset property="PcdClass.available"/>\r
+      </or>\r
+      <then>\r
+        <fail message="Use ant -noclasspath cleanall, to remove all jar files!"/>\r
+      </then>\r
+    </if>\r
+    <subant target="cleanall" inheritall="true">\r
       <filelist dir="."\r
         files="\r
-          Source/TianoTools/build.xml\r
-          Source/ModuleEditor/build.xml\r
-          Source/PackageEditor/build.xml\r
-          Source/FrameworkTasks/build.xml\r
-          Source/GenBuild/build.xml\r
-          Source/SurfaceArea/build.xml\r
-          Source/Cpptasks/build.xml\r
-          "/>\r
+          Java/Source/FrameworkWizard/build.xml \r
+          Java/Source/Cpptasks/build.xml \r
+          Java/Source/FrameworkTasks/build.xml \r
+          Java/Source/GenBuild/build.xml \r
+          Java/Source/PcdTools/build.xml \r
+          Java/Source/Common/build.xml \r
+          Java/Source/SurfaceArea/build.xml \r
+          Java/Source/MigrationTools/build.xml\r
+          Java/Source/ContextTool/build.xml\r
+          Java/Source/Merge/build.xml\r
+          CCode/Source/build.xml\r
+        "/>\r
     </subant>\r
   </target>\r
 </project>\r