Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
248 lines (246 sloc) 11.8 KB
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Copyright (c) 2009 Eucalyptus Systems, Inc.
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, only version 3 of the License.
~
~
~ This file is distributed in the hope that it will be useful, but WITHOUT
~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
~ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
~ for more details.
~
~ You should have received a copy of the GNU General Public License along
~ with this program. If not, see http://www.gnu.org/licenses/.
~
~ Please contact Eucalyptus Systems, Inc., 130 Castilian
~ Dr., Goleta, CA 93101 USA or visit http://www.eucalyptus.com/licenses/
~ if you need additional information or have any questions.
~
~ This file may incorporate work covered under the following copyright and
~ permission notice:
~
~ Software License Agreement (BSD License)
~
~ Copyright (c) 2008, Regents of the University of California
~ All rights reserved.
~
~ Redistribution and use of this software in source and binary forms, with
~ or without modification, are permitted provided that the following
~ conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~
~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
~ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
~ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
~ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
~ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
~ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
~ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
~ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
~ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
~ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
~ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. USERS OF
~ THIS SOFTWARE ACKNOWLEDGE THE POSSIBLE PRESENCE OF OTHER OPEN SOURCE
~ LICENSED MATERIAL, COPYRIGHTED MATERIAL OR PATENTED MATERIAL IN THIS
~ SOFTWARE, AND IF ANY SUCH MATERIAL IS DISCOVERED THE PARTY DISCOVERING
~ IT MAY INFORM DR. RICH WOLSKI AT THE UNIVERSITY OF CALIFORNIA, SANTA
~ BARBARA WHO WILL THEN ASCERTAIN THE MOST APPROPRIATE REMEDY, WHICH IN
~ THE REGENTS’ DISCRETION MAY INCLUDE, WITHOUT LIMITATION, REPLACEMENT
~ OF THE CODE SO IDENTIFIED, LICENSING OF THE CODE SO IDENTIFIED, OR
~ WITHDRAWAL OF THE CODE CAPABILITY TO THE EXTENT NEEDED TO COMPLY WITH
~ ANY SUCH LICENSES OR RIGHTS.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Author: chris grzegorczyk grze@eucalyptus.com
-->
<project name="eucalyptus" basedir=".">
<property environment="localenv"/>
<property name="euca.home.0" value="${localenv.EUCALYPTUS}"/>
<condition property="euca.home" value="/opt/eucalyptus" else="${localenv.EUCALYPTUS}">
<contains string="${euca.home.0}" substring="localenv"/>
</condition>
<property name="project.basedir" value="${user.dir}"/>
<loadfile srcfile="${project.basedir}/../VERSION" property="euca.version">
<filterchain>
<filterreader classname="org.apache.tools.ant.filters.StripLineBreaks"/>
</filterchain>
</loadfile>
<!--================================== other vars ==================================-->
<property name="jvm.heap" value="256m"/>
<property name="deps.url" value="http://open.eucalyptus.com/dependencies/${euca.version}"/>
<property name="deps.dir" value="deps"/>
<property name="deps.lib.dir" value="lib"/>
<property name="deps.lib" value="cloud-lib"/>
<!--================================== build targets ==================================-->
<target name="build-msgs">
<ant dir="modules/msgs" inheritall="false" target="builder"/>
<ant dir="modules/authentication" inheritall="false" target="builder"/>
<ant dir="modules/cloud" inheritall="false" target="builder"/>
<ant dir="modules/configuration" inheritall="false" target="builder"/>
</target>
<target name="build-core" depends="build-msgs">
<ant dir="modules/core" inheritall="false" target="builder"/>
<ant dir="modules/wsstack" inheritall="false" target="builder"/>
</target>
<target name="build-storage-common" depends="build-core">
<ant dir="modules/storage-common" inheritall="false" target="builder"/>
</target>
<target name="build-eucalyptus" depends="build-core">
<ant dir="modules/interface" inheritall="false" target="builder"/>
<ant dir="modules/group-manager" inheritall="false" target="builder"/>
<ant dir="modules/cluster-manager" inheritall="false" target="builder"/>
<ant dir="modules/image-manager" inheritall="false" target="builder"/>
<ant dir="modules/key-manager" inheritall="false" target="builder"/>
</target>
<target name="build-walrus" depends="build-storage-common">
<ant dir="modules/walrus" inheritall="false" target="builder"/>
</target>
<target name="build-ebs" depends="build-storage-common">
<ant dir="modules/storage-controller" inheritall="false" target="builder"/>
</target>
<target name="build-dns" depends="build-core">
<ant dir="modules/dns" inheritall="false" target="builder"/>
</target>
<target name="build-www">
<ant dir="modules/www" inheritall="false" target="builder"/>
</target>
<target name="build-nogwt" depends="build-eucalyptus,build-walrus,build-ebs,build-dns"/>
<target name="build" depends="deps,build-nogwt,build-www"/>
<!--================================== clean targets ==================================-->
<target name="clean-msgs">
<ant dir="modules/msgs" inheritall="false" target="clean"/>
<ant dir="modules/cloud" inheritall="false" target="clean"/>
<ant dir="modules/authentication" inheritall="false" target="clean"/>
<ant dir="modules/configuration" inheritall="false" target="clean"/>
</target>
<target name="clean-core" depends="clean-msgs">
<ant dir="modules/core" inheritall="false" target="clean"/>
<ant dir="modules/wsstack" inheritall="false" target="clean"/>
</target>
<target name="clean-storage-common" depends="clean-core">
<ant dir="modules/storage-common" inheritall="false" target="clean"/>
</target>
<target name="clean-eucalyptus" depends="clean-core">
<ant dir="modules/interface" inheritall="false" target="clean"/>
<ant dir="modules/cluster-manager" inheritall="false" target="clean"/>
<ant dir="modules/image-manager" inheritall="false" target="clean"/>
<ant dir="modules/group-manager" inheritall="false" target="clean"/>
<ant dir="modules/key-manager" inheritall="false" target="clean"/>
</target>
<target name="clean-walrus" depends="clean-storage-common">
<ant dir="modules/walrus" inheritall="false" target="clean"/>
</target>
<target name="clean-ebs" depends="clean-storage-common">
<ant dir="modules/storage-controller" inheritall="false" target="clean"/>
</target>
<target name="clean-dns" depends="clean-core">
<ant dir="modules/dns" inheritall="false" target="clean"/>
</target>
<target name="clean-www">
<ant dir="modules/www" inheritall="false" target="clean" />
</target>
<target name="clean-nogwt" depends="clean-eucalyptus,clean-walrus,clean-ebs,clean-dns"/>
<target name="clean" depends="clean-nogwt,clean-www">
<delete dir="${target.dir}"/>
</target>
<target name="distclean" depends="clean">
<delete dir="${deps.dir}"/>
<delete dir="${deps.lib.dir}"/>
<delete dir="target"/>
</target>
<!--================================== install target ==================================-->
<property name="euca.conf.dir" value="${euca.home}/etc/eucalyptus/cloud.d"/>
<property name="euca.lib.dir" value="${euca.home}/usr/share/eucalyptus"/>
<property name="euca.var.dir" value="${euca.home}/var/lib/eucalyptus"/>
<property name="euca.log.dir" value="${euca.home}/var/log/eucalyptus"/>
<target name="install">
<!-- copy libraries over -->
<mkdir dir="${euca.lib.dir}"/>
<copy todir="${euca.lib.dir}">
<fileset dir="${basedir}/target">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${euca.lib.dir}">
<fileset dir="${deps.lib.dir}">
<include name="**/*"/>
</fileset>
</copy>
<mkdir dir="${euca.conf.dir}"/>
<chmod dir="${euca.conf.dir}" perm="0755"/>
<mkdir dir="${euca.var.dir}/"/>
<mkdir dir="${euca.var.dir}/db"/>
<mkdir dir="${euca.var.dir}/keys"/>
<!-- <chmod dir="${euca.var.dir}/db" perm="0700"/>
<chmod dir="${euca.var.dir}/keys" perm="0700"/> -->
<mkdir dir="${euca.log.dir}"/>
<mkdir dir="${euca.var.dir}/webapps"/>
<mkdir dir="${euca.var.dir}/modules"/>
<ant dir="modules/msgs" inheritall="false" target="install"/>
<ant dir="modules/cloud" inheritall="false" target="install"/>
<ant dir="modules/authentication" inheritall="false" target="install"/>
<ant dir="modules/configuration" inheritall="false" target="install"/>
<ant dir="modules/core" inheritall="false" target="install"/>
<ant dir="modules/wsstack" inheritall="false" target="install"/>
<ant dir="modules/storage-common" inheritall="false" target="install"/>
<ant dir="modules/interface" inheritall="false" target="install"/>
<ant dir="modules/cluster-manager" inheritall="false" target="install"/>
<ant dir="modules/image-manager" inheritall="false" target="install"/>
<ant dir="modules/group-manager" inheritall="false" target="install"/>
<ant dir="modules/key-manager" inheritall="false" target="install"/>
<ant dir="modules/walrus" inheritall="false" target="install"/>
<ant dir="modules/storage-controller" inheritall="false" target="install"/>
<ant dir="modules/dns" inheritall="false" target="install"/>
<ant dir="modules/www" inheritall="false" target="install"/>
</target>
<!--================================== unzipping target ==================================-->
<target name="deps">
<condition property="needDownload">
<and>
<not>
<available file="${deps.lib.dir}/bcprov.jar"/>
</not>
<and>
<not>
<available file="${deps.dir}/${deps.lib}.tar.gz"/>
</not>
</and>
</and>
</condition>
<ant target="download-deps"/>
<condition property="needUnzipping">
<and>
<not>
<available file="${deps.lib.dir}/bcprov.jar"/>
</not>
<and>
<available file="${deps.dir}/${deps.lib}.tar.gz"/>
</and>
</and>
</condition>
<ant target="untar"/>
</target>
<target name="dist-deps" depends="deps">
<delete dir="${deps.dir}"/>
</target>
<target name="untar" if="needUnzipping">
<untar compression="gzip" src="${deps.dir}/${deps.lib}.tar.gz" dest="${deps.lib.dir}"/>
<delete file="${deps.lib.dir}/openjdk-crypto.jar"/>
<jar destfile="${deps.lib.dir}/openjdk-crypto.jar">
<zipfileset src="${deps.lib.dir}/eucalyptus-commons-ext-0.4.jar" includes="javax/crypto/**"/>
</jar>
</target>
<target name="download-deps" if="needDownload">
<mkdir dir="${deps.dir}"/>
<mkdir dir="${deps.lib.dir}"/>
<!--=========== download the dependency libraries ===========-->
<get src="${deps.url}/${deps.lib}.tar.gz" dest="${deps.dir}/${deps.lib}.tar.gz"/>
</target>
</project>
Something went wrong with that request. Please try again.