|
What this is
Other links
The source code<project name="provisioning build" default="build"> <!-- - Build the agent product. (win32) - Build the metadata generator. (linux) - Run the metadata generator on the agent. - Build the director. (linux) - Run the director and install a new agent. - Zip up the agent. - Build the self-hosting feature. (win32) - Run the metadata generator on the self-hosting feature. - Run the metadata generator on the Eclipse SDK. --> <target name="build"> <!-- TODO: pass these arguments in --> <property name="prov.root" value="c:" /> <property name="prov.output.base" value="${prov.root}/equinox.prov.build" /> <property name="prov.install.folder" value="equinox.prov" /> <property name="sdk.archive" value="${prov.root}/downloads/eclipse-SDK-3.4M1-win32.zip" /> <property name="rcp.delta.archive" value="${prov.root}/downloads/eclipse-RCP-3.4M1-delta-pack.zip" /> <property name="rcp.archive" value="${prov.root}/downloads/eclipse-RCP-3.4M1-win32.zip" /> <property name="prov.java" value="d:/java/jdk1.5.0_11/jre/bin/java" /> <property name="prov.install.folder.parent" value="${prov.root}/" /> <property name="prov.install.path" value="${prov.install.folder.parent}${prov.install.folder}" /> <property name="base" value="${prov.output.base}/base" /> <tstamp> <format property="buildId" pattern="yyyyMMdd-HHmm" /> </tstamp> <property file="build.properties" /> <property name="prov.generator.dir" value="${prov.output.base}/generator" /> <property name="prov.metadata.repo" value="${prov.output.base}/servers/metadata/" /> <property name="prov.artifact.repo" value="${prov.output.base}/servers/artifacts/" /> <property name="prov.flavor" value="tooling" /> <antcall target="clean" /> <!-- Ensure that we are building against the same version that we are generating the metadata for --> <antcall target="extract"> <param name="extract-src" value="${sdk.archive}" /> <param name="extract-dest" value="${base}" /> </antcall> <antcall target="extract"> <param name="extract-src" value="${rcp.delta.archive}" /> <param name="extract-dest" value="${base}" /> </antcall> <antcall target="build.features" /> <antcall target="build.agent" /> <!-- Generate the metadata for the agent and create the install first due to bug 199317... installing will install all fragments and we don't want the ones from the SDK --> <antcall target="generate.metadata.agent" /> <antcall target="run.director" /> <antcall target="zip.install" /> <antcall target="generate.metadata.selfhosting" /> <antcall target="generate.metadata.sdk" /> </target> <target name="clean"> <delete dir="${prov.output.base}" /> <delete dir="${prov.install.path}" /> </target> <target name="build.features"> <ant antfile="${eclipse.pdebuild.scripts}/build.xml"> <property name="builder" value="${basedir}" /> </ant> </target> <target name="build.agent"> <ant antfile="${eclipse.pdebuild.scripts}/productBuild/productBuild.xml"> <property name="builder" value="${basedir}" /> </ant> </target> <target name="generate.metadata.agent"> <path id="feature.zip.path"> <fileset dir="${buildDirectory}/${buildType}.${buildId}"> <include name="**/org.eclipse.equinox.prov.generator.feature-*-linux.gtk.x86.zip" /> </fileset> </path> <property name="feature.zip.name" refid="feature.zip.path" /> <antcall target="extract"> <param name="extract-src" value="${feature.zip.name}" /> <param name="extract-dest" value="${prov.generator.dir}" /> </antcall> <delete> <fileset dir="${prov.generator.dir}" includes="**/org.eclipse.update.configurator_*" /> </delete> <antcall target="extract"> <param name="extract-src" value="${rcp.archive}" /> <param name="extract-dest" value="${prov.generator.dir}" /> </antcall> <chmod file="${prov.generator.dir}/eclipse/eclipse" perm="777" /> <copy file="files/config.ini.generator" tofile="${prov.generator.dir}/eclipse/configuration/config.ini" overwrite="true" /> <copy todir="${prov.generator.dir}/eclipse/plugins"> <fileset dir="files"> <include name="**/*.jar" /> </fileset> </copy> <path id="agent.zip.path"> <fileset dir="${buildDirectory}/${buildType}.${buildId}"> <include name="**/${buildId}*-win32.win32.x86.zip" /> </fileset> </path> <property name="agent.zip.name" refid="agent.zip.path" /> <property name="prov.agent.dir" value="${prov.output.base}/agent" /> <antcall target="extract"> <param name="extract-src" value="${agent.zip.name}" /> <param name="extract-dest" value="${prov.agent.dir}" /> </antcall> <!-- note: use the full path to the exe here, otherwise it seems to call the exe from the builder --> <exec executable="${prov.generator.dir}/eclipse/eclipse"> <arg line="-vm ${prov.java}" /> <arg line="-application org.eclipse.equinox.prov.metadata.generator.EclipseGenerator" /> <arg line="-consoleLog" /> <arg line="-prov.os win32" /> <arg line="-metadataRepository file:${prov.metadata.repo}" /> <arg line="-artifactRepository file:${prov.artifact.repo}" /> <arg line="-source ${prov.agent.dir}/eclipse" /> <arg line="-root agent" /> <arg line="-flavor ${prov.flavor}" /> <arg line="-publishArtifacts" /> </exec> </target> <target name="generate.metadata.selfhosting"> <path id="selfhosting.feature.zip.path"> <fileset dir="${buildDirectory}/${buildType}.${buildId}"> <include name="**/org.eclipse.equinox.prov.selfhosting.feature-*-win32.win32.x86.zip" /> </fileset> </path> <property name="selfhosting.feature.zip.name" refid="selfhosting.feature.zip.path" /> <property name="prov.selfhosting.dir" value="${prov.output.base}/selfhosting" /> <antcall target="extract"> <param name="extract-src" value="${selfhosting.feature.zip.name}" /> <param name="extract-dest" value="${prov.selfhosting.dir}" /> </antcall> <!-- note: use the full path to the exe here, otherwise it seems to call the exe from the builder --> <exec executable="${prov.generator.dir}/eclipse/eclipse"> <arg line="-vm ${prov.java}" /> <arg line="-application org.eclipse.equinox.prov.metadata.generator.EclipseGenerator" /> <arg line="-consoleLog" /> <arg line="-nosplash" /> <arg line="-updateSite ${prov.selfhosting.dir}/eclipse" /> <arg line="-root selfhosting" /> <arg line="-flavor ${prov.flavor}" /> <arg line="-publishArtifacts" /> <arg line="-metadataRepository file:${prov.metadata.repo}" /> <arg line="-artifactRepository file:${prov.artifact.repo}" /> <arg line="-noDefaultIUs" /> <arg line="-append" /> </exec> </target> <target name="generate.metadata.sdk"> <property name="prov.sdk" value="${prov.output.base}/sdk" /> <antcall target="extract"> <param name="extract-src" value="${sdk.archive}" /> <param name="extract-dest" value="${prov.sdk}" /> </antcall> <!-- note: use the full path to the exe here, otherwise it seems to call the exe from the builder --> <exec executable="${prov.generator.dir}/eclipse/eclipse"> <arg line="-vm ${prov.java}" /> <arg line="-application org.eclipse.equinox.prov.metadata.generator.EclipseGenerator" /> <arg line="-consoleLog" /> <arg line="-nosplash" /> <arg line="-metadataRepository file:${prov.metadata.repo}" /> <arg line="-artifactRepository file:${prov.artifact.repo}" /> <arg line="-source ${prov.sdk}/eclipse" /> <arg line="-root sdk" /> <arg line="-flavor ${prov.flavor}" /> <arg line="-publishArtifacts" /> <arg line="-append" /> </exec> </target> <target name="run.director"> <path id="director.zip.path"> <fileset dir="${buildDirectory}/${buildType}.${buildId}"> <include name="**/org.eclipse.equinox.prov.director.feature-*-linux.gtk.x86.zip" /> </fileset> </path> <property name="director.zip.name" refid="director.zip.path" /> <property name="prov.director.dir" value="${prov.output.base}/director" /> <antcall target="extract"> <param name="extract-src" value="${director.zip.name}" /> <param name="extract-dest" value="${prov.director.dir}" /> </antcall> <antcall target="extract"> <param name="extract-src" value="${rcp.archive}" /> <param name="extract-dest" value="${prov.director.dir}" /> </antcall> <chmod file="${prov.director.dir}/eclipse/eclipse" perm="777" /> <copy file="files/config.ini.director" tofile="${prov.director.dir}/eclipse/configuration/config.ini" overwrite="true" /> <copy todir="${prov.director.dir}/eclipse/plugins"> <fileset dir="files"> <include name="**/*.jar" /> </fileset> </copy> <!-- note: use the full path to the exe here, otherwise it seems to call the exe from the builder --> <exec executable="${prov.director.dir}/eclipse/eclipse"> <arg line="-vm ${prov.java}" /> <arg line="-application org.eclipse.equinox.prov.director.app.application" /> <arg line="-nosplash" /> <arg line="-consoleLog" /> <arg line="-flavor ${prov.flavor}" /> <arg line="-installIU agent" /> <arg line="-prov.os win32" /> <arg line="-prov.ws win32" /> <arg line="-prov.arch x86" /> <arg line="-profile EquinoxProvisioningUI" /> <arg line="-metadataRepository file:${prov.metadata.repo}" /> <arg line="-artifactRepository file:${prov.artifact.repo}" /> <arg line="-destination ${prov.install.path}" /> <arg line="-bundlepool ${prov.install.path}" /> <arg line="-roaming" /> <arg line="-vmargs" /> <arg line="-Declipse.prov.data.area=${prov.install.path}/configuration/org.eclipse.equinox.prov.core/agentdata" /> </exec> <!-- Delete the other copy of ICU until bug 199299 is fixed --> <delete> <fileset dir="${prov.install.path}/plugins"> <include name="**/com.ibm.icu_*.jar" /> </fileset> </delete> <!-- Modify the ini files to reference c:/equinox.prov until bug 200228 is fixed and we can use relative paths --> <replace dir="${prov.install.path}" token="file:${prov.install.path}" value="file://c:/equinox.prov"> <include name="eclipse.ini" /> <include name="configuration/org.eclipse.equinox.simpleconfigurator/bundles.txt" /> </replace> <replace dir="${prov.install.path}" token="file\:${prov.install.path}" value="file\://c\:/equinox.prov"> <include name="configuration/config.ini" /> </replace> <replace dir="${prov.install.path}" token="${prov.install.path}" value="c:/equinox.prov"> <include name="eclipse.ini" /> <include name="configuration/org.eclipse.equinox.simpleconfigurator/bundles.txt" /> </replace> <replace dir="${prov.install.path}" token="${prov.install.path}" value="c\:/equinox.prov"> <include name="configuration/config.ini" /> </replace> </target> <target name="zip.install"> <zip destfile="${prov.output.base}/equinox-prov-agent-${buildId}-win32.zip" basedir="${prov.install.folder.parent}" includes="${prov.install.folder}/**" /> </target> <target name="extract"> <!-- set the target based on which OS we are running on since there is a difference between unzip and untar/gunzip --> <condition property="extract.target" value="extract-zip"> <contains string="${extract-src}" substring=".zip" /> </condition> <condition property="extract.target" value="extract-tar.gz"> <contains string="${extract-src}" substring=".tar.gz" /> </condition> <antcall target="${extract.target}" /> </target> <target name="extract-zip"> <unzip src="${extract-src}" dest="${extract-dest}" /> </target> <target name="extract-tar.gz"> <gunzip src="${extract-src}" dest="${prov.output.base}/temp.tar" /> <untar src="${prov.output.base}/temp.tar" dest="${extract-dest}" /> <delete file="${prov.output.base}/temp.tar" /> </target> </project> |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.