source: main/trunk/release-kits/kits/rk2/ant-scripts/create-cdrom-components.xml@ 22116

Last change on this file since 22116 was 22116, checked in by sjm84, 14 years ago

windows and full-windows are now correctly separated into two different tar.gz files

File size: 7.8 KB
Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk2-create-cdrom-components" default="create-cdrom-components">
3
4 <!--
5 cd components
6 produce components for cdrom distributions, to be picked up and used by cdrk2 release kit
7 split components into linux only files (linux) and general files (all)
8 -->
9
10 <target name="create-cdrom-components" depends="init,gs2-init">
11 <antcall target="compile-cdrom-installer"/> <!-- from init -->
12
13 <!-- clean up -->
14 <delete dir="cdrom"/>
15
16 <!-- setup directory structure -->
17 <mkdir dir="cdrom/build"/>
18 <mkdir dir="cdrom/dist/Software"/>
19 <mkdir dir="cdrom/dist/Java/Jars"/>
20
21 <!-- create core component -->
22 <mkdir dir="cdrom/dist/Software/core/all"/>
23 <mkdir dir="cdrom/dist/Software/core/${rk.os}"/>
24
25 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
26 <mkdir dir="cdrom/dist/Software/core/full-windows"/>
27 </if>
28
29 <!-- core linux -->
30 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
31 <unzip src="components/core.comp" dest="cdrom/dist/Software/core/all" overwrite="true"/>
32 <move todir="cdrom/dist/Software/core/linux" overwrite="true">
33 <fileset dir="cdrom/dist/Software/core/all">
34 <include name="bin/linux"/>
35 <include name="bin/linux/**/*"/>
36 <include name="bin/windows"/>
37 <include name="bin/windows/**/*"/>
38 <include name="cgi-bin/library.cgi"/>
39 <include name="cgi-bin/oaiserver.cgi"/>
40 <include name="apache-httpd/**/*"/>
41 <include name="*.sh"/>
42 <include name="*.csh"/>
43 <include name="*.bash"/>
44 </fileset>
45 </move>
46 <!-- delete the apache manual to save space -->
47 <delete dir="cdrom/dist/Software/core/linux/apache-httpd/linux/manual"/>
48
49 <!-- core windows -->
50 <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
51 <unzip src="components/core.comp" dest="cdrom/dist/Software/core/windows" overwrite="true">
52 <patternset>
53 <include name="bin/windows"/>
54 <include name="bin/windows/**/*"/>
55 <include name="server.exe"/>
56 <include name="cgi-bin/library.cgi"/>
57 <include name="cgi-bin/oaiserver.cgi"/>
58 <include name="*.bat"/>
59 <include name="gli/*.bat"/>
60 </patternset>
61 </unzip>
62
63 <unzip src="components/core.comp" dest="cdrom/dist/Software/core/full-windows" overwrite="true"/>
64
65 <!-- core mac -->
66 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
67 <unzip src="components/core.comp" dest="cdrom/dist/Software/core/mac" overwrite="true">
68 <patternset>
69 <include name="bin/darwin"/>
70 <include name="bin/darwin/**/*"/>
71 <include name="bin/windows"/>
72 <include name="bin/windows/**/*"/>
73 <include name="cgi-bin/library.cgi"/>
74 <include name="cgi-bin/oaiserver.cgi"/>
75 <include name="apache-httpd"/>
76 <include name="apache-httpd/**/*"/>
77 <include name="*.sh"/>
78 <include name="*.csh"/>
79 <include name="*.bash"/>
80 </patternset>
81 </unzip>
82 <!-- delete the httpd manual to save space -->
83 <delete dir="cdrom/dist/Software/core/mac/apache-httpd/darwin/manual"/>
84
85 </if></else></if></else></if>
86
87 <!-- imagemagick -->
88 <mkdir dir="cdrom/dist/Software/imagemagick/${rk.os}"/>
89 <unzip src="components/imagemagick.comp" dest="cdrom/dist/Software/imagemagick/${rk.os}" overwrite="true"/>
90
91 <!-- ghostscript: windows and mac only -->
92 <if><bool><or><equals arg1="${rk.os}" arg2="windows"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
93 <mkdir dir="cdrom/dist/Software/ghostscript/${rk.os}"/>
94 <unzip src="components/ghostscript.comp" dest="cdrom/dist/Software/ghostscript/${rk.os}" overwrite="true"/>
95 </if>
96
97 <!-- jre linux -->
98 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
99 <mkdir dir="cdrom/dist/Java/Linux"/>
100 <exec executable="cp">
101 <arg value="${rk.home}/shared/linux/jre_bin"/>
102 <arg value="cdrom/dist/Java/Linux"/>
103 </exec>
104 <!--
105 don't extract to save space
106 <exec dir="cdrom/dist/Java/Linux" executable="${rk.home}/shared/linux/jre_bin"/>
107 <exec dir="cdrom/dist/Java/Linux" executable="tar"><arg value="-xf"/><arg value="jre.tar"/></exec>
108 <delete file="cdrom/dist/Java/Linux/jre.tar"/>
109 -->
110
111 <!-- jre windows -->
112 <else><if><bool><or><equals arg1="${rk.os}" arg2="windows"/></or></bool>
113 <mkdir dir="cdrom/dist/Java/Windows"/>
114 <exec dir="cdrom/dist/Java/Windows" executable="${rk.home}/shared/windows/wrapper/jre.exe"/>
115
116 </if></else></if>
117
118 <!-- jar installer: windows and linux only -->
119 <if><bool><or><equals arg1="${rk.os}" arg2="windows"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
120 <copy file="installer/cdrom.jar" tofile="cdrom/dist/Java/Jars/${rk.os}.jar"/>
121 </if>
122
123 <!-- compile cdrom wrapper -->
124 <!-- (windows) -->
125 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
126 <copy todir="cdrom/build" overwrite="true">
127 <fileset dir="${rk.home}/shared/windows/wrapper"/>
128 <fileset dir="${rk.home}/shared/core/icon" includes="icon.ico"/>
129 <fileset dir="${rk.home}/shared/core/search4j" includes="libsearch4j.cpp,libsearch4j.h"/>
130 </copy>
131 <exec executable="rc" dir="cdrom/build">
132 <arg line="wrapper.rc"/>
133 </exec>
134 <exec executable="cl" dir="cdrom/build">
135 <arg line="/c -GX -DCDROM wrapper.cpp"/>
136 </exec>
137 <exec executable="link" dir="cdrom/build">
138 <arg line="/OUT:../dist/Greenstone-${version}-windows.exe gdi32.lib advapi32.lib shell32.lib user32.lib wrapper.obj wrapper.RES"/>
139 </exec>
140
141 <!-- (linux) -->
142 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
143 <copy file="${rk.home}/shared/linux/wrapper.cpp" todir="cdrom/build" overwrite="true"/>
144
145 <echo level="info">compile the cdrom wrapper</echo>
146 <exec executable="g++" dir="cdrom/build">
147 <arg line="-Wall -static -static-libgcc -c -DCDROM -o wrapper.o wrapper.cpp"/>
148 </exec>
149
150 <echo level="info">link the compiled code</echo>
151 <exec executable="g++" dir="cdrom/build">
152 <arg line="-static -static-libgcc -o ../dist/Greenstone-${version}-linux wrapper.o"/>
153 </exec>
154
155 <!-- (mac) -->
156 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
157
158 <mkdir dir="wrapped-installer/cdrom"/>
159 <!-- create app for cdrom installer -->
160 <copy todir="cdrom/dist/Greenstone-${version}-MacOS.app"><fileset dir="${rk.home}/shared/mac/Wrapper.app"/></copy>
161 <copy todir="cdrom/dist/Greenstone-${version}-MacOS.app/Contents/Resources" file="${rk.home}/shared/core/icon/icon.icns"/>
162 <chmod file="cdrom/dist/Greenstone-${version}-MacOS.app/Contents/MacOS/JavaApplicationStub" perm="+x"/>
163
164 <!-- copy bundled files -->
165 <copy todir="cdrom/dist/Greenstone-${version}-MacOS.app/Contents/Resources/Java" file="${basedir}/installer/cdrom.jar"/>
166
167 <!-- substitute in real values -->
168 <rsr file="cdrom/dist/Greenstone-${version}-MacOS.app/Contents/Info.plist" pattern="@jar@" replacement="cdrom.jar"/>
169 <rsr file="cdrom/dist/Greenstone-${version}-MacOS.app/Contents/Info.plist" pattern="@version@" replacement="${version}"/>
170
171 </if></else></if></else></if>
172
173
174 <!-- create cdrom components -archive -->
175 <mkdir dir="products"/>
176 <!-- (windows) -->
177 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
178 <tar destfile="products/cdrom-components-${version}-windows.tar.gz" compression="gzip">
179 <tarfileset dir="cdrom/dist">
180 <include name="**/*"/>
181 <exclude name="**/full-windows"/>
182 <exclude name="**/full-windows/**/*"/>
183 </tarfileset>
184 </tar>
185 <tar destfile="products/cdrom-components-${version}-full-windows.tar.gz" compression="gzip">
186 <tarfileset dir="cdrom/dist">
187 <include name="**/*"/>
188 <exclude name="**/windows"/>
189 <exclude name="**/windows/**/*"/>
190 </tarfileset>
191 </tar>
192
193 <!-- (linux and mac) -->
194 <else><if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
195 <exec dir="cdrom/dist" executable="bash">
196 <arg value="-c"/>
197 <arg value="tar -czf ../../products/cdrom-components-${version}-${rk.os}.tar.gz *"/>
198 </exec>
199 </if></else></if>
200 </target>
201
202</project>
Note: See TracBrowser for help on using the repository browser.