1 |
|
---|
2 | # Prerequisites to using the Release Kit code base
|
---|
3 |
|
---|
4 |
|
---|
5 | * Java JDK (min v1.6, typically v1.8 used, known to work with v1.11)
|
---|
6 | * Apache ant (min 1.8.2)
|
---|
7 | * C/C++ compiler (e.g., g++ for Linux, Microsoft Visual Studio for Windows, XCode for Mac)
|
---|
8 | * Subversion (min v1.8)
|
---|
9 |
|
---|
10 | Under Linux (to be confirmed why it is needed)
|
---|
11 |
|
---|
12 | * Set the LANG environment variable to use UTF-8, e.g., export LANG=en_NZ.UTF-8
|
---|
13 |
|
---|
14 |
|
---|
15 | One quick way to get going with these prerequisites is to checkout the 'local' folder
|
---|
16 | that corresponds to the OS and version Greenstone you are looking to use the
|
---|
17 | Release Kit on. For example:
|
---|
18 |
|
---|
19 | svn co https://svn.greenstone.org/local/greenstone3/windows-64bit gs3-local-windows64
|
---|
20 |
|
---|
21 | Then refer to the README.txt in the checked-out directory for further details.
|
---|
22 |
|
---|
23 |
|
---|
24 | ##
|
---|
25 | # Getting Ready to use the Release Kit
|
---|
26 |
|
---|
27 | It used to be that you needed to compile up the Release Kit to use the
|
---|
28 | custom Ant Tasks it relied on. However as the source code is 100%
|
---|
29 | Java, JDK8 compile up jars have been produced and committed, so it now
|
---|
30 | can be used immediately after an svn checkout.
|
---|
31 |
|
---|
32 | It also used to be left to the developer to set their environment to
|
---|
33 | the Release Kit scripts in <rkhome>/bin were found. This is now
|
---|
34 | take care of by:
|
---|
35 |
|
---|
36 | . ./rk-setup.bash (Unix)
|
---|
37 | or
|
---|
38 | rk-setup.bat (Windows)
|
---|
39 |
|
---|
40 |
|
---|
41 | For compilation of JNI code in Greenstone3 to be able to locate the
|
---|
42 | necessary header files (e.g., jni.h), JAVA_HOME needs to be set.
|
---|
43 |
|
---|
44 | For example (on Ubuntu-16 32-bit):
|
---|
45 |
|
---|
46 | export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386
|
---|
47 |
|
---|
48 | or (on Ubuntu-20 64-bit):
|
---|
49 |
|
---|
50 | export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
---|
51 |
|
---|
52 |
|
---|
53 | To create a release, for example Greenstone 3 v3.11rc:
|
---|
54 |
|
---|
55 | mkdir releases
|
---|
56 | cd releases
|
---|
57 |
|
---|
58 | # In the following the redirect character (>) is hard up against the version number
|
---|
59 | # to avoid a space occuring at end of echo of the line output to the property file
|
---|
60 |
|
---|
61 | echo version:3.11rc> rk3-build.properties
|
---|
62 |
|
---|
63 | For a Linux 64-bit build, add in:
|
---|
64 |
|
---|
65 | echo x64:true>> rk3-build.properties
|
---|
66 |
|
---|
67 |
|
---|
68 | The kick off the whole process with:
|
---|
69 |
|
---|
70 | rk3
|
---|
71 |
|
---|
72 | The end result is an installer for Greenstone in:
|
---|
73 |
|
---|
74 | products
|
---|
75 |
|
---|
76 |
|
---|
77 | ##
|
---|
78 | # Updating the Java source code to the Release Kit code base
|
---|
79 |
|
---|
80 | In the event any changes are made the custom Java based tasks the
|
---|
81 | Release Kit provides, then the sequence to regenerate the compiled
|
---|
82 | jar files is:
|
---|
83 |
|
---|
84 | . ./gs3-setup.bash
|
---|
85 |
|
---|
86 | ant compile
|
---|
87 |
|
---|
88 | svn commit -m "<message>" \
|
---|
89 | shared/core/ant-tasks/greenstone/anttasks.jar \
|
---|
90 | shared/core/ant-installer/lib/ant-installer.jar \
|
---|
91 | shared/core/ant-installer/lib/ant-installer-ext.jar
|
---|
92 |
|
---|
93 |
|
---|
94 | ====
|
---|
95 |
|
---|
96 | # More detailed notes in general about the Release Kit code at:
|
---|
97 |
|
---|
98 | http://wiki.greenstone.org/doku.php?id=en:developer:release_kits
|
---|
99 |
|
---|
100 | and
|
---|
101 |
|
---|
102 | http://wiki.greenstone.org/doku.php?id=internal:release_kits
|
---|