64
64
<project name="eucalyptus" basedir=".">
65
<property environment="localenv"/>
66
<property name="euca.home.0" value="${localenv.EUCALYPTUS}"/>
67
<condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
68
<contains string="${euca.home.0}" substring="localenv"/>
70
<property name="DESTDIR.0" value="${localenv.DESTDIR}"/>
71
<condition property="DESTDIR" value="/" else="${localenv.DESTDIR}">
72
<contains string="${DESTDIR.0}" substring="localenv"/>
74
<property name="project.basedir" value="${user.dir}"/>
75
<loadfile srcfile="${project.basedir}/../VERSION" property="euca.version">
77
<filterreader classname="org.apache.tools.ant.filters.StripLineBreaks"/>
80
<!--================================== other vars ==================================-->
81
<property name="jvm.heap" value="256m"/>
82
<property name="deps.url" value="http://eucalyptussoftware.com/downloads/dependencies/${euca.version}"/>
83
<property name="deps.dir" value="deps"/>
84
<property name="deps.lib.dir" value="lib"/>
85
<property name="deps.lib" value="cloud-lib"/>
86
<!--================================== build targets ==================================-->
87
<target name="build-msgs">
88
<ant dir="modules/msgs" inheritall="false" target="builder"/>
89
<ant dir="modules/database" inheritall="false" target="builder"/>
90
<ant dir="modules/hsqldb" inheritall="false" target="builder"/>
91
<ant dir="modules/authentication" inheritall="false" target="builder"/>
92
<ant dir="modules/cloud" inheritall="false" target="builder"/>
93
<ant dir="modules/configuration" inheritall="false" target="builder"/>
95
<target name="build-core" depends="build-msgs">
96
<ant dir="modules/core" inheritall="false" target="builder"/>
97
<ant dir="modules/wsstack" inheritall="false" target="builder"/>
99
<target name="build-storage-common" depends="build-core">
100
<ant dir="modules/storage-common" inheritall="false" target="builder"/>
102
<target name="build-eucalyptus" depends="build-core">
103
<ant dir="modules/interface" inheritall="false" target="builder"/>
104
<ant dir="modules/group-manager" inheritall="false" target="builder"/>
105
<ant dir="modules/cluster-manager" inheritall="false" target="builder"/>
106
<ant dir="modules/image-manager" inheritall="false" target="builder"/>
107
<ant dir="modules/key-manager" inheritall="false" target="builder"/>
109
<target name="build-walrus" depends="build-storage-common">
110
<ant dir="modules/walrus" inheritall="false" target="builder"/>
112
<target name="build-ebs" depends="build-storage-common">
113
<ant dir="modules/storage-controller" inheritall="false" target="builder"/>
115
<target name="build-dns" depends="build-core">
116
<ant dir="modules/dns" inheritall="false" target="builder"/>
118
<target name="build-www">
119
<ant dir="modules/www" inheritall="false" target="builder"/>
121
<target name="build-nogwt" depends="build-eucalyptus,build-walrus,build-ebs,build-dns"/>
122
<target name="build" depends="deps,build-nogwt,build-www"/>
123
<!--================================== clean targets ==================================-->
124
<target name="clean-msgs">
125
<ant dir="modules/msgs" inheritall="false" target="clean"/>
126
<ant dir="modules/database" inheritall="false" target="clean"/>
127
<ant dir="modules/hsqldb" inheritall="false" target="clean"/>
128
<ant dir="modules/cloud" inheritall="false" target="clean"/>
129
<ant dir="modules/authentication" inheritall="false" target="clean"/>
130
<ant dir="modules/configuration" inheritall="false" target="clean"/>
132
<target name="clean-core" depends="clean-msgs">
133
<ant dir="modules/core" inheritall="false" target="clean"/>
134
<ant dir="modules/wsstack" inheritall="false" target="clean"/>
136
<target name="clean-storage-common" depends="clean-core">
137
<ant dir="modules/storage-common" inheritall="false" target="clean"/>
139
<target name="clean-eucalyptus" depends="clean-core">
140
<ant dir="modules/interface" inheritall="false" target="clean"/>
141
<ant dir="modules/cluster-manager" inheritall="false" target="clean"/>
142
<ant dir="modules/image-manager" inheritall="false" target="clean"/>
143
<ant dir="modules/group-manager" inheritall="false" target="clean"/>
144
<ant dir="modules/key-manager" inheritall="false" target="clean"/>
146
<target name="clean-walrus" depends="clean-storage-common">
147
<ant dir="modules/walrus" inheritall="false" target="clean"/>
149
<target name="clean-ebs" depends="clean-storage-common">
150
<ant dir="modules/storage-controller" inheritall="false" target="clean"/>
152
<target name="clean-dns" depends="clean-core">
153
<ant dir="modules/dns" inheritall="false" target="clean"/>
155
<target name="clean-www">
156
<ant dir="modules/www" inheritall="false" target="clean" />
158
<target name="clean-nogwt" depends="clean-eucalyptus,clean-walrus,clean-ebs,clean-dns"/>
159
<target name="clean" depends="clean-nogwt,clean-www">
160
<delete dir="${target.dir}"/>
162
<target name="distclean" depends="clean">
163
<delete dir="${deps.dir}"/>
164
<delete dir="${deps.lib.dir}"/>
165
<delete dir="target"/>
167
<!--================================== install target ==================================-->
168
<property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d"/>
169
<property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus"/>
170
<property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus"/>
171
<property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus"/>
172
<target name="install">
173
<!-- copy libraries over -->
174
<mkdir dir="${DESTDIR}${euca.lib.dir}"/>
175
<copy todir="${DESTDIR}${euca.lib.dir}">
176
<fileset dir="${basedir}/target">
177
<include name="**/*.jar"/>
178
<exclude name="**/gwt-api-checker-*.jar"/>
179
<exclude name="**/gwt-dev-*.jar"/>
180
<exclude name="**/gwt-soyc-vis-*.jar"/>
181
<exclude name="**/gwt-user-*.jar"/>
184
<copy todir="${DESTDIR}${euca.lib.dir}">
185
<fileset dir="${deps.lib.dir}">
186
<include name="**/*"/>
187
<exclude name="**/gwt-api-checker-*.jar"/>
188
<exclude name="**/gwt-dev-*.jar"/>
189
<exclude name="**/gwt-soyc-vis-*.jar"/>
190
<exclude name="**/gwt-user-*.jar"/>
193
<mkdir dir="${DESTDIR}${euca.conf.dir}"/>
194
<chmod dir="${DESTDIR}${euca.conf.dir}" perm="0755"/>
195
<mkdir dir="${DESTDIR}${euca.var.dir}/"/>
196
<mkdir dir="${DESTDIR}${euca.var.dir}/db"/>
197
<mkdir dir="${DESTDIR}${euca.var.dir}/keys"/>
198
<!-- <chmod dir="${euca.var.dir}/db" perm="0700"/>
199
<chmod dir="${euca.var.dir}/keys" perm="0700"/> -->
200
<mkdir dir="${DESTDIR}${euca.log.dir}"/>
201
<mkdir dir="${DESTDIR}${euca.var.dir}/webapps"/>
202
<mkdir dir="${DESTDIR}${euca.var.dir}/modules"/>
203
<ant dir="modules/msgs" inheritall="false" target="install"/>
204
<ant dir="modules/database" inheritall="false" target="install"/>
205
<ant dir="modules/hsqldb" inheritall="false" target="install"/>
206
<ant dir="modules/cloud" inheritall="false" target="install"/>
207
<ant dir="modules/authentication" inheritall="false" target="install"/>
208
<ant dir="modules/configuration" inheritall="false" target="install"/>
209
<ant dir="modules/core" inheritall="false" target="install"/>
210
<ant dir="modules/wsstack" inheritall="false" target="install"/>
211
<ant dir="modules/storage-common" inheritall="false" target="install"/>
212
<ant dir="modules/interface" inheritall="false" target="install"/>
213
<ant dir="modules/cluster-manager" inheritall="false" target="install"/>
214
<ant dir="modules/image-manager" inheritall="false" target="install"/>
215
<ant dir="modules/group-manager" inheritall="false" target="install"/>
216
<ant dir="modules/key-manager" inheritall="false" target="install"/>
217
<ant dir="modules/walrus" inheritall="false" target="install"/>
218
<ant dir="modules/storage-controller" inheritall="false" target="install"/>
219
<ant dir="modules/dns" inheritall="false" target="install"/>
220
<ant dir="modules/www" inheritall="false" target="install"/>
222
<!--================================== unzipping target ==================================-->
224
<condition property="needDownload">
227
<available file="${deps.lib.dir}/bcprov.jar"/>
231
<available file="${deps.dir}/${deps.lib}.tar.gz"/>
236
<ant target="download-deps"/>
237
<condition property="needUnzipping">
240
<available file="${deps.lib.dir}/bcprov.jar"/>
243
<available file="${deps.dir}/${deps.lib}.tar.gz"/>
247
<ant target="untar"/>
249
<target name="dist-deps" depends="deps">
250
<delete dir="${deps.dir}"/>
252
<target name="untar" if="needUnzipping">
253
<untar compression="gzip" src="${deps.dir}/${deps.lib}.tar.gz" dest="${deps.lib.dir}"/>
255
<target name="download-deps" if="needDownload">
256
<mkdir dir="${deps.dir}"/>
257
<mkdir dir="${deps.lib.dir}"/>
258
<!--=========== download the dependency libraries ===========-->
259
<get src="${deps.url}/${deps.lib}.tar.gz" dest="${deps.dir}/${deps.lib}.tar.gz"/>
65
<property environment="localenv" />
66
<property name="euca.home.0" value="${localenv.EUCALYPTUS}" />
67
<condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
68
<contains string="${euca.home.0}" substring="localenv" />
70
<property name="DESTDIR.0" value="${localenv.DESTDIR}" />
71
<condition property="DESTDIR" value="/" else="${localenv.DESTDIR}">
72
<contains string="${DESTDIR.0}" substring="localenv" />
74
<property name="project.basedir" value="${user.dir}" />
75
<loadfile srcfile="${project.basedir}/../VERSION" property="euca.version">
77
<filterreader classname="org.apache.tools.ant.filters.StripLineBreaks" />
80
<!--================================== other vars ==================================-->
81
<property name="jvm.heap" value="256m" />
82
<property name="deps.url" value="http://eucalyptussoftware.com/downloads/dependencies/${euca.version}" />
83
<property name="deps.dir" value="deps" />
84
<property name="deps.lib.dir" value="lib" />
85
<property name="tools.dir" value="tools/src" />
86
<property name="deps.lib" value="cloud-lib" />
87
<property name="bind.timestamp" value="target/.bind-timestamp" />
88
<!--================================== build targets ==================================-->
90
<ant dir="modules/msgs" inheritall="false" target="builder" />
91
<ant dir="modules/database" inheritall="false" target="builder" />
92
<ant dir="modules/hsqldb" inheritall="false" target="builder" />
93
<ant dir="modules/authentication" inheritall="false" target="builder" />
94
<ant dir="modules/cloud" inheritall="false" target="builder" />
95
<ant dir="modules/configuration" inheritall="false" target="builder" />
96
<ant dir="modules/core" inheritall="false" target="builder" />
97
<ant dir="modules/wsstack" inheritall="false" target="builder" />
98
<ant dir="modules/component" inheritall="false" target="builder" />
99
<ant dir="modules/interface" inheritall="false" target="builder" />
100
<ant dir="modules/group-manager" inheritall="false" target="builder" />
101
<ant dir="modules/cluster-manager" inheritall="false" target="builder" />
102
<ant dir="modules/image-manager" inheritall="false" target="builder" />
103
<ant dir="modules/key-manager" inheritall="false" target="builder" />
104
<ant dir="modules/storage-common" inheritall="false" target="builder" />
105
<ant dir="modules/walrus" inheritall="false" target="builder" />
106
<ant dir="modules/storage-controller" inheritall="false" target="builder" />
107
<ant dir="modules/dns" inheritall="false" target="builder" />
108
<ant dir="modules/www" inheritall="false" target="builder" />
109
<ant dir="." inheritall="false" target="jar" />
111
<target name="jar" depends="bind">
112
<ant dir="modules/msgs" inheritall="false" target="jar" />
113
<ant dir="modules/database" inheritall="false" target="jar" />
114
<ant dir="modules/hsqldb" inheritall="false" target="jar" />
115
<ant dir="modules/authentication" inheritall="false" target="jar" />
116
<ant dir="modules/cloud" inheritall="false" target="jar" />
117
<ant dir="modules/configuration" inheritall="false" target="jar" />
118
<ant dir="modules/component" inheritall="false" target="jar" />
119
<ant dir="modules/core" inheritall="false" target="jar" />
120
<ant dir="modules/wsstack" inheritall="false" target="jar" />
121
<ant dir="modules/interface" inheritall="false" target="jar" />
122
<ant dir="modules/group-manager" inheritall="false" target="jar" />
123
<ant dir="modules/cluster-manager" inheritall="false" target="jar" />
124
<ant dir="modules/image-manager" inheritall="false" target="jar" />
125
<ant dir="modules/key-manager" inheritall="false" target="jar" />
126
<ant dir="modules/storage-common" inheritall="false" target="jar" />
127
<ant dir="modules/walrus" inheritall="false" target="jar" />
128
<ant dir="modules/storage-controller" inheritall="false" target="jar" />
129
<ant dir="modules/dns" inheritall="false" target="jar" />
130
<ant dir="modules/www" inheritall="false" target="jar" />
132
<target name="shouldBind">
133
<uptodate property="bind.notRequired" targetfile="${bind.timestamp}">
134
<srcfiles dir="modules">
135
<include name="**/*.java"/>
138
<echo message="[BINDING] Up-to-date check shows bind.notRequred=${bind.notRequired}." />
140
<target name="bind" depends="shouldBind" unless="bind.notRequired">
141
<echo message="[BINDING] Running binding compiler." />
142
<path id="bindingclasspath">
143
<dirset dir="modules">
144
<include name="**/build" />
147
<include name="**/*.jar" />
151
<fileset dir="modules" includes="**/*JiBX*" />
153
<delete file="modules/msgs/src/main/resources/msgs-binding.xml" />
154
<taskdef name="bindings" classname="com.eucalyptus.binding.BuildBindings" classpathref="bindingclasspath" />
156
<classfileset dir="${project.basedir}/modules" includes="*/build/**" />
157
<bindingfileset dir="${project.basedir}/modules" includes="**/*-binding.xml" />
159
<touch file="${bind.timestamp}"/>
162
<!--================================== clean targets ==================================-->
163
<target name="clean">
164
<delete file="${bind.timestamp}"/>
165
<ant dir="modules/msgs" inheritall="false" target="clean" />
166
<ant dir="modules/database" inheritall="false" target="clean" />
167
<ant dir="modules/hsqldb" inheritall="false" target="clean" />
168
<ant dir="modules/cloud" inheritall="false" target="clean" />
169
<ant dir="modules/authentication" inheritall="false" target="clean" />
170
<ant dir="modules/configuration" inheritall="false" target="clean" />
171
<ant dir="modules/component" inheritall="false" target="clean" />
172
<ant dir="modules/core" inheritall="false" target="clean" />
173
<ant dir="modules/wsstack" inheritall="false" target="clean" />
174
<ant dir="modules/interface" inheritall="false" target="clean" />
175
<ant dir="modules/cluster-manager" inheritall="false" target="clean" />
176
<ant dir="modules/image-manager" inheritall="false" target="clean" />
177
<ant dir="modules/group-manager" inheritall="false" target="clean" />
178
<ant dir="modules/key-manager" inheritall="false" target="clean" />
179
<ant dir="modules/storage-common" inheritall="false" target="clean" />
180
<ant dir="modules/walrus" inheritall="false" target="clean" />
181
<ant dir="modules/storage-controller" inheritall="false" target="clean" />
182
<ant dir="modules/dns" inheritall="false" target="clean" />
183
<ant dir="modules/www" inheritall="false" target="clean" />
184
<delete dir="${target.dir}" />
186
<target name="distclean" depends="clean">
187
<delete dir="${deps.dir}" />
188
<delete dir="${deps.lib.dir}" />
189
<delete dir="target" />
191
<!--================================== install target ==================================-->
192
<property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d" />
193
<property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus" />
194
<property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus" />
195
<property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus" />
196
<property name="euca.bin.dir" value="${euca.home}/usr/sbin" />
197
<target name="install">
198
<!-- copy libraries over -->
199
<mkdir dir="${DESTDIR}${euca.lib.dir}" />
200
<copy todir="${DESTDIR}${euca.lib.dir}" overwrite="true">
201
<fileset dir="${deps.lib.dir}">
202
<include name="**/*" />
203
<exclude name="**/gwt-api-checker-*.jar" />
204
<exclude name="**/gwt-dev-*.jar" />
205
<exclude name="**/gwt-soyc-vis-*.jar" />
206
<exclude name="**/gwt-user-*.jar" />
209
<!--copy admin tools -->
210
<mkdir dir="${DESTDIR}${euca.bin.dir}" />
211
<copy todir="${DESTDIR}${euca.bin.dir}" overwrite="true">
212
<fileset dir="${tools.dir}">
213
<include name="**/*" />
216
<chmod dir="${DESTDIR}${euca.bin.dir}" perm="0755">
217
<include name="**/euca-*" />
219
<mkdir dir="${DESTDIR}${euca.conf.dir}" />
220
<chmod dir="${DESTDIR}${euca.conf.dir}" perm="0755" />
221
<mkdir dir="${DESTDIR}${euca.var.dir}/" />
222
<mkdir dir="${DESTDIR}${euca.var.dir}/db" />
223
<mkdir dir="${DESTDIR}${euca.var.dir}/keys" />
224
<mkdir dir="${DESTDIR}${euca.log.dir}" />
225
<mkdir dir="${DESTDIR}${euca.var.dir}/webapps" />
226
<mkdir dir="${DESTDIR}${euca.var.dir}/modules" />
227
<ant dir="modules/msgs" inheritall="false" target="install" />
228
<ant dir="modules/database" inheritall="false" target="install" />
229
<ant dir="modules/hsqldb" inheritall="false" target="install" />
230
<ant dir="modules/cloud" inheritall="false" target="install" />
231
<ant dir="modules/authentication" inheritall="false" target="install" />
232
<ant dir="modules/configuration" inheritall="false" target="install" />
233
<ant dir="modules/component" inheritall="false" target="install" />
234
<ant dir="modules/core" inheritall="false" target="install" />
235
<ant dir="modules/wsstack" inheritall="false" target="install" />
236
<ant dir="modules/storage-common" inheritall="false" target="install" />
237
<ant dir="modules/interface" inheritall="false" target="install" />
238
<ant dir="modules/cluster-manager" inheritall="false" target="install" />
239
<ant dir="modules/image-manager" inheritall="false" target="install" />
240
<ant dir="modules/group-manager" inheritall="false" target="install" />
241
<ant dir="modules/key-manager" inheritall="false" target="install" />
242
<ant dir="modules/walrus" inheritall="false" target="install" />
243
<ant dir="modules/storage-controller" inheritall="false" target="install" />
244
<ant dir="modules/dns" inheritall="false" target="install" />
245
<ant dir="modules/www" inheritall="false" target="install" />
247
<!--================================== unzipping target ==================================-->
249
<condition property="needDownload">
252
<available file="${deps.lib.dir}/bcprov.jar" />
256
<available file="${deps.dir}/${deps.lib}.tar.gz" />
261
<ant target="download-deps" />
262
<condition property="needUnzipping">
265
<available file="${deps.lib.dir}/bcprov.jar" />
268
<available file="${deps.dir}/${deps.lib}.tar.gz" />
272
<ant target="untar" />
274
<target name="dist-deps" depends="deps">
275
<delete dir="${deps.dir}" />
277
<target name="untar" if="needUnzipping">
278
<untar compression="gzip" src="${deps.dir}/${deps.lib}.tar.gz" dest="${deps.lib.dir}" />
280
<target name="download-deps" if="needDownload">
281
<mkdir dir="${deps.dir}" />
282
<mkdir dir="${deps.lib.dir}" />
283
<!--=========== download the dependency libraries ===========-->
284
<get src="${deps.url}/${deps.lib}.tar.gz" dest="${deps.dir}/${deps.lib}.tar.gz" />