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>
|
---|