Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.xml 5.61 KiB
<project
    name="Build specific targets and properties"
    default="build"
    basedir=".">
    <!--
        Note to be cross-platform, "environment variables" are only
        appropriate for some variables, e.g. ones we set, since
        properties are case sensitive, even if the environment variables
        on your operating system are not, e.g. it will be ${env.Path}
        not ${env.PATH} on Windows
    -->
    <property environment="env"/>
    <!--
        Let users override standard properties, if desired. If
        directory, file, or some properties do not exist, then standard
        properties will be used.
    -->
    <property file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>

    <!-- = = = end standard properties pattern = = = -->
    <echo message="ant.file: ${ant.file}"/>
    <target name="build">

        <!-- make sure there is a base builder, since we need the launcher -->
        <ant
            antfile="${wtp.builder.home}/scripts/build/runbuild.xml"
            target="getBaseBuilder"/>


        <java
            jar="${eclipse.launcher}"
            fork="true"
            failonerror="false">
            <jvmarg value="-Dosgi.ws=${env.BASEWS}"/>
            <jvmarg value="-Dosgi.os=${env.BASEOS}"/>
            <jvmarg value="-Dosgi.arch=${env.BASEARCH}"/>
            <jvmarg value="-Dbuild.donottagmaps=${build.donottagmaps}"/>
            <jvmarg value="-DbuildBranch=${buildBranch}"/>
            <jvmarg value="-DbuildType=${buildType}"/>
            <jvmarg value="-DdependencyFileLocation=${dependencyFileLocation}"/>

            <jvmarg value="-DbuildId=${buildId}"/>
            <jvmarg value="-DmapVersionTag=${mapVersionTag}"/>
            <jvmarg value="-Dbuild.distribution=${build.distribution}"/>
            <jvmarg value="-DbuildDirectory=${buildDirectory}"/>
            <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}"/>
            <jvmarg value="-Dprojectname=${projectname}"/>
            <jvmarg value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}"/>
            <jvmarg value="-Djava.protocol.handler.pkgs=com.ibm.etools.www.protocol"/>
            <jvmarg value="-DurlLogLocation=${buildDirectory}/${buildLabel}/outgoinghttplogfromsitebuild.log"/>
            <arg value="-data"/>
            <arg value="${basedir}/workspace"/>
            <arg value="-application"/>
            <arg value="org.eclipse.ant.core.antRunner"/>
            <arg value="-buildfile"/>
            <arg value="${ant.file}"/>
            <arg value="publish"/>
        </java>
    </target>
    <!--
        =====================================================================
    -->
    <!-- Steps to do to publish the build results -->
    <!--
        =====================================================================
    -->
    <target name="publish">
        <dirname
            file="${ant.file}"
            property="component.dir"/>
        <ant antfile="${wtp.builder.home}/scripts/build/label.xml"/>
        <property file="${buildDirectory}/label.properties"/>

         <!-- buildLabel is defined in label.properties -->
        <mkdir dir="${buildDirectory}/${buildLabel}"/>

        <property
            name="publish.xml"
            value="${component.dir}/publish.xml"/>
        <property
            name="indexFileName"
            value="index.php"/>
        <property
            name="result"
            value="${buildDirectory}/${buildLabel}"/>
        <property
            name="indexTemplateFilename"
            value="index.html.template.php"/>

        <condition
            property="isBuildTested"
            value="true">
            <available file="${buildDirectory}/${buildLabel}/testResults/html"/>
        </condition>
        <ant
            antfile="${publish.xml}"
            dir="${component.dir}">
            <property
                name="dropTokenList"
                value="%wtpruntime%,%wtpsdk%,%wtptest%,%wst%,%wst-sdk%,%wst-tests%,%jst-tests%,%wst-perf-tests%,%jst-perf-tests%,%jpt-runtime%,%jpt-sdk%,%jpt-tests%"/>
            <property
                name="webtoolsDownloadURL"
                value="http://www.eclipse.org/downloads/download.php?file=/webtools/committers/drops"/>
            <property
                name="buildBranch"
                value="${buildBranch}"/>
            <property
                name="isBuildTested"
                value="${isBuildTested}"/>
            <property
                name="indexTemplateFilename"
                value="${indexTemplateFilename}"/>
        </ant>

        <!--  Get the build map over for the results to point to. -->
        <copy
            failonerror="false"
            file="${buildDirectory}/directory.txt"
            tofile="${result}/directory.txt"/>

        <!-- Copy info for build identification -->
        <copy
            failonerror="false"
            file="${buildDirectory}/label.properties"
            tofile="${result}/label.properties"/>

        <!-- http access logs -->
        <copy
            todir="${result}/"
            failonerror="false">
            <fileset
                dir="${buildDirectory}"
                includes="*.log"/>
        </copy>

        <!-- ant build log, from control directory -->
        <copy
            todir="${result}/"
            failonerror="false">
            <fileset
                dir="${env.ANT_WORKING}/${projectname}"
                includes="antBuilderOutput.log"/>
        </copy>

        <!-- final count files -->
        <countBuildFiles
            sourceDirectory="${buildDirectory}/${buildLabel}"
            filterString=".zip,.tar.gz"
            outputFile="${buildDirectory}/${buildLabel}/files.count"/>
    </target>
</project>