Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.xml 4.71 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">
        <java
            jar="${eclipse.launcher}"
            fork="true"
            failonerror="true">
            <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="-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="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
            <jvmarg
                value="-Dprojectname=${projectname}" />
            <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" />

        <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" />

        <copy
            file="${wtp.builder.home}/distribution/wtp.site/templateFiles/${indexTemplateFilename}"
            tofile="${buildDirectory}/${indexFileName}" />

        <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
            file="${buildDirectory}/directory.txt"
            tofile="${result}/directory.txt" />

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

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

    </target>


</project>