Code Search for Developers
 
 
  

build.xml from SmartFrog at Krugle


Show build.xml syntax highlighted

<?xml version="1.0" encoding="UTF-8"?>
<!-- vim: expandtab shiftwidth=4 softtabstop=4
-->
<project name="eclipse-plugin" default="build" basedir=".">

<!-- ==================================================================
    Load common properties, shared among sub-projects.
======================================================================= -->

    <property file="../build/build.properties"/>

<!-- ==================================================================
======================================================================= -->

    <property environment="env"/>

    <!-- Sub-project directories -->
    <property name="bin.plugin.dir" value="../smartfrog-plugin-project"/>
    <property name="doc.plugin.dir" value="../smartfrog-plugin-doc"/>
    <property name="test.plugin.dir" value="../smartfrog-plugin-test"/>
    <property name="feature.package.dir" value="../feature"/>

    <!-- Local directories -->
    <property name="build.dir" value="build_area"/>
    <property name="temp.zip.folder.name" value="temp.zip.folder"/>
    <property name="temp.zip.folder" value="${build.dir}/${temp.zip.folder.name}"/>
    <property name="temp.tar.folder.name" value="temp.tar.folder"/>
    <property name="temp.tar.folder" value="${build.dir}/${temp.tar.folder.name}"/>
    <property name="work.folder.name" value="work.folder"/>
    <property name="work.folder" value="${build.dir}/${work.folder.name}"/>
    <property name="build.results.folder" value="${build.artifacts.dir.name}"/>
    <property name="installdocs.dir" value="${basedir}/../extdocs"/>
    <property name="install.doc.name" value="installationNotes.pdf"/>
    <property name="install.doc" value="${installdocs.dir}/${install.doc.name}"/>

    <!-- Miscellaneous -->
    <property name="anttask.inheritAll" value="false"/>

    <!-- +++++++++++++++++++++++++++++++++++++++ -->

<!-- ==================================================================
    Task initialization, environment setup, environment verification.
======================================================================= -->

    <target name="init"
        unless="init.done"
        depends="set.eclipse.home">

        <property name="init.done" value="yes"/>

        <tstamp>
            <format property="NOW.FORMATTED" pattern="EEEE, MMM d, yyyy, HH:mm:ss"/>
            <format property="BUILDID" pattern="yyyyMMddHHmmss"/>
        </tstamp>

        <echo message="Main Starting ${NOW.FORMATTED}, build ${BUILDID}"/>
        <echo message="Ant command line: ${env.ANT_CMD_LINE_ARGS}"/>

        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.results.folder}"/>

    </target>

    <target name="refresh" if="eclipse.running">
        <eclipse.refreshLocal resource="." depth="infinite"/>
    </target>

<!-- ==================================================================
    Cleanup
======================================================================= -->

    <target name="clean"
        description="Delete artifacts directory">

        <delete dir="${build.dir}" quiet="yes"/>
        <delete dir="${build.results.folder}" quiet="yes"/>

        <antcall target="refresh"/>
    </target>

    <target name="real.clean" depends="clean"/>

<!-- ==================================================================
    Utilities
======================================================================= -->

    <target name="build.subproject"
        depends="init,build.subproject.without.eclipse.running,build.subproject.with.eclipse.running"/>

    <target name="build.subproject.without.eclipse.running"
        depends="init"
        unless="eclipse.running">

        <!-- Be sure to duplicate any changes made here to target
             build.subproject.with.eclipse.running! -->

        <ant dir="${subproject.basedir}"
            target="${target}"
            inheritAll="${anttask.inheritAll}">

            <property name="artifacts.dir" value="${build.artifacts.dir}"/>
            <property name="BUILDID" value="${BUILDID}"/>
            <property name="eclipse.home" value="${eclipse.home}"/>
        </ant>
    </target>

    <target name="build.subproject.with.eclipse.running"
        depends="init"
        if="eclipse.running">

        <echo message="Sub-build starting in Eclipse environment."/>

        <!-- Be sure to duplicate any changes made here to target
             build.subproject.without.eclipse.running! -->

        <ant dir="${subproject.basedir}"
            target="${target}"
            inheritAll="${anttask.inheritAll}">

            <property name="artifacts.dir" value="${build.artifacts.dir}"/>
            <property name="BUILDID" value="${BUILDID}"/>
            <property name="eclipse.home" value="${eclipse.home}"/>

            <!-- Only set eclipse.running if Eclipse is really running. ;-) -->
            <property name="eclipse.running" value="${eclipse.running}"/>
        </ant>
    </target>

    <target name="set.eclipse.home"
        depends="set.eclipse.home.from.env,set.eclipse.home.default"/>

    <target name="set.eclipse.home.from.env"
        if="env.ECLIPSE_HOME"
        unless="eclipse.home">

        <property name="eclipse.home" value="${env.ECLIPSE_HOME}"/>
    </target>

    <target name="set.eclipse.home.default"
        unless="eclipse.home">
        <property name="eclipse.home" value="../../.."/>
    </target>

<!-- ==================================================================
    Build sub-projects.
======================================================================= -->

    <target name="build.bin.plugin"
        description="Build SmartFrog-bin-plugin. Uses 'rebuild' target of SmartFrog-bin-plugin/build.xml file."

        unless="build.bin.plugin.done">

        <property name="build.bin.plugin.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${bin.plugin.dir}"/>
            <param name="target" value="rebuild"/>
        </antcall>
    </target>
    
    <target name="compile.bin.plugin"
        description="Compile SmartFrog-bin-plugin. Uses 'compile' target of SmartFrog-bin-plugin/build.xml file."
        depends="build.xmen"
        unless="compile.bin.plugin.done">

        <property name="compile.bin.plugin.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${bin.plugin.dir}"/>
            <param name="target" value="compile"/>
        </antcall>
    </target>
    
    <target name="test"
        description="Test SmartFrog-test-plugin. Uses target test.bin.plugin of this build.xml."
        depends="test.bin.plugin"
        unless="test.done">
    </target>

    <target name="test.bin.plugin"
        description="Test SmartFrog-test-plugin. Uses 'test' target of SmartFrog-test-plugin/build.xml file."
        depends="build.xmen, build.bin.plugin"
        unless="test.bin.plugin.done">

        <property name="test.bin.plugin.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${test.plugin.dir}"/>
            <param name="target" value="test"/>
        </antcall>
    </target>
    
    <target name="build.test.plugin"
    	description="Build SmartFrog-test-plugin. Uses 'rebuild' target of SmartFrog-test-plugin/build.xml file."
        depends="build.bin.plugin"
        unless="build.test.plugin.done">

        <property name="build.test.plugin.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${test.plugin.dir}"/>
            <param name="target" value="rebuild"/>
        </antcall>
    </target>

    <target name="build.doc.plugin"
    	description="Build SmartFrog-doc-plugin. Uses 'rebuild' target of SmartFrog-doc-plugin/build.xml file."
        unless="build.doc.plugin.done">

        <property name="build.doc.plugin.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${doc.plugin.dir}"/>
            <param name="target" value="rebuild"/>
        </antcall>
    </target>

    <target name="build.xmen"
    	description="Build org.xmen. Uses 'test.and.rebuild' target of org.xmen/build.xml file."
        unless="build.xmen.done">

        <property name="build.xmen.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${xmen.dir}"/>
            <param name="target" value="test.and.rebuild"/>
        </antcall>
    </target>
    
    <target name="build.feature.package"
    	description="Build feature package. Uses 'rebuild' target of feature/build.xml file."
        unless="build.feature.package.done"
        depends="build.bin.plugin,build.doc.plugin">

        <property name="build.feature.package.done" value="yes"/>

        <antcall target="build.subproject">
            <param name="subproject.basedir" value="${feature.package.dir}"/>
            <param name="target" value="rebuild"/>
        </antcall>
    </target>

<!-- ==================================================================
    Build composite plugin distribution zip.
======================================================================= -->
    <target name="custom.build.dist.zip">
      
    </target>

    <target name="build.plugin.dist.zip"
        description="Create distribution zip of plugins and install doc"
        depends="build.bin.plugin,build.doc.plugin">

        <delete dir="${temp.zip.folder}"/>
        <mkdir dir="${temp.zip.folder}"/>
        <delete dir="${temp.tar.folder}"/>
        <mkdir dir="${temp.tar.folder}"/>

        <!-- Copy the binary, doc and xmen plugin zips -->
        <copy todir="${temp.zip.folder}">
            <fileset dir="${build.results.folder}">
                <include name="${bin.plugin.zip.name}"/>
                <include name="${doc.plugin.zip.name}"/>
            </fileset>
        </copy>

        <copy todir="${temp.tar.folder}">
            <fileset dir="${build.results.folder}">
                <include name="${bin.plugin.tar.name}"/>
                <include name="${doc.plugin.tar.name}"/>
            </fileset>
        </copy>
        

        
        <!-- Perform any custom setup work -->
        <antcall target="custom.build.dist.zip">
            <param name="target.dir" value="${temp.zip.folder}"/>
        </antcall>
        <antcall target="custom.build.dist.zip">
            <param name="target.dir" value="${temp.tar.folder}"/>
        </antcall>


        <!-- Zip it up! -->
        <zip zipfile="${build.results.folder}/${plugin.distribution.zip.name}"
            basedir="${temp.zip.folder}" filesonly="true"/>

        <tar tarfile="${build.results.folder}/${plugin.distribution.tar.name}"
            basedir="${temp.tar.folder}"/>

        <delete dir="${temp.zip.folder}"/>
        <delete dir="${temp.tar.folder}"/>
        <antcall target="refresh"/>
    </target>

<!-- ==================================================================
    Do "production" build
======================================================================= -->

    <target name="build"
        description="Create production build artifacts"
        depends="clean,init,build.bin.plugin, build.doc.plugin, build.plugin.dist.zip"/>
        
    <target name="compile.and.test"
        description="Compile and PDE Junit test subprojects"
        depends="clean,init,test.bin.plugin"/>

    <target name="compile"
        description="Compile subprojects"
        depends="clean,init,build.bin.plugin"/>

<!-- ==================================================================
    Publishing stuff.
======================================================================= -->

    <target name="verify.pub.dir"
        unless="pub.dir">
        <fail>
    ****************************************************************
    pub.dir Ant property not specified!
    ****************************************************************
        </fail>
    </target>

    <target name="pub.clean"
    	description="Clean publish directory."
        unless="pub.clean.done"
        depends="verify.pub.dir">

        <property name="pub.clean.done" value="true"/>

        <delete includeEmptyDirs="true" quiet="true">
            <fileset dir="${pub.dir}"/>
        </delete>
    </target>

    <target name="pub.file"
        depends="verify.pub.dir">

        <copy file="${from.file}" tofile="${pub.dir}/${to.file}"/>
    </target>
    


    <target name="custom.publish"
		description="Copy install doc to publish directory.">
   <!--     <copy todir="${pub.dir}">
            <fileset dir="${installdocs.dir}">
                <include name="${install.doc.name}"/>
            </fileset>
        </copy>
       -->
    </target>

    <target name="publish"
        depends="init,verify.pub.dir,pub.clean"
        description="Publish build artifacts">

        <copy todir="${pub.dir}">
            <fileset dir="${build.results.folder}">
                <include name="**"/>
                <exclude name="*xmen*"/>
            </fileset>
        </copy>

        <antcall target="custom.publish"/>
    </target>

</project>




See more files for this project here

SmartFrog

SmartFrog (Smart Framework for Object Groups) is a framework for configuring and automatically activating distributed applications. \r\nThe SmartFrog framework is released under LGPL license.\r\nMore info at: www.smartfrog.org

Project homepage: http://sourceforge.net/projects/smartfrog
Programming language(s): Java,XML
License: other

  build.properties
  build.xml