CHECKING PRE-CONDITIONS Checking if version number is set... No, not set Please specify a version number E.g., ant -Dversion=3.03 -Dversion.minor=03 create-release or, ant -Dversion=trunk -Dversion.minor=03 create-release Version number not set Version number: ${version} Determining where to put the release... No release directory specified. Please specify release directory on the command line. E.g., ant -Drelease.dir=/research/me/releases/3.03 -Dmac.release.dir=/Users/me/releases/3.03 -Dwindows.release.dir=c:\research\me\releases\3.03 create-release Release directorys not set Release directory: ${release.dir} Mac release directory: ${mac.release.dir} Windows release directory: ${windows.release.dir} Checking if we are resuming from a given target... No, start from the beginning Yes, resuming from ${resume.from} Determining resume mode... Mode not set, defaulting to 'fallthrough' Mode set to ${resume.mode} You have not specified a valid resume mode. Valid modes are 'fallthrough' and 'descend'. You have not specified a valid resume mode. Checking if username and password set... Not set You have not specified a username for ssh Determining execute mode... Execute not set, defaulting to 'true' Execute set to ${execute} You have not specified a valid value for execute. Valid values are 'true' and 'false'. You have not specified a valid value for execute. Determining the branch path... Branch Path: ${branch.path} Checking that ${svn.greenstone3} exists... No, it does not exist Yes, it exists Checking that ${svn.gsdl} exists... No, it does not exist Yes, it exists Checking that ${svn.gli} exists... No, does not exist Yes, it exists Checking that ${svn.indexers} exists... No, it does not exist Yes, it exists Checking that ${svn.documentation} exists... No, it does not exist Yes, it exists Some branches do not exist, or you are unable to access them from where you are. Please review the list above and create any branches that are missing, or run this script from somewhere with access to the repository. All exist Usage: ant -Dversion=VERSION_NUMBER -Drelease.dir=RELEASE_DIR -Dusername=USERNAME -Dpassword=PASSWORD -Dmac.release.dir=OUTPUT_DIRECTORY [-Dresume.from=TARGET_ADDRESS] [-Dresume.mode=MODE] create-release This project creates releases of Greenstone3 from the subversion repository given a version number. Each target in this project's target tree has been given an address, like so: root |-1 | |-1.1 | |-1.2 | |-2 | |-2.1 | |-2.2 etc. PARAMETERS Parameters are specifiable on the command line or in build.properties Parameters which remain static throughout the release process should be stores in build.properties: version, version.minor, release.dir, mac.release.dir, windows.release.dir, username Other parameters will change each time you invoke the script, specify them on the command line: resume.from, resume.mode version=VERSION_NUMBER, where VERSION_NUMBER={x.xx|trunk} This project can either create a release from a greenstone3 branch, or from the development trunk. To create a branch release, specify the VERSION_NUMBER (e.g., 3.03), and ensure that the following branches exist in the repository: greenstone3/branches/VERSION_NUMBER gli/branches/VERSION_NUMBER indexers/branches/VERSION_NUMBER documentation/branches/VERSION_NUMBER To create a trunk release, specify 'trunk' as the version number. The project will use the trunk of greenstone3, gli, indexers and documentation for the release. release.dir=RELEASE_DIRECTORY Specifies the directory in the filesystem where the release files will be kept. resume.from=TARGET_ADDRESS, where TARGET_ADDRESS=x.y.z (e.g., 2.1.3) Allows you to specify a target address from which execution will resume. This is helpful for restarting the script after it has failed part-way through. By default, execution starts from the root target (create-release) and proceeds downwards. You can specify a different target to start from by setting the resume.from parameter. resume.mode=RESUME_MODE, where RESUME_MODE={fallthrough|descend} fallthrough (default): In fallthrough mode, execution proceeds downwards through the target tree 1 -> 1.1 -> 1.2 -> 2 -> 2.1 -> 2.2 -> 3 -> 3.1 and so on. descend: In descend mode, execution descends a single branch of the target tree. For example, if resume.from was set to '2', execution would proceed thus: 2 -> 2.1 -> 2.2 (exit) This is helpful when you want to debug a particular target, or fix some conditions to allow it to finish properly, and don't want to run the whole script from the start. release.dir, mac.release.dir, windows.release.dir The full path to the directories where release files will be stored on linux(your machine), mac(shuttle) and windows(kohekohe). E.g., -Drelease.dir=/research/oranfry/releases/3.03 E.g., -Dmac.release.dir=/Users/oranfry/releases/3.03 E.g., -Dwindows.release.dir=c:\\research\\oranfry\\releases\\3.03 username Your username for ssh from your machine to shuttle and kohekohe. You will be prompted for your password a number of times while the script executes. Creating Release '${version}' The windows compilation stage still has to be done manually. Please go to the kohekohe machine and follow the instructions found at: http://wesson.cs.waikato.ac.nz:7070/wiki/index.php/Creating_A_GS3_Release#Windows Do the 'Preparation' and 'Update and Build' sections Then copy (scp): Windows:greenstone3/lib/jni/* to Linux:${release.dir}/other-platforms/win-lib-jni Windows:greenstone3/gs2build/bin/windows/* to Linux:${release.dir}/other-platforms/win-gs2build-bin-windows Type 'done' when you have finished. create release directory, if absent checkout greenstone3 setting gdbm installed path stage 1 setting gdbm installed path stage 2 tweak ${mac.release.dir}/greenstone3/gs2build/src/db2txt/Makefile tweak ${mac.release.dir}/greenstone3/gs2build/src/txt2db/Makefile tweak ${mac.release.dir}/greenstone3/src/packages/javagdbm/jni/Makefile mac: ant build-unix please set the branch.path, e.g., -Dbranch.path=branches/3.03