source: main/trunk/release-kits/shared/core/ant-installer/build.xml@ 35639

Last change on this file since 35639 was 35639, checked in by davidb, 3 years ago

antruntime not needed

File size: 5.8 KB
Line 
1<?xml version="1.0"?>
2<!--
3 This is a normal Ant build file to build the release for sourceforge
4
5 Subsequently adapted to add in the 'compile.javac.flags' set in
6 the parent Greenstone Release Kit directory above to control
7 the target version of class files produced
8 -->
9
10<project name="Installation Build" default="build">
11
12 <!-- Project properties -->
13 <property name="prepareDir" value="artifacts/prepare"/>
14 <property name="antlib" value="antlib"/>
15
16
17 <!-- Classpaths - start -->
18 <!-- Classpaths for compilation - start -->
19
20 <path id="project.cp">
21 <fileset dir="${antlib}" includes="ant.jar,ant-launcher.jar"/>
22 </path>
23 <path id="project.ext.cp">
24 <fileset dir="lib">
25 <include name="ant-installer.jar"/>
26 </fileset>
27 <fileset dir="${antlib}" includes="ant.jar,ant-launcher.jar"/>
28 </path>
29 <!-- Classpaths for compilation - end -->
30
31 <path id="taskdef.cp">
32 <fileset dir="./lib">
33 <include name="ant-installer-ext.jar"/>
34 <include name="ant-installer.jar"/>
35 </fileset>
36 </path>
37 <!-- Classpaths - end -->
38
39
40 <!-- Task definitions - start -->
41 <!-- AntInstaller installer task definition.
42 Defined within target as it depends upon files that aren't
43 available at the start of a clean build -->
44 <target name="_set-installer-taskdef" unless="installer.taskdef.defined">
45 <taskdef
46 name="installer"
47 classname="org.tp23.antinstaller.taskdefs.Installer"
48 classpathref="taskdef.cp"/>
49 <property name="installer.taskdef.defined" value="true"/>
50 </target>
51 <!-- Task definitions - end -->
52
53
54 <!-- =============================== -->
55 <!-- ==== Public Runnable Targets == -->
56 <!-- =============================== -->
57
58 <target name="clean-build" depends="clean, _build-ai-jars, clean-demo, _build-demo">
59 <!-- this build is pretty much everything other than the installers -->
60 </target>
61
62 <target name="build" depends="_build-ai-jars, _build-demo">
63 <!-- this build should be enough to run the unittests without having to build a release package -->
64 </target>
65
66 <target name="clean" description="Clean out compiled and generated files">
67 <echo message="*** *** Cleaning artifacts *** *** "/>
68 <echo message="*** ***"/>
69 <delete dir="${prepareDir}"/>
70 <delete file="./lib/ant-installer.jar"/>
71 <delete file="./lib/ant-installer-ext.jar"/>
72 </target>
73
74 <target name="clean-demo" description="Clean out demo files">
75 <ant dir="demo" antfile="build-demo.xml" target="clean">
76 <property name="${installDir}" value="demo"/>
77 </ant>
78 </target>
79
80
81 <!-- =============================== -->
82 <!-- ======= Internal Targets ====== -->
83 <!-- =============================== -->
84
85 <!--
86 tests that the following has been run locally
87 This does not need to be run repeatedly but unittests depend on it
88 # ant -buildfile demo/build-demo.xml
89 -->
90 <target name="_check-demo">
91 <condition property="installpack.missing">
92 <not>
93 <available file="demo/artifacts/installpack.zip" type="file"/>
94 </not>
95 </condition>
96 </target>
97
98 <target name="_build-demo" if="installpack.missing" depends="_check-demo">
99 <echo message="requires demo build: ${installpack.missing}"/>
100 <ant dir="demo" antfile="build-demo.xml" target="selfextract">
101 <property name="${installDir}" value="demo"/>
102 </ant>
103 </target>
104
105
106 <target name="_build-ai-jars" depends="_ant-installer.jar, _ant-installer-ext.jar">
107 <!-- AntInstaller JARs are built in ./lib-->
108 <!-- (checked-in) JARs should not be used -->
109 </target>
110
111 <target name="_ant-installer.jar">
112 <echo message="*** *** Building ant-installer.jar *** *** "/>
113 <echo message="*** ***"/>
114 <echo message="Initing the build directory - ${prepareDir}"/>
115 <mkdir dir="${prepareDir}/classes"/>
116
117 <echo message="*** Building ant-installer.jar ***"/>
118
119 <mkdir dir="./lib"/>
120
121 <javac
122 srcdir="src"
123 destdir="${prepareDir}/classes"
124 classpathref="project.cp"
125 debug="true">
126 <compilerarg line="${compile.javac.flags}"/>
127 </javac>
128
129 <jar file="./lib/ant-installer.jar" whenempty="fail">
130 <fileset dir="./src/resources">
131 <include name="LICENSE-ant-install.txt"/>
132 </fileset>
133 <fileset dir="${prepareDir}/classes"/>
134 <fileset dir="./src">
135 <include name="**/*.dtd"/>
136 <include name="**/*.properties"/>
137 <include name="**/*.fconfig"/>
138 <include name="resources/extract-image.png"/>
139 <include name="resources/gkmain_inv.png"/>
140 <include name="resources/antbar.png"/>
141 </fileset>
142 <manifest>
143 <attribute name="AntInstaller-Version" value="${ant.install.version}"/>
144 </manifest>
145 </jar>
146 </target>
147
148 <target name="_ant-installer-ext.jar">
149 <echo message="*** *** Building ant-installer-ext.jar *** *** "/>
150 <echo message="*** ***"/>
151 <mkdir dir="${prepareDir}/classes_ext"/>
152
153 <javac includeantruntime="false"
154 srcdir="src_ext"
155 destdir="${prepareDir}/classes_ext"
156 classpathref="project.ext.cp"
157 debug="true">
158 <compilerarg line="${compile.javac.flags}"/>
159 </javac>
160
161 <jar file="./lib/ant-installer-ext.jar" whenempty="fail">
162 <fileset dir="./src/resources">
163 <include name="LICENSE-ant-install.txt"/>
164 </fileset>
165 <fileset dir="${prepareDir}/classes_ext"/>
166 <manifest>
167 <attribute name="AntInstaller-Version" value="${ant.install.version}"/>
168 </manifest>
169 </jar>
170 </target>
171
172 <target name="setEn"></target>
173 <target name="setFr"></target>
174 <target name="setEs"></target>
175 <target name="setRu"></target>
176
177
178</project>
Note: See TracBrowser for help on using the repository browser.