1
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2
~ Copyright (c) 2009 Eucalyptus Systems, Inc.
4
~ This program is free software: you can redistribute it and/or modify
5
~ it under the terms of the GNU General Public License as published by
6
~ the Free Software Foundation, only version 3 of the License.
9
~ This file is distributed in the hope that it will be useful, but WITHOUT
10
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
~ You should have received a copy of the GNU General Public License along
15
~ with this program. If not, see http://www.gnu.org/licenses/.
17
~ Please contact Eucalyptus Systems, Inc., 130 Castilian
18
~ Dr., Goleta, CA 93101 USA or visit http://www.eucalyptus.com/licenses/
19
~ if you need additional information or have any questions.
21
~ This file may incorporate work covered under the following copyright and
24
~ Software License Agreement (BSD License)
26
~ Copyright (c) 2008, Regents of the University of California
27
~ All rights reserved.
29
~ Redistribution and use of this software in source and binary forms, with
30
~ or without modification, are permitted provided that the following
33
~ Redistributions of source code must retain the above copyright notice,
34
~ this list of conditions and the following disclaimer.
36
~ Redistributions in binary form must reproduce the above copyright
37
~ notice, this list of conditions and the following disclaimer in the
38
~ documentation and/or other materials provided with the distribution.
40
~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
41
~ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
42
~ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
43
~ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
44
~ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45
~ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
46
~ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
47
~ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
48
~ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
49
~ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
50
~ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. USERS OF
51
~ THIS SOFTWARE ACKNOWLEDGE THE POSSIBLE PRESENCE OF OTHER OPEN SOURCE
52
~ LICENSED MATERIAL, COPYRIGHTED MATERIAL OR PATENTED MATERIAL IN THIS
53
~ SOFTWARE, AND IF ANY SUCH MATERIAL IS DISCOVERED THE PARTY DISCOVERING
54
~ IT MAY INFORM DR. RICH WOLSKI AT THE UNIVERSITY OF CALIFORNIA, SANTA
55
~ BARBARA WHO WILL THEN ASCERTAIN THE MOST APPROPRIATE REMEDY, WHICH IN
56
~ THE REGENTS’ DISCRETION MAY INCLUDE, WITHOUT LIMITATION, REPLACEMENT
57
~ OF THE CODE SO IDENTIFIED, LICENSING OF THE CODE SO IDENTIFIED, OR
58
~ WITHDRAWAL OF THE CODE CAPABILITY TO THE EXTENT NEEDED TO COMPLY WITH
59
~ ANY SUCH LICENSES OR RIGHTS.
60
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61
~ Author: chris grzegorczyk grze@eucalyptus.com
62
~ Author: Dmitrii Zagorodnov dmitrii@cs.ucsb.edu
65
<project name="eucalyptus-www" basedir=".">
66
<import file="../module-inc.xml" />
67
<property environment="localenv"/>
68
<property name="DESTDIR.0" value="${localenv.DESTDIR}"/>
69
<condition property="DESTDIR" value="/" else="${localenv.DESTDIR}">
70
<contains string="${DESTDIR.0}" substring="localenv"/>
73
<!--================================== BUILD TARGET ==================================-->
74
<property name="builder.suffix" value="gwt" />
75
<target name="build-gwt">
76
<echo message="gwtDebug=${gwtDebug}"/>
77
<antcall target="compile-src" />
78
<antcall target="jar" />
79
<condition property="gwtBuildType" value="debug" else="normal" >
80
<isset property="gwtDebug"/>
82
<antcall target="compile-gwt-${gwtBuildType}" />
84
<!--================================== GWT-ONLY TARGET ==================================-->
85
<property environment="env" />
86
<path id="gwtclasspath">
87
<fileset dir="${lib.dir}">
88
<include name="**/*.jar" />
90
<pathelement path="conf" />
91
<dirset dir="${modules.dir}">
92
<include name="**/build"/>
95
<path id="gwtcompilerclasspath">
96
<fileset dir="${lib.dir}">
97
<include name="**/gwt-dev.jar" />
99
<path refid="gwtclasspath" />
100
<dirset dir="${modules.dir}">
101
<include name="**/build"/>
103
<pathelement path="${src.dir}" />
105
<property name="gwt.build.dir" value="build" />
106
<property name="gwt.war.build.dir" value="build-war" />
107
<property name="gwt.module" value="edu.ucsb.eucalyptus.admin.EucalyptusWebInterface" />
108
<property name="gwt.module.dir" value="edu/ucsb/eucalyptus/admin" />
109
<property name="gwt.war.dir" value="webapps" />
110
<property name="gwt.war" value="${gwt.war.dir}/root.war" />
112
<target name="check-src">
113
<uptodate property="gwtc.notRequired" targetfile="${gwt.war}">
114
<srcfiles dir="${src.dir}" includes="**/*" />
115
<srcfiles dir="${conf.dir}" includes="**/*" />
119
<target name="compile-src">
120
<mkdir dir="${build.dir}"/>
121
<javac deprecation="false" srcdir="${src.dir}" destdir="${build.dir}" classpathref="gwtclasspath" failonerror="true" debug="true" target="1.5" />
124
<target name="clean">
125
<delete dir="${build.dir}" />
126
<delete dir="${gwt.war.dir}" />
127
<delete dir="${gwt.war.build.dir}" />
128
<delete file="${jar.file}" />
132
<target name="compile-gwt-normal" depends="check-src" unless="gwtc.notRequired">
133
<delete dir="${gwt.war.build.dir}" />
134
<mkdir dir="${gwt.war.build.dir}" />
135
<mkdir dir="${gwt.war.dir}" />
136
<java classpathref="gwtcompilerclasspath" fork="true" failonerror="true" classname="com.google.gwt.dev.Compiler">
137
<jvmarg value="-Xmx1024m" />
138
<jvmarg value="-Xss1024k" />
139
<arg line="-war ${gwt.war.build.dir}" />
140
<arg line="edu.ucsb.eucalyptus.admin.EucalyptusWebInterface" />
142
<war destfile="${gwt.war}" webxml="${conf.dir}/gwt-web.xml" basedir="${gwt.war.build.dir}/${gwt.module}/" />
145
<target name="compile-gwt-debug" depends="check-src" unless="gwtc.notRequired">
146
<delete dir="${gwt.war.build.dir}" />
147
<mkdir dir="${gwt.war.build.dir}" />
148
<mkdir dir="${gwt.war.dir}" />
149
<java classpathref="gwtcompilerclasspath" fork="true" failonerror="true" classname="com.google.gwt.dev.Compiler">
150
<jvmarg value="-Xmx1024m" />
151
<jvmarg value="-Xss1024k" />
152
<arg line="-war ${gwt.war.build.dir}" />
153
<arg line="-draftCompile"/>
154
<arg line="-style PRETTY"/> <!-- PRETTY for non-obfuscated Javascript -->
155
<arg line="edu.ucsb.eucalyptus.admin.EucalyptusWebInterface" />
157
<war destfile="${gwt.war}" webxml="${conf.dir}/gwt-web.xml" basedir="${gwt.war.build.dir}/${gwt.module}/" />
160
<property name="servlet.dir" value="${euca.var.dir}/webapps" />
161
<target name="install">
162
<copy todir="${DESTDIR}${euca.conf.dir}" overwrite="true">
164
<include name="**/*" />
167
<copy todir="${DESTDIR}${euca.lib.dir}" overwrite="true">
168
<fileset file="${jar.file}" />
170
<copy overwrite="true" file="${gwt.war}" todir="${DESTDIR}${servlet.dir}" />