ReleaseKits:LiRK3

Before reading this document, read the general info about the ReleaseKits.

= The Target Tree = The target tree for LiRK3 looks like this:

1 compile: 1.1 checkout-greenstone3: 1.2 set-version-number-property: 1.3 dist-prepare-unix: 1.4 tweak-configure-scripts: 1.4.1 mgpp-add-static: 1.4.2 mg-add-static: 1.4.3 gs2buildextra-add-static: 1.5 dist-update-unix: 1.6 dist-configure-unix: 1.7 tweak-makefiles: 1.7.1 wv-add-static: 1.7.2 xlhtml-add-static: 1.7.3 ppthtml-add-static: 1.7.4 rtftohtml-add-static: 1.7.5 gdbm-add-static: 1.8 dist-build-unix: 1.9 fix-wget: 1.10 linux-strip-execs: 1.11 prepare-documentation: 2 create-distribution: 2.1 export-greenstone3: 2.2 dist-set-version-number-property: 2.3 create-distributions-1: 2.4 create-distributions-2: 2.5 create-distributions-3: 2.6 copy-over-build-xml: 2.7 insert-user-manual: 2.8 insert-compiled-binaries: 3 create-installer: 4 wrap: 4.1 setup-for-wrapping: 4.2 compile-wrapper: 4.3 clean-up-after-wrapping:

This is a high-level overview of the tree. 1 compile: 2 create-distribution: 3 create-installer: 4 wrap:

compile
This target compiles the native binary executables and the documentation for the release. It checks out the Greenstone3 source code from the repository into a folder called greenstone3. It then compiles it by running ant, and automatically editing files and so on. It basically simulates what an svn user would do to compile Greenstone3 but with a few small differences. For example, it compiles everything statically.

When running ant, this target uses a special build script which is part of the LiRK3 program, called operations-on gs3home.xml, which replaces dist-resources/build.xml.

create-distribution
This target compiles all the java classes used in Greenstone3, and creates a clean Greenstone3 directory structure which holds the compiled java classes and the compiled binaries and documentation from the previous step. It exports the Greenstone3 source code to distribution/greenstone3. It then compiles all the java classes, including those for GLI and the indexers, by running ant, using the special operations-on gs3home.xml script. Finally, it copies the compiled binary executables and documentation from greenstone3</tt> to the appropriate places in distribution/greenstone3</tt>.

create-installer
This target creates an executable jar installer for Greenstone3, and puts it in a directory called installer</tt>. It uses the files in distribution/greenstone3</tt>. It uses the ant-installer</tt> package included with the release kit.

wrap
This target wraps the executable jar installer in a native linux executable, and puts it in a directory called wrapped-installer</tt>. In the future it will also create another copy with a bundled JVM.