# Prerequisites to using the Release Kit code base * Java JDK (min v1.6, typically v1.8 used, known to work with v1.11) * Apache ant (min 1.8.2) * C/C++ compiler (e.g., g++ for Linux, Microsoft Visual Studio for Windows, XCode for Mac) * Subversion (min v1.8) Under Linux (to be confirmed why it is needed) * Set the LANG environment variable to use UTF-8, e.g., export LANG=en_NZ.UTF-8 One quick way to get going with these prerequisites is to checkout the 'local' folder that corresponds to the OS and version Greenstone you are looking to use the Release Kit on. For example: svn co https://svn.greenstone.org/local/greenstone3/windows-64bit gs3-local-windows64 Then refer to the README.txt in the checked-out directory for further details. ## # Getting Ready to use the Release Kit It used to be that you needed to compile up the Release Kit to use the custom Ant Tasks it relied on. However as the source code is 100% Java, JDK8 compile up jars have been produced and committed, so it now can be used immediately after an svn checkout. It also used to be left to the developer to set their environment to the Release Kit scripts in /bin were found. This is now take care of by: . ./rk-setup.bash (Unix) or rk-setup.bat (Windows) For compilation of JNI code in Greenstone3 to be able to locate the necessary header files (e.g., jni.h), JAVA_HOME needs to be set. For example (on Ubuntu-16 32-bit): export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386 or (on Ubuntu-20 64-bit): export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 To create a release, for example Greenstone 3 v3.11rc: mkdir releases cd releases # In the following the redirect character (>) is hard up against the version number # to avoid a space occuring at end of echo of the line output to the property file echo version:3.11rc> rk3-build.properties For a Linux 64-bit build, add in: echo x64:true>> rk3-build.properties The kick off the whole process with: rk3 The end result is an installer for Greenstone in: products ## # Updating the Java source code to the Release Kit code base In the event any changes are made the custom Java based tasks the Release Kit provides, then the sequence to regenerate the compiled jar files is: . ./gs3-setup.bash ant compile svn commit -m "" \ shared/core/ant-tasks/greenstone/anttasks.jar \ shared/core/ant-installer/lib/ant-installer.jar \ shared/core/ant-installer/lib/ant-installer-ext.jar ==== # More detailed notes in general about the Release Kit code at: http://wiki.greenstone.org/doku.php?id=en:developer:release_kits and http://wiki.greenstone.org/doku.php?id=internal:release_kits