Make cleanall fail if executing ant cleanall, without the -noclasspath option.
[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 Source/TianoTools/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 Source/Common/build.xml
36 Source/PcdTools/build.xml
37 Source/GenBuild/build.xml
38 Source/FrameworkTasks/build.xml
39 Source/Cpptasks/build.xml
40 Source/FrameworkWizard/build.xml
41 "/>
42 </subant>
43 <echo message="The EDK II Java Tools build has completed!"/>
44 </target>
45
46 <target name="Wizard" depends="SurfaceArea">
47 <subant target="" verbose="true" inheritall="false">
48 <!-- Note: this is an ordered list. The projects have dependencies between them. -->
49 <filelist dir="."
50 files="
51 Source/FrameworkWizard/build.xml
52 "/>
53 </subant>
54 </target>
55
56 <target name="SurfaceArea" depends="makeCatalog">
57 <subant target="" verbose="true" inheritall="false">
58 <filelist dir="."
59 files="
60 Source/SurfaceArea/build.xml
61 "/>
62 </subant>
63 </target>
64
65 <target name="makeCatalog">
66 <echo file="XMLSchema/catalog.xml">
67 <![CDATA[<?xml version="1.0"?>
68 <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.xsd">
69 <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
70 <rewriteSystem systemIdStartString="http://www.TianoCore.org/2006/Edk2.0/"
71 rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
72 <rewriteURI uriStartString="http://www.TianoCore.org/2006/Edk2.0/"
73 rewritePrefix="file:/]]>${env.WORKSPACE}<![CDATA[/Tools/XMLSchema/"/>
74 </catalog>]]>
75 </echo>
76 <copy file="Conf/tools_def.template" tofile="Conf/tools_def.txt" overwrite="false"/>
77 <copy file="Conf/target.template" tofile="Conf/target.txt" overwrite="false"/>
78 <if>
79 <not>
80 <available file="Conf/FrameworkDatabase.db"/>
81 </not>
82 <then>
83 <copy file="Conf/FrameworkDatabase.template" tofile="Conf/FrameworkDatabase.db"/>
84 </then>
85 </if>
86 </target>
87
88 <target name="clean">
89 <subant target="clean" inheritall="false">
90 <filelist dir="."
91 files="
92 Source/FrameworkWizard/build.xml
93 Source/Cpptasks/build.xml
94 Source/FrameworkTasks/build.xml
95 Source/GenBuild/build.xml
96 Source/PcdTools/build.xml
97 Source/Common/build.xml
98 Source/SurfaceArea/build.xml
99 Source/TianoTools/build.xml
100 "/>
101 </subant>
102 </target>
103
104 <target name="cleanall">
105 <available classname="org.tianocore.frameworkwizard.FrameworkWizardUI" property="FrameworkWizardUI.available"/>
106 <available classname="org.tianocore.build.GenBuildTask" property="GenBuildTask.available"/>
107 <available classname="org.tianocore.framework.tasks.Tool" property="Tool.available"/>
108 <available classname="org.tianocore.pcd.action.BuildAction" property="PcdClass.available"/>
109 <if>
110 <or>
111 <isset property="FrameworkWizardUI.available"/>
112 <isset property="GenBuildTask.available"/>
113 <isset property="Tool.available"/>
114 <isset property="PcdClass.available"/>
115 </or>
116 <then>
117 <fail message="Use ant -noclasspath cleanall, to remove all jar files!"/>
118 </then>
119 </if>
120 <subant target="cleanall" inheritall="true">
121 <filelist dir="."
122 files="
123 Source/FrameworkWizard/build.xml
124 Source/Cpptasks/build.xml
125 Source/FrameworkTasks/build.xml
126 Source/GenBuild/build.xml
127 Source/PcdTools/build.xml
128 Source/Common/build.xml
129 Source/SurfaceArea/build.xml
130 Source/TianoTools/build.xml
131 "/>
132 </subant>
133 </target>
134 </project>