1 | <?xml version="1.0" encoding="utf-8" ?>
|
---|
2 | <!--
|
---|
3 | ..........................................................
|
---|
4 | August 2008
|
---|
5 | Targets for Greenstone3 release kits
|
---|
6 | Oran Fry
|
---|
7 | ..........................................................
|
---|
8 | -->
|
---|
9 |
|
---|
10 | <project name="rk3-targets">
|
---|
11 |
|
---|
12 | <property name="version.major" value="3"/>
|
---|
13 |
|
---|
14 | <!-- create the property set to be forwarded to greenstone3 -->
|
---|
15 | <propertyset id="forward.properties">
|
---|
16 | <propertyref prefix="forward."/>
|
---|
17 | <mapper type="glob" from="forward.*" to="*"/>
|
---|
18 | <propertyref name="app.version"/>
|
---|
19 | <propertyref name="branch.path"/>
|
---|
20 | <propertyref name="branch.revision"/>
|
---|
21 | </propertyset>
|
---|
22 |
|
---|
23 | <target name="greenstone3-set-version-numbers">
|
---|
24 | <rsr
|
---|
25 | file="${greenstone3basedir}/resources/java/global.properties.in"
|
---|
26 | pattern="@gsdl3version@"
|
---|
27 | replacement="${version}" />
|
---|
28 | </target>
|
---|
29 |
|
---|
30 | <target name="gs3-init">
|
---|
31 |
|
---|
32 | <!-- don't let greenstone3 block and wait for user input to accept
|
---|
33 | the properties for the build -->
|
---|
34 | <property name="forward.properties.accepted" value="true"/>
|
---|
35 |
|
---|
36 | <!-- make sure all c++ compilation is done statically -->
|
---|
37 | <property name="forward.compile.static" value="true"/>
|
---|
38 |
|
---|
39 | <!-- show the property set to be forwarded to greenstone3 -->
|
---|
40 | <echo>Properties to be forwarded to greenstone3 build</echo>
|
---|
41 | <echoproperties><propertyset refid="forward.properties"/></echoproperties>
|
---|
42 |
|
---|
43 | </target>
|
---|
44 |
|
---|
45 | <target name="insert-uninstaller-jar">
|
---|
46 | <copy file="compiled/uninst.jar" tofile="distributions/web/uninst.jar"/>
|
---|
47 | </target>
|
---|
48 |
|
---|
49 | <!--
|
---|
50 | inserts a copy of the release kit's own ant into the greenstone3
|
---|
51 | installation. the ant from the release kit is minified so is a good choice.
|
---|
52 | -->
|
---|
53 | <target name="insert-ant">
|
---|
54 |
|
---|
55 | <!-- remove any existing ant -->
|
---|
56 | <delete dir="compiled/packages/ant"/>
|
---|
57 |
|
---|
58 | <!-- windows copy -->
|
---|
59 | <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
|
---|
60 | <copy todir="compiled/packages">
|
---|
61 | <fileset dir="${rk.home}/core" includes="ant/**/*"/>
|
---|
62 | </copy>
|
---|
63 |
|
---|
64 | <!-- linux, mac copy-->
|
---|
65 | <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
|
---|
66 | <exec executable="cp">
|
---|
67 | <arg value="-r"/>
|
---|
68 | <arg value="${rk.home}/core/ant"/>
|
---|
69 | <arg value="compiled/packages"/>
|
---|
70 | </exec>
|
---|
71 |
|
---|
72 | <!-- otherwise fail -->
|
---|
73 | <else>
|
---|
74 | <fail>this target does not support the current os</fail>
|
---|
75 |
|
---|
76 | </else></if></else></if>
|
---|
77 |
|
---|
78 | </target>
|
---|
79 |
|
---|
80 | <target name="generate-build-properties">
|
---|
81 | <copy file="${greenstone3.basedir}/build.properties.in" tofile="${greenstone3.basedir}/build.properties"/>
|
---|
82 | <if><bool><istrue value="${install.flax}"/></bool>
|
---|
83 | <rsr file="${greenstone3.basedir}/build.properties" pattern="^#install.flax\s*[=:].*" replacement="install.flax=true"/>
|
---|
84 | </if>
|
---|
85 | <if><bool><isset property="server.default.servlet"/></bool>
|
---|
86 | <rsr file="${greenstone3.basedir}/build.properties" pattern="^#?server.default.servlet\s*[=:].*" replacement="server.default.servlet=${server.default.servlet}"/>
|
---|
87 | </if>
|
---|
88 | </target>
|
---|
89 |
|
---|
90 | <target name="checkout-greenstone3">
|
---|
91 | <svn>
|
---|
92 | <checkout url="${svn.root}/greenstone3/${branch.path}" destPath="compiled" revision="${branch.revision}"/>
|
---|
93 | <!-- <checkout url="${svn.root}/gli/${branch.path}" destPath="compiled/gli" revision="${branch.revision}"/> -->
|
---|
94 | </svn>
|
---|
95 | </target>
|
---|
96 |
|
---|
97 | <target name="export-greenstone3">
|
---|
98 | <svn>
|
---|
99 | <export srcUrl="${svn.root}/greenstone3/${branch.path}" destPath="${dest}" revision="${branch.revision}"/>
|
---|
100 | </svn>
|
---|
101 | </target>
|
---|
102 |
|
---|
103 | <target name="insert-xml-parser">
|
---|
104 | <copy todir="compiled/gs2build/perllib/cpan">
|
---|
105 | <fileset dir="${rk.home}/greenstone3" includes="XML-Parser/**/*"/>
|
---|
106 | </copy>
|
---|
107 | </target>
|
---|
108 |
|
---|
109 | <target name="insert-documented-examples">
|
---|
110 | <echo>NOT IMPLEMENTED: Remember to put code in this target to grab and install the documented examples.</echo>
|
---|
111 | <!-- copy the doc eg colls from /home/nzdl - note we don't include the formatting ones -->
|
---|
112 | </target>
|
---|
113 |
|
---|
114 | <target name="prepare-documentation">
|
---|
115 |
|
---|
116 | <mkdir dir="compiled/gsdl-manuals"/>
|
---|
117 | <svn>
|
---|
118 | <checkout url="${svn.root}/documentation/${branch.path}/manuals" destPath="compiled/gsdl-manuals/manuals"/>
|
---|
119 | <checkout url="${svn.root}/documentation/${branch.path}/shared" destPath="compiled/gsdl-manuals/shared"/>
|
---|
120 | </svn>
|
---|
121 | <path id="documentation.compile.classpath">
|
---|
122 | <fileset dir="compiled/gsdl-manuals">
|
---|
123 | <include name="**/*.jar"/>
|
---|
124 | </fileset>
|
---|
125 | <pathelement path="compiled/gsdl-manuals/shared"/>
|
---|
126 | <pathelement path="compiled/gsdl-manuals/manuals"/>
|
---|
127 | </path>
|
---|
128 | <javac srcdir="compiled/gsdl-manuals/shared"
|
---|
129 | destdir="compiled/gsdl-manuals/shared"
|
---|
130 | debug="on"
|
---|
131 | classpathref="documentation.compile.classpath">
|
---|
132 | <include name="*.java"/>
|
---|
133 | </javac>
|
---|
134 | <unzip src="compiled/gsdl-manuals/shared/fop.zip" dest="compiled/gsdl-manuals/shared"/>
|
---|
135 |
|
---|
136 | <java classname="ApplyXSLT" classpathref="documentation.compile.classpath" output="compiled/gsdl-manuals/manuals/xml-source/en/help-en.xml">
|
---|
137 | <arg value="compiled/gsdl-manuals/manuals/processing/gen-gli-help-to-manual-chapter.xsl" />
|
---|
138 | <arg value="compiled/gli/help/en/help.xml" />
|
---|
139 | <arg value="compiled" />
|
---|
140 | </java>
|
---|
141 |
|
---|
142 | <chmod perm="a+x" file="compiled/gsdl-manuals/shared/fop/fop.sh"/>
|
---|
143 | <echo>Run generate-pdf script</echo>
|
---|
144 | <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
|
---|
145 | <exec dir="compiled/gsdl-manuals/manuals" executable="cmd">
|
---|
146 | <arg value="/C" />
|
---|
147 | <arg file="${basedir}/compiled/gsdl-manuals/manuals/generate-pdf.bat" />
|
---|
148 | <arg value="u" />
|
---|
149 | <arg value="en" />
|
---|
150 | </exec>
|
---|
151 | <else>
|
---|
152 | <exec dir="compiled/gsdl-manuals/manuals" executable="/bin/bash">
|
---|
153 | <arg line="generate-pdf.sh u en" />
|
---|
154 | </exec>
|
---|
155 | </else></if>
|
---|
156 | </target>
|
---|
157 |
|
---|
158 | <target name="clean">
|
---|
159 | <antcall target="clean-compiled"/>
|
---|
160 | <antcall target="clean-distributions"/>
|
---|
161 | <antcall target="clean-components"/>
|
---|
162 | <antcall target="clean-installer"/>
|
---|
163 | <antcall target="clean-wrapped-installer"/>
|
---|
164 | </target>
|
---|
165 |
|
---|
166 | <target name="clean-compiled">
|
---|
167 | <delete dir="compiled"/>
|
---|
168 | </target>
|
---|
169 |
|
---|
170 | <target name="clean-distribution">
|
---|
171 | <delete dir="distributions"/>
|
---|
172 | </target>
|
---|
173 |
|
---|
174 | <target name="clean-components">
|
---|
175 | <delete dir="components"/>
|
---|
176 | </target>
|
---|
177 |
|
---|
178 | <target name="clean-installer">
|
---|
179 | <delete dir="installer"/>
|
---|
180 | </target>
|
---|
181 |
|
---|
182 | <target name="clean-wrapped-installer">
|
---|
183 | <delete dir="wrapped-installer"/>
|
---|
184 | </target>
|
---|
185 |
|
---|
186 | <target name="copy-greenstone3-installer-files">
|
---|
187 |
|
---|
188 | <!-- the installer descriptors -->
|
---|
189 | <copy todir="installer" file="${rk.home}/greenstone3/installer/antinstall-config.xml" overwrite="true"/>
|
---|
190 | <copy todir="installer" file="${rk.home}/greenstone3/installer/build.xml" overwrite="true"/>
|
---|
191 |
|
---|
192 | </target>
|
---|
193 |
|
---|
194 | <target name="clean-user-manual">
|
---|
195 | <copy file="distributions/web/gsdl-manuals/manuals/build/en/pdf/User_en.pdf" tofile="distributions/web/docs/manual/gs2_user_en.pdf"/>
|
---|
196 | <delete dir="distributions/web/gsdl-manuals"/>
|
---|
197 | </target>
|
---|
198 |
|
---|
199 | <target name="clean-uninstaller">
|
---|
200 | <delete dir="distributions/web/uninstaller"/>
|
---|
201 | </target>
|
---|
202 |
|
---|
203 |
|
---|
204 | <!-- prepare the component named in ${component} -->
|
---|
205 | <target name="prepare-component">
|
---|
206 | <mkdir dir="components"/>
|
---|
207 | <zip destfile="components/${component}.comp" compress="false">
|
---|
208 | <zipfileset dir="distributions/web">
|
---|
209 | <patternset refid="greenstone3.${component}.component"/>
|
---|
210 | </zipfileset>
|
---|
211 | </zip>
|
---|
212 | </target>
|
---|
213 |
|
---|
214 | <target name="compress-component">
|
---|
215 | <!-- windows -->
|
---|
216 | <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
|
---|
217 | <exec executable="${rk.home}/windows/7za/7za.exe" dir="components"><arg line="a -t7z -mx=9 ${component}.lzma ${component}.comp"/></exec>
|
---|
218 |
|
---|
219 | <!-- linux, mac -->
|
---|
220 | <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
|
---|
221 | <sevenzip task="encode" input="components/${component}.comp" output="components/${component}.lzma" dictionnary="26"/>
|
---|
222 |
|
---|
223 | <!-- else warn -->
|
---|
224 | <else>
|
---|
225 | <fail>this target does not support this os (was a new release-kit os added?)</fail>
|
---|
226 |
|
---|
227 | </else></if></else></if>
|
---|
228 | </target>
|
---|
229 |
|
---|
230 | <target name="greenstone3-compile">
|
---|
231 | <antcall target="checkout-greenstone3" />
|
---|
232 | <antcall target="greenstone3-set-version-numbers"><param name="greenstone3basedir" value="compiled"/></antcall>
|
---|
233 | <ant dir="compiled" inheritAll="false">
|
---|
234 | <target name="prepare"/>
|
---|
235 | <propertyset refid="forward.properties"/>
|
---|
236 | </ant>
|
---|
237 | <antcall target="gli-set-version-numbers"><param name="glibasedir" value="compiled/gli" /></antcall>
|
---|
238 | <ant dir="compiled" inheritAll="false">
|
---|
239 | <target name="install"/>
|
---|
240 | <target name="dist-tidy"/>
|
---|
241 | <propertyset refid="forward.properties"/>
|
---|
242 | </ant>
|
---|
243 | <antcall target="insert-xml-parser"/>
|
---|
244 | <antcall target="insert-ant"/>
|
---|
245 | <antcall target="insert-documented-examples"/>
|
---|
246 | <antcall target="compile-uninstaller" /> <!-- from rk3-targets -->
|
---|
247 | <antcall target="prepare-documentation"/> <!-- from rk3-targets -->
|
---|
248 | </target>
|
---|
249 |
|
---|
250 | <target name="greenstone3-create-distribution">
|
---|
251 | <!-- create distribution -->
|
---|
252 | <antcall target="copy-compiled-to-dist"/> <!-- from init -->
|
---|
253 | <antcall target="insert-uninstaller"/>
|
---|
254 | <antcall target="clean-user-manual"/>
|
---|
255 | <antcall target="clean-uninstaller"/>
|
---|
256 | <antcall target="strip-svn-dirs"><param name="dir" value="distributions"/></antcall> <!-- from init -->
|
---|
257 | </target>
|
---|
258 |
|
---|
259 |
|
---|
260 | </project>
|
---|