[13306] | 1 | <?xml version="1.0"?>
|
---|
| 2 |
|
---|
| 3 | <!-- ======================================================================
|
---|
| 4 | March 2005
|
---|
| 5 |
|
---|
| 6 | Greenstone3 build and install script
|
---|
| 7 |
|
---|
| 8 | kjdon
|
---|
| 9 | ====================================================================== -->
|
---|
| 10 | <project name="greenstone3-distribution" default="usage" basedir="..">
|
---|
| 11 |
|
---|
| 12 | <!-- include standard build file -->
|
---|
| 13 | <import file="../build.xml"/>
|
---|
| 14 |
|
---|
[13311] | 15 | <property name="documented.collections.home" value="/home/nzdl/for-distributions/collect"/>
|
---|
[13306] | 16 | <!-- ====================== DISTRIBUTION Targets ========================= -->
|
---|
| 17 |
|
---|
| 18 | <!-- these two, do we need tomcat and axis for compilation??-->
|
---|
| 19 | <!-- Create the binaries for windows distribution -->
|
---|
| 20 | <target name="prepare-windows" depends="init">
|
---|
[13403] | 21 | <cvs command="checkout -P" package="gs2build" />
|
---|
[13306] | 22 | <antcall target="unzip-windows-packages"/>
|
---|
| 23 | <antcall target="checkout-winbin"/>
|
---|
[13400] | 24 | <antcall target="get-perl-for-windows"/>
|
---|
| 25 | </target>
|
---|
| 26 |
|
---|
| 27 | <target name="build-windows" depends="init">
|
---|
| 28 | <antcall target="cvsupdate-distribution"/>
|
---|
[13403] | 29 | <cvs command="update -dP" package="winbin" />
|
---|
[13306] | 30 | <antcall target="get-windows-binaries"/>
|
---|
| 31 | <antcall target="rename-gs2build-files-windows"/>
|
---|
[13855] | 32 | <antcall target="compile-gs2build"/>
|
---|
[13306] | 33 | <antcall target="compile-packages"/>
|
---|
| 34 | </target>
|
---|
[13400] | 35 |
|
---|
| 36 | <!-- Create the binaries for Unix/Mac distributions -->
|
---|
| 37 | <target name="prepare-unix" depends="init">
|
---|
[13403] | 38 | <cvs command="checkout -P" package="gs2build"/>
|
---|
[13400] | 39 | </target>
|
---|
| 40 |
|
---|
| 41 | <target name="update-unix" depends="init">
|
---|
| 42 | <antcall target="cvsupdate-distribution"/>
|
---|
[13306] | 43 | <antcall target="rename-gs2build-files-unix"/>
|
---|
| 44 | <antcall target="delete-windows-files"/>
|
---|
| 45 | </target>
|
---|
| 46 |
|
---|
[13400] | 47 | <target name="configure-unix" depends="init">
|
---|
[13306] | 48 | <antcall target="configure-c++"/>
|
---|
[13400] | 49 | </target>
|
---|
| 50 | <target name="build-unix" depends="init">
|
---|
[13306] | 51 | <antcall target="compile-packages"/>
|
---|
| 52 | <antcall target="compile-gs2build"/>
|
---|
| 53 | </target>
|
---|
[13400] | 54 |
|
---|
[13306] | 55 | <!-- creates the base distribution. Needs binaries copied in to it from other
|
---|
[13400] | 56 | greenstones (prepare-os targets) -->
|
---|
[13373] | 57 | <target name="create-distribution-1" depends="init" description="do all the initial downloading and setting up">
|
---|
[13403] | 58 | <cvs command="export -D '1 second ago'" package="gs2build"/>
|
---|
| 59 | <cvs command="export -D '1 second ago'" package="gli"/>
|
---|
[13306] | 60 | <delete file="${gli.home}/gli.bat"/>
|
---|
| 61 | <delete file="${gli.home}/gli.sh"/>
|
---|
[13812] | 62 | <delete file="${gli.home}/gems.bat"/>
|
---|
| 63 | <delete file="${gli.home}/gems.sh"/>
|
---|
[13373] | 64 | <antcall target="rename-gs2build-files-dist"/>
|
---|
[13306] | 65 | <delete dir="${gs2build-extra.home}"/>
|
---|
[13373] | 66 |
|
---|
| 67 | <!--<antcall target="unzip-windows-packages"/> do we need this?-->
|
---|
| 68 | <antcall target="download-tomcat"/>
|
---|
[13306] | 69 | <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
|
---|
| 70 | <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
|
---|
| 71 | <antcall target="prepare-axis"/>
|
---|
| 72 | <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
|
---|
| 73 | <!-- delete old axis dir -->
|
---|
| 74 | <delete dir="${packages.home}/axis"/>
|
---|
[13373] | 75 | <mkdir dir="${web.home}/applet"/>
|
---|
| 76 | <mkdir dir="${web.home}/logs"/>
|
---|
[13848] | 77 | <antcall target="prepare-ant"/>
|
---|
| 78 | <delete file="${packages.home}/apache-ant-1.7.0-bin.zip"/>
|
---|
[13306] | 79 | <antcall target="prepare-collections"/>
|
---|
[13400] | 80 |
|
---|
| 81 | <!-- get good XML-Parser - does this work? -->
|
---|
| 82 | <antcall target="get-xml-parser"/>
|
---|
[13373] | 83 | <!-- documented collections -->
|
---|
| 84 | <antcall target="get-documented-collections"/>
|
---|
[13306] | 85 |
|
---|
[13373] | 86 | <delete file="${basedir}/README-CVS.txt"/>
|
---|
| 87 | <delete file="${basedir}/TODO.txt"/>
|
---|
| 88 |
|
---|
| 89 | <!-- make the extra directories needed for a release -->
|
---|
| 90 | <mkdir dir="${basedir}/Linux/lib/jni"/>
|
---|
| 91 | <mkdir dir="${basedir}/Darwin/lib/jni"/>
|
---|
| 92 | <mkdir dir="${basedir}/Windows/lib/jni"/>
|
---|
| 93 | <mkdir dir="${gs2build.home}/Unix/bin/linux"/>
|
---|
| 94 | <mkdir dir="${gs2build.home}/Unix/bin/darwin"/>
|
---|
| 95 | <mkdir dir="${gs2build.home}/Windows/bin/windows"/>
|
---|
| 96 | <mkdir dir="${gs2build.home}/source/Windows"/>
|
---|
| 97 | <mkdir dir="${gs2build.home}/source/Unix"/>
|
---|
| 98 |
|
---|
| 99 | </target>
|
---|
| 100 |
|
---|
| 101 | <target name="create-distribution-2" description="do all the compilation">
|
---|
[13306] | 102 | <!-- compile the java stuff -->
|
---|
| 103 | <antcall target="compile-web"/>
|
---|
[13793] | 104 | <antcall target="configure-packages-and-indexers"/>
|
---|
| 105 | <antcall target="compile-packages-and-indexers-javaonly"/>
|
---|
[13501] | 106 | <antcall target="distclean-packages"/>
|
---|
[13306] | 107 | <antcall target="compile-core"/>
|
---|
[13373] | 108 | <antcall target="compile-gli"/>
|
---|
[13306] | 109 | </target>
|
---|
| 110 |
|
---|
[13373] | 111 | <target name="create-distribution-3" depends="init" description="Do the rearranging of source code etc">
|
---|
[13306] | 112 |
|
---|
| 113 | <!-- move top-level os dependent files -->
|
---|
[13807] | 114 | <copy todir="${basedir}/Linux">
|
---|
[13306] | 115 | <fileset dir="${basedir}">
|
---|
| 116 | <include name="*.sh"/>
|
---|
| 117 | </fileset>
|
---|
| 118 | </copy>
|
---|
[13807] | 119 | <chmod dir="${basedir}/Linux" perm="ugo+rx"
|
---|
| 120 | includes="*.sh"/>
|
---|
| 121 | <move todir="${basedir}/Darwin">
|
---|
[13306] | 122 | <fileset dir="${basedir}">
|
---|
| 123 | <include name="*.sh"/>
|
---|
| 124 | </fileset>
|
---|
| 125 | </move>
|
---|
[13807] | 126 | <chmod dir="${basedir}/Darwin" perm="ugo+rx"
|
---|
| 127 | includes="*.sh"/>
|
---|
| 128 | <move todir="${basedir}/Windows">
|
---|
[13306] | 129 | <fileset dir="${basedir}">
|
---|
| 130 | <include name="*.bat"/>
|
---|
| 131 | </fileset>
|
---|
| 132 | </move>
|
---|
| 133 |
|
---|
| 134 | <!-- rearrange collection building stuff -->
|
---|
| 135 | <move file="${gs2build.home}/win32.mak" tofile="${gs2build.home}/source/Windows/win32.mak"/>
|
---|
| 136 | <move file="${gs2build.home}/setup.bat" tofile="${gs2build.home}/source/Windows/setup.bat"/>
|
---|
| 137 | <move file="${gs2build.home}/WIN32cfg.h" tofile="${gs2build.home}/source/Windows/WIN32cfg.h"/>
|
---|
| 138 | <move todir="${gs2build.home}/source/Unix/">
|
---|
| 139 | <fileset dir="${gs2build.home}">
|
---|
| 140 | <include name="config*"/>
|
---|
| 141 | <include name="ac*"/>
|
---|
| 142 | <include name="install-sh"/>
|
---|
| 143 | <include name="setup.bash"/>
|
---|
| 144 | <include name="Makefile.in"/>
|
---|
| 145 | </fileset>
|
---|
| 146 | </move>
|
---|
| 147 | <!-- general source files -->
|
---|
| 148 | <move todir="${gs2build.home}/source/src" failonerror="false">
|
---|
| 149 | <fileset dir="${gs2build.home}/src" defaultexcludes="no"/>
|
---|
| 150 | </move>
|
---|
| 151 | <move todir="${gs2build.home}/source/lib" failonerror="false">
|
---|
| 152 | <fileset dir="${gs2build.home}/lib" defaultexcludes="no"/>
|
---|
| 153 | </move>
|
---|
| 154 | <move todir="${gs2build.home}/source/packages" failonerror="false">
|
---|
| 155 | <fileset dir="${gs2build.home}/packages" defaultexcludes="no"/>
|
---|
| 156 | </move>
|
---|
[13807] | 157 | <move todir="${gs2build.home}/source/indexers" failonerror="false">
|
---|
| 158 | <fileset dir="${gs2build.home}/indexers" defaultexcludes="no"/>
|
---|
| 159 | </move>
|
---|
[13306] | 160 |
|
---|
[13378] | 161 | <!-- generate modified build.xml file -->
|
---|
| 162 | <antcall target="run-xslt-binary"/>
|
---|
[13311] | 163 |
|
---|
[13306] | 164 | <!-- clean up -->
|
---|
| 165 | <delete dir="${basedir}/build"/>
|
---|
[13311] | 166 | <delete dir="${basedir}/lib/jni"/>
|
---|
[13306] | 167 | </target>
|
---|
| 168 |
|
---|
| 169 |
|
---|
[13373] | 170 | <target name="create-source-distribution" depends="init">
|
---|
[13403] | 171 | <cvs command="export -D '1 second ago'" package="gs2build"/>
|
---|
| 172 | <cvs command="export -D '1 second ago'" package="gli"/>
|
---|
[13306] | 173 | <delete file="${gli.home}/gli.bat"/>
|
---|
| 174 | <delete file="${gli.home}/gli.sh"/>
|
---|
[13373] | 175 | <antcall target="rename-gs2build-files-dist"/>
|
---|
| 176 | <delete dir="${gs2build-extra.home}"/>
|
---|
| 177 | <antcall target="download-tomcat"/>
|
---|
| 178 | <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
|
---|
| 179 | <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
|
---|
| 180 |
|
---|
[13306] | 181 | <antcall target="prepare-collections"/>
|
---|
| 182 | <antcall target="prepare-axis"/>
|
---|
| 183 | <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
|
---|
| 184 | <!-- delete old axis dir -->
|
---|
| 185 | <delete dir="${packages.home}/axis"/>
|
---|
[13378] | 186 | <mkdir dir="${web.home}/applet"/>
|
---|
| 187 | <mkdir dir="${web.home}/logs"/>
|
---|
| 188 |
|
---|
[13306] | 189 | <!-- download the mac XML parser just in case: it will only be unpacked if on a mac -->
|
---|
| 190 | <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz"
|
---|
| 191 | dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
|
---|
| 192 | usetimestamp="true"/>
|
---|
[13378] | 193 |
|
---|
| 194 | <!-- generate modified build.xml file -->
|
---|
| 195 | <antcall target="run-xslt-source"/>
|
---|
[13373] | 196 | <!--<delete dir="${basedir}/dist-resources"/>-->
|
---|
[13378] | 197 |
|
---|
[13306] | 198 | </target>
|
---|
| 199 |
|
---|
[13400] | 200 | <!-- Supplementary targets -->
|
---|
| 201 |
|
---|
| 202 | <target name="cvsupdate-distribution" depends="init">
|
---|
| 203 | <antcall target="cvsupdate-packages"/>
|
---|
| 204 | <antcall target="cvsupdate-core"/>
|
---|
| 205 | <antcall target="cvsupdate-gs2build"/>
|
---|
| 206 | <antcall target="cvsupdate-web"/>
|
---|
| 207 | </target>
|
---|
| 208 |
|
---|
[13378] | 209 | <target name="run-xslt-source" depends="init">
|
---|
| 210 | <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml-source.xsl"/>
|
---|
[13373] | 211 | </target>
|
---|
[13378] | 212 |
|
---|
| 213 | <target name="run-xslt-binary" depends="init">
|
---|
| 214 | <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml.xsl"/>
|
---|
| 215 | </target>
|
---|
| 216 |
|
---|
[13373] | 217 | <target name="rename-gs2build-files-dist" depends="init,rename-gs2build-files-unix">
|
---|
| 218 | <copy file="${gs2build-extra.home}/lib.win32.mak" tofile="${gs2build.home}/lib/win32.mak"/>
|
---|
| 219 | <copy file="${gs2build-extra.home}/win32.mak" tofile="${gs2build.home}/win32.mak"/>
|
---|
| 220 | <copy file="${gs2build-extra.home}/setup.bat" tofile="${gs2build.home}/setup.bat"/>
|
---|
| 221 | </target>
|
---|
| 222 |
|
---|
[13793] | 223 | <target name="configure-packages-and-indexers" depends="init">
|
---|
| 224 | <exec executable="${indexers.home}/configure"
|
---|
| 225 | dir="${indexers.home}">
|
---|
| 226 | <arg value="--prefix=${basedir}"/>
|
---|
| 227 | <arg value="--libdir=${lib.jni}"/>
|
---|
| 228 | </exec>
|
---|
| 229 | <exec executable="${javagdbm.home}/configure"
|
---|
| 230 | dir="${javagdbm.home}">
|
---|
| 231 | <arg value="--prefix=${basedir}"/>
|
---|
| 232 | <arg value="--libdir=${lib.jni}"/>
|
---|
| 233 | </exec>
|
---|
| 234 |
|
---|
| 235 | </target>
|
---|
| 236 | <target name="compile-packages-and-indexers-javaonly" depends="init">
|
---|
[13787] | 237 | <echo>Compiling Indexers</echo>
|
---|
[13501] | 238 | <exec executable="make" os="${os.unix}"
|
---|
[13787] | 239 | dir="${indexers.home}">
|
---|
[13501] | 240 | <arg value="javaonly"/>
|
---|
| 241 | </exec>
|
---|
| 242 | <exec executable="make" os="${os.unix}"
|
---|
[13787] | 243 | dir="${indexers.home}">
|
---|
| 244 | <arg value="install-javaonly"/>
|
---|
[13501] | 245 | </exec>
|
---|
[13787] | 246 | <!-- install the jar files -->
|
---|
[13501] | 247 | <copy file="${mg.home}/mg.jar" todir="${lib.jni}"/>
|
---|
| 248 | <copy file="${mgpp.home}/mgpp.jar" todir="${lib.jni}"/>
|
---|
[13787] | 249 | <copy file="${lucene.home}/LuceneWrapper.jar" todir="${web.lib}"/>
|
---|
[13501] | 250 |
|
---|
| 251 | <!-- javagdbm -->
|
---|
| 252 | <exec executable="make" os="${os.unix}"
|
---|
| 253 | dir="${javagdbm.home}">
|
---|
| 254 | <arg value="javaonly"/>
|
---|
| 255 | </exec>
|
---|
| 256 | <exec executable="make" os="${os.unix}"
|
---|
| 257 | dir="${javagdbm.home}">
|
---|
| 258 | <arg value="installjava"/>
|
---|
| 259 | </exec>
|
---|
| 260 | <!-- install the jar file -->
|
---|
| 261 | <copy file="${javagdbm.home}/javagdbm.jar" todir="${lib.jni}"/>
|
---|
| 262 |
|
---|
| 263 | </target>
|
---|
| 264 |
|
---|
[13306] | 265 | <target name="delete-windows-files" depends="init" unless="current.os.iswindows">
|
---|
| 266 | <delete dir="${basedir}/winutil"/>
|
---|
| 267 | <delete>
|
---|
| 268 | <fileset dir="${lib.jni}" includes="*.dll"/>
|
---|
| 269 | </delete>
|
---|
| 270 | </target>
|
---|
| 271 |
|
---|
[13667] | 272 | <target name="get-perl-for-windows" depends="init" if="current.os.iswindows">
|
---|
[13800] | 273 | <mkdir dir="${gs2build.home}/bin/windows"/>
|
---|
[13306] | 274 | <get src="http://www.greenstone.org/gs3files/perl-for-windows.zip"
|
---|
| 275 | dest="${gs2build.home}/bin/windows/perl-for-windows.zip"
|
---|
| 276 | usetimestamp="true"/>
|
---|
| 277 | <unzip src="${gs2build.home}/bin/windows/perl-for-windows.zip"
|
---|
| 278 | dest="${gs2build.home}/bin/windows"/>
|
---|
| 279 | <delete file="${gs2build.home}/bin/windows/perl-for-windows.zip"/>
|
---|
| 280 | </target>
|
---|
| 281 |
|
---|
[13787] | 282 | <target name="distclean-packages" depends="init">
|
---|
| 283 | <!-- indexers : just call the make target -->
|
---|
[13306] | 284 | <exec executable="make" os="${os.unix}"
|
---|
[13787] | 285 | dir="${indexers.home}">
|
---|
[13306] | 286 | <arg value="distclean"/>
|
---|
| 287 | </exec>
|
---|
| 288 | <!-- javagdbm -->
|
---|
| 289 | <exec executable="make" os="${os.unix}"
|
---|
| 290 | dir="${javagdbm.home}">
|
---|
| 291 | <arg value="distclean"/>
|
---|
| 292 | </exec>
|
---|
| 293 | </target>
|
---|
| 294 |
|
---|
[13311] | 295 | <!-- copy the doc eg colls from /home/nzdl - note we don't include the formatting ones -->
|
---|
| 296 | <target name="get-documented-collections" depends="init">
|
---|
| 297 | <property name="collect.home" value="${basedir}/web/sites/localsite/collect"/>
|
---|
| 298 | <copy todir="${collect.home}/MARC-e">
|
---|
| 299 | <fileset dir="${documented.collections.home}/MARC-e"/>
|
---|
| 300 | </copy>
|
---|
| 301 | <copy todir="${collect.home}/cltbib-e">
|
---|
| 302 | <fileset dir="${documented.collections.home}/cltbib-e"/>
|
---|
| 303 | </copy>
|
---|
| 304 | <copy todir="${collect.home}/dls-e">
|
---|
| 305 | <fileset dir="${documented.collections.home}/dls-e"/>
|
---|
| 306 | </copy>
|
---|
| 307 | <copy todir="${collect.home}/dspace-e">
|
---|
| 308 | <fileset dir="${documented.collections.home}/dspace-e"/>
|
---|
| 309 | </copy>
|
---|
| 310 | <copy todir="${collect.home}/gsarch-e">
|
---|
| 311 | <fileset dir="${documented.collections.home}/gsarch-e"/>
|
---|
| 312 | </copy>
|
---|
[13504] | 313 | <copy todir="${collect.home}/isis-e">
|
---|
[13311] | 314 | <fileset dir="${documented.collections.home}/isis-e"/>
|
---|
| 315 | </copy>
|
---|
| 316 | <copy todir="${collect.home}/oai-e">
|
---|
| 317 | <fileset dir="${documented.collections.home}/oai-e"/>
|
---|
| 318 | </copy>
|
---|
| 319 | <copy todir="${collect.home}/pagedimg-e">
|
---|
| 320 | <fileset dir="${documented.collections.home}/pagedimg-e"/>
|
---|
| 321 | </copy>
|
---|
| 322 | <copy todir="${collect.home}/wrdpdf-e">
|
---|
| 323 | <fileset dir="${documented.collections.home}/wrdpdf-e"/>
|
---|
| 324 | </copy>
|
---|
| 325 | </target>
|
---|
| 326 |
|
---|
[13400] | 327 | <target name="get-xml-parser" depends="init">
|
---|
| 328 | <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz"
|
---|
| 329 | dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
|
---|
| 330 | usetimestamp="true"/>
|
---|
| 331 | <untar src="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
|
---|
| 332 | dest="${gs2build.home}/perllib/cpan/"
|
---|
| 333 | compression="gzip"/>
|
---|
| 334 | <delete file="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"/>
|
---|
| 335 | </target>
|
---|
| 336 |
|
---|
[13378] | 337 | <!-- new targets to go in distribution build.xml files -->
|
---|
| 338 |
|
---|
| 339 | <!-- new usage target for binary release -->
|
---|
| 340 | <target name="usage-for-binary-dist" description="Print a help message">
|
---|
| 341 | <echo message=" Execute 'ant -projecthelp' for a list of targets."/>
|
---|
| 342 | <echo message=" Execute 'ant -help' for Ant help."/>
|
---|
| 343 | </target>
|
---|
| 344 |
|
---|
| 345 |
|
---|
| 346 | <!-- new install target for source distribution -->
|
---|
| 347 | <target name="install-for-source-dist" depends="init" description="install the source distribution. Includes configuring and compiling">
|
---|
| 348 | <antcall target="unzip-windows-packages"/>
|
---|
[13815] | 349 | <!-- do the java version dependent stuff -->
|
---|
[13816] | 350 | <antcall target="configure-java-version"/>
|
---|
[13378] | 351 | <antcall target="install-macos-extra"/>
|
---|
| 352 | <!-- set gsdlhome in setup.bat -->
|
---|
| 353 | <antcall target="gs2build-edit-setup-bat"/>
|
---|
| 354 | <antcall target="configure"/>
|
---|
| 355 | <antcall target="configure-c++"/>
|
---|
| 356 | <antcall target="compile"/>
|
---|
[13500] | 357 | <!-- make sure we have execute permission for the .sh files -->
|
---|
| 358 | <chmod dir="${basedir}" perm="ugo+rx"
|
---|
| 359 | includes="*.sh"/>
|
---|
| 360 |
|
---|
[13378] | 361 | </target>
|
---|
| 362 |
|
---|
[13311] | 363 | </project>
|
---|
[13306] | 364 |
|
---|
| 365 |
|
---|