blob: 406ff3ea2614f7e434d737efdb7baa8082a497f0 [file] [log] [blame]
<project
name="Publish Build"
default="default"
basedir=".">
<!--
Properties that must be passed to this script: buildDirectory:
Path to perform the build in. (A working directory) buildType:
Type of build (nightly, integration etc.) buildId: Build name
buildLabel: <buildType>-<buildName>-<timestamp>
-->
<property
environment="env"/>
<fail
unless="buildDirectory"
message="buildDirectory must be provided to publish"/>
<fail
unless="buildLabel"
message="buildLabel must be provided to publish"/>
<fail
unless="wtp.builder.home"
message="wtp.builder.home must be provided to publish"/>
<fail
unless="build.distribution"
message="build.distribution must be provided to publish"/>
<property
name="resultDir"
value="${buildDirectory}/${buildLabel}"/>
<!--name of generated index page-->
<property
name="indexFileName"
value="index.php"/>
<property
name="templateDir"
value="${wtp.builder.home}/distribution/${build.distribution}.site"/>
<property
name="resultingIndex"
value="${resultDir}/${indexFileName}"/>
<echo
level="debug"
message="resultDir: ${resultDir}"/>
<echo
level="debug"
message="templateDir: ${templateDir}"/>
<echo
level="debug"
message="resultingIndex: ${resultingIndex}"/>
<target
name="default">
<copy
overwrite="true"
file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/${indexTemplateFilename}"
tofile="${resultingIndex}"/>
<antcall
target="countFiles"/>
<antcall
target="generateCompileIndex"/>
<antcall
target="generateJUnitTestsIndex"/>
<antcall
target="getStaticFiles"/>
</target>
<target
name="generateCompileIndex">
<!--
<taskdef name="indexResults"
classname="org.eclipse.wtp.releng.tools.ResultsSummaryGenerator"
/>
-->
<!--
isBuildTested: true|false should JUnit plugin test results
be used to generate index page dropTokenList: comma
separated list of strings which should be replaced by the
fileName attribute settings in the testManifest.xml.
xmlDirectoryName: path to directory containing JUnit plugin
test results in xml format (see doc is org.eclipse.test).
dropDirectoryName: path to directory containing the result
of the build. testResultsTemplateFileName: path to template
file used to generate page with links to JUnit test results
testResultsHtmlFileName: name of file which will be
generated with links to JUnit test results dropHtmlFileName:
name of generated index page hrefTestResultsTargetPath:
relative path from index page to directory containing JUnit
html test results hrefCompileLogsTargetPath: relative path
from index page directory containing compilelogs
testManifestFileName: name of xml file containing
descriptions of zip types and log files
-->
<property
file="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
<!-- create tables of test plugin compiles first -->
<antcall
target="generateTestCompileOutput">
<param
name="outputDirectory"
value="${resultDir}/testcompilelogs"/>
</antcall>
<!-- create table of code plugins compiles -->
<antcall
target="generateCompileOutput">
<param
name="outputDirectory"
value="${resultDir}/compilelogs"/>
</antcall>
<tstamp>
<format
property="TODAY"
pattern="MMMM d, yyyy"/>
</tstamp>
<!-- Insert Build Type descriptor -->
<antcall
target="${buildType}"/>
<antcall
target="writeData"/>
<!--
Update timestamp on file to permit overwrite through Ant
copy task
-->
<touch
file="${resultingIndex}"/>
</target>
<target
name="generateTestCompileOutput"
depends="checkIfCompileLogs"
if="doCompileLogs">
<summarizeResults
isBuildTested="false"
includeAll="true"
dropTokenList="${dropTokenList}"
xmlDirectoryName=""
dropDirectoryName="${resultDir}"
testResultsTemplateFileName="${templateDir}/templateFiles/testCompileResults.php.template"
testResultsHtmlFileName="testCompileResults.php"
hrefTestResultsTargetPath=""
hrefCompileLogsTargetPath="testcompilelogs"
compileLogsDirectoryName="${outputDirectory}"/>
<antcall
target="compilerXMLToHTML"/>
</target>
<target
name="generateCompileOutput"
depends="checkIfCompileLogs"
if="doCompileLogs">
<summarizeResults
isBuildTested="false"
includeAll="true"
dropTokenList="${dropTokenList}"
xmlDirectoryName=""
dropDirectoryName="${resultDir}"
testResultsTemplateFileName="${templateDir}/templateFiles/compileResults.php.template"
testResultsHtmlFileName="compileResults.php"
hrefTestResultsTargetPath="testResults/html"
hrefCompileLogsTargetPath="compilelogs"
compileLogsDirectoryName="${outputDirectory}"/>
<antcall
target="compilerXMLToHTML"/>
</target>
<target
name="compilerXMLToHTML">
<xslt
basedir="${outputDirectory}"
destdir="${outputDirectory}"
includes="**/*.xml"
scanincludeddirectories="true"
style="compilerXMLOutputToHTML.xsl"
force="true"/>
</target>
<target
name="generateJUnitTestsIndex"
depends="checkIfTested"
if="doTests">
<!--
isBuildTested: true|false should JUnit plugin test results
be used to generate index page dropTokenList: comma
separated list of strings which should be replaced by the
fileName attribute settings in the testManifest.xml.
xmlDirectoryName: path to directory containing JUnit plugin
test results in xml format (see doc is org.eclipse.test).
dropDirectoryName: path to directory containing the result
of the build. testResultsTemplateFileName: path to template
file used to generate page with links to JUnit test results
testResultsHtmlFileName: name of file which will be
generated with links to JUnit test results dropHtmlFileName:
name of generated index page hrefTestResultsTargetPath:
relative path from index page to directory containing JUnit
html test results hrefCompileLogsTargetPath: relative path
from index page directory containing compilelogs
testManifestFileName: name of xml file containing
descriptions of zip types and log files
-->
<property
file="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
<!-- create table of test plugin compiles first -->
<!-- set isBuildTested to true for the "compile only" results -->
<summarizeResults
isBuildTested="true"
dropTokenList="${dropTokenList}"
dropDirectoryName="${resultDir}"
xmlDirectoryName="${resultDir}/testResults/xml"
testResultsTemplateFileName="${templateDir}/templateFiles/testResults.php.template"
testResultsHtmlFileName="testResults.php"
hrefTestResultsTargetPath="testResults/html"
compileLogsDirectoryName=""/>
<tstamp>
<format
property="TODAY"
pattern="MMMM d, yyyy"/>
</tstamp>
<!-- Insert Build Type descriptor -->
<antcall
target="${buildType}"/>
<antcall
target="writeData"/>
<!--
Update timestamp on file to permit overwrite through Ant
copy task
-->
<touch
file="${resultingIndex}"/>
</target>
<target
name="getStaticFiles">
<!--get static files required in the buildLabel directory-->
<copy
todir="${resultDir}">
<fileset
dir="${templateDir}/staticDropFiles"/>
</copy>
<!--copy buildnotes from plugin directories-->
<mkdir
dir="${resultDir}/buildnotes"/>
<copy
todir="${resultDir}/buildnotes"
flatten="true">
<fileset
dir="${buildDirectory}/plugins"
includes="**/buildnotes_*.html"/>
<fileset
dir="${buildDirectory}/features"
includes="**/buildnotes_*.html"/>
</copy>
<copy
file="${templateDir}/staticDropFiles/logIndex.php"
tofile="${resultDir}/testResults/consolelogs/full/logIndex.php"/>
<copy
file="${templateDir}/staticDropFiles/logIndex.php"
tofile="${resultDir}/testResults/consolelogs/testLogs/logIndex.php"/>
<copy
file="${templateDir}/staticDropFiles/logIndex.php"
tofile="${resultDir}/testResults/consolelogs/testSysErrorLogs/logIndex.php"/>
</target>
<target
name="updateSite">
<!-- get our authored, tokenized site.xml file -->
<copy
file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/siteWTP.xml"
tofile="${buildDirectory}/${buildLabel}/updateSite/site.xml"
overwrite="true"
failonerror="true"/>
<!--
get the ${buildDirectory}/finalPluginsVersions.properties,
and read as properties
-->
<!-- substitute property value for tokens -->
<replace
file="${buildDirectory}/${buildLabel}/updateSite/site.xml"
propertyfile="${buildDirectory}/finalFeaturesVersions.properties">
<replacefilter
token="@org.eclipse.wtp@"
property="org.eclipse.wtp"/>
<replacefilter
token="@org.eclipse.wtp.sdk@"
property="org.eclipse.wtp.sdk"/>
<replacefilter
token="@org.eclipse.jst@"
property="org.eclipse.jst"/>
<replacefilter
token="@org.eclipse.jst.sdk@"
property="org.eclipse.jst.sdk"/>
<replacefilter
token="@org.eclipse.jpt.feature@"
property="org.eclipse.jpt.feature"/>
<replacefilter
token="@org.eclipse.jpt_sdk.feature@"
property="org.eclipse.jpt_sdk.feature"/>
</replace>
</target>
<target
name="countFiles">
<!--
files.count is a file that should exist in the drop
directory with a count of the zip files in the same
directory. It is required to generate a link to the build on
the downloads page.
-->
<countBuildFiles
sourceDirectory="${resultDir}"
filterString=".zip,.tar.gz"
outputFile="${resultDir}/files.count"/>
</target>
<!--Build type descriptors-->
<target
name="I">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Integration"/>
</target>
<target
name="S">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Stable"/>
</target>
<target
name="N">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Nightly"/>
</target>
<target
name="M">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Maintenance"/>
</target>
<target
name="R">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Release"/>
</target>
<target
name="T">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Test"/>
</target>
<target
name="P">
<replace
file="${resultingIndex}"
token="%wtpandprereqs%"
value=" "/>
<replace
file="${resultingIndex}"
token="@type@"
value="Patches"/>
</target>
<target
name="checkIfTested">
<echo
level="debug"
message="isBuildTested: ${isBuildTested}"/>
<condition
property="doTests">
<equals
arg1="${isBuildTested}"
arg2="true"
trim="true"
casesensitive="false"/>
</condition>
</target>
<target
name="checkIfCompileLogs">
<condition
property="doCompileLogs">
<available
file="${outputDirectory}"/>
</condition>
</target>
<target
name="writeData">
<!-- Insert Build Date -->
<replace
file="${resultingIndex}"
token="@date@"
value="${TODAY}"/>
<!-- Insert Build Name -->
<replace
file="${resultingIndex}"
token="@build@"
value="${buildLabel}"/>
<replace
file="${resultingIndex}"
token="@buildBranch@"
value="${buildBranch}"/>
<!-- Insert PreRequsites -->
<replace
file="${resultingIndex}"
token="@eclipseplatformFile@"
value="${eclipseplatform.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformURL@"
value="${eclipseplatform.url}/${eclipseplatform.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformBuildURL@"
value="${eclipseplatform.url}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformfilelinux@"
value="${eclipseplatform.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformfilewindows@"
value="${eclipseplatform.file.win32-win32-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformfilemacos@"
value="${eclipseplatform.file.macosx-carbon-ppc}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatformBuildHome@"
value="${eclipseplatform.build.home}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatform.mirror.prefixuri@"
value="${eclipseplatform.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@eclipseplatform.fspath.prefix@"
value="${eclipseplatform.fspath.prefix}"/>
<replace
file="${resultingIndex}"
token="@eclipseFile@"
value="${eclipse.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseURL@"
value="${eclipse.url}/${eclipse.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipseBuildURL@"
value="${eclipse.url}"/>
<replace
file="${resultingIndex}"
token="@eclipsefilelinux@"
value="${eclipse.file.linux-gtk-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipsefilewindows@"
value="${eclipse.file.win32-win32-x86}"/>
<replace
file="${resultingIndex}"
token="@eclipsefilemacos@"
value="${eclipse.file.macosx-carbon-ppc}"/>
<replace
file="${resultingIndex}"
token="@eclipseBuildHome@"
value="${eclipse.build.home}"/>
<replace
file="${resultingIndex}"
token="@eclipse.mirror.prefixuri@"
value="${eclipse.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@eclipse.fspath.prefix@"
value="${eclipse.fspath.prefix}"/>
<replace
file="${resultingIndex}"
token="@testURL@"
value="${eclipseTestFramework.url}/${eclipseTestFramework.file}"/>
<replace
file="${resultingIndex}"
token="@testFile@"
value="${eclipseTestFramework.file}"/>
<replace
file="${resultingIndex}"
token="@emfName@"
value="${emf.name}"/>
<replace
file="${resultingIndex}"
token="@emfDescription@"
value="${emf.description}"/>
<replace
file="${resultingIndex}"
token="@emfFile@"
value="${emf.file}"/>
<replace
file="${resultingIndex}"
token="@emfURL@"
value="${emf.url}/${emf.file}"/>
<replace
file="${resultingIndex}"
token="@emfBuildHome@"
value="${emf.build.home}"/>
<replace
file="${resultingIndex}"
token="@emf.mirror.prefixuri@"
value="${emf.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfsourceURL@"
value="${emfsourcedoc.url}/${emfsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfsourceFile@"
value="${emfsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfsourceName@"
value="${emfsourcedoc.name}"/>
<replace
file="${resultingIndex}"
token="@emfsourceDescription@"
value="${emfsourcedoc.description}"/>
<replace
file="${resultingIndex}"
token="@emfsourceBuildHome@"
value="${emfsourcedoc.build.home}"/>
<replace
file="${resultingIndex}"
token="@emfsource.mirror.prefixuri@"
value="${emfsourcedoc.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsourceURL@"
value="${emfxsdsourcedoc.url}/${emfsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsourceFile@"
value="${emfxsdsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsourceName@"
value="${emfxsdsourcedoc.name}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsourceDescription@"
value="${emfxsdsourcedoc.description}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsourceBuildHome@"
value="${emfxsdsourcedoc.build.home}"/>
<replace
file="${resultingIndex}"
token="@emfxsdsource.mirror.prefixuri@"
value="${emfxsdsourcedoc.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfxsdFile@"
value="${emfxsd.file}"/>
<replace
file="${resultingIndex}"
token="@emfxsdName@"
value="${emfxsd.name}"/>
<replace
file="${resultingIndex}"
token="@emfxsdDescription@"
value="${emfxsd.description}"/>
<replace
file="${resultingIndex}"
token="@emfxsdURL@"
value="${emfxsd.url}/${emfxsd.file}"/>
<replace
file="${resultingIndex}"
token="@emfxsdBuildHome@"
value="${emfxsd.build.home}"/>
<replace
file="${resultingIndex}"
token="@emfxsd.mirror.prefixuri@"
value="${emfxsd.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationFile@"
value="${emfvalidation.file}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationURL@"
value="${emfvalidation.url}/${emfvalidation.file}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationBuildHome@"
value="${emfvalidation.build.home}"/>
<replace
file="${resultingIndex}"
token="@emfvalidation.mirror.prefixuri@"
value="${emfvalidation.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationName@"
value="${emfvalidation.name}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationDescription@"
value="${emfvalidation.description}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsourceFile@"
value="${emfvalidationsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsourceURL@"
value="${emfvalidationsourcedoc.url}/${emfvalidationsourcedoc.file}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsourceBuildHome@"
value="${emfvalidationsourcedoc.build.home}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsource.mirror.prefixuri@"
value="${emfvalidationsourcedoc.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsourceName@"
value="${emfvalidationsourcedoc.name}"/>
<replace
file="${resultingIndex}"
token="@emfvalidationsourceDescription@"
value="${emfvalidationsourcedoc.description}"/>
<replace
file="${resultingIndex}"
token="@wstName@"
value="${wst.name}"/>
<replace
file="${resultingIndex}"
token="@wstDescription@"
value="${wst.description}"/>
<replace
file="${resultingIndex}"
token="@wstFile@"
value="${wst.file}"/>
<replace
file="${resultingIndex}"
token="@wstURL@"
value="${wst.url}/${wst.file}"/>
<replace
file="${resultingIndex}"
token="@wstBuildHome@"
value="${wst.build.home}"/>
<replace
file="${resultingIndex}"
token="@wst.mirror.prefixuri@"
value="${wst.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@jstName@"
value="${jst.name}"/>
<replace
file="${resultingIndex}"
token="@jstDescription@"
value="${jst.description}"/>
<replace
file="${resultingIndex}"
token="@jstFile@"
value="${jst.file}"/>
<replace
file="${resultingIndex}"
token="@jstURL@"
value="${jst.url}/${jst.file}"/>
<replace
file="${resultingIndex}"
token="@jstBuildHome@"
value="${jst.build.home}"/>
<replace
file="${resultingIndex}"
token="@jst.mirror.prefixuri@"
value="${jst.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@wtpName@"
value="${wtp.name}"/>
<replace
file="${resultingIndex}"
token="@wtpDescription@"
value="${wtp.description}"/>
<replace
file="${resultingIndex}"
token="@wtpFile@"
value="${wtp.file}"/>
<replace
file="${resultingIndex}"
token="@wtpURL@"
value="${wtp.url}/${wtp.file}"/>
<replace
file="${resultingIndex}"
token="@wtpBuildHome@"
value="${wtp.build.home}"/>
<replace
file="${resultingIndex}"
token="@wtp.mirror.prefixuri@"
value="${wtp.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@gefFile@"
value="${gef.file}"/>
<replace
file="${resultingIndex}"
token="@gefURL@"
value="${gef.url}/${gef.file}"/>
<replace
file="${resultingIndex}"
token="@gefBuildHome@"
value="${gef.build.home}"/>
<replace
file="${resultingIndex}"
token="@gef.mirror.prefixuri@"
value="${gef.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@gefName@"
value="${gef.name}"/>
<replace
file="${resultingIndex}"
token="@gefDescription@"
value="${gef.description}"/>
<replace
file="${resultingIndex}"
token="@eclipserelengFile@"
value="${eclipsereleng.file}"/>
<replace
file="${resultingIndex}"
token="@eclipserelengURL@"
value="${eclipsereleng.url}/${eclipsereleng.file}"/>
<replace
file="${resultingIndex}"
token="@orbitthirdpartyzipFile@"
value="${orbitthirdpartyzip.file}"/>
<replace
file="${resultingIndex}"
token="@orbitthirdpartyzipURL@"
value="${orbitthirdpartyzip.url}/${orbitthirdpartyzip.file}"/>
<replace
file="${resultingIndex}"
token="@orbitthirdpartyzipBuildHome@"
value="${orbitthirdpartyzip.build.home}"/>
<replace
file="${resultingIndex}"
token="@orbitthirdpartyzip.mirror.prefixuri@"
value="${orbitthirdpartyzip.mirror.prefixuri}"/>
<!-- no longer used. Post 1.5.5 -->
<replace
file="${resultingIndex}"
token="@jemFile@"
value="${jem.file}"/>
<replace
file="${resultingIndex}"
token="@jemURL@"
value="${jem.url}/${jem.file}"/>
<replace
file="${resultingIndex}"
token="@jemBuildHome@"
value="${jem.build.home}"/>
<replace
file="${resultingIndex}"
token="@jem.mirror.prefixuri@"
value="${jem.mirror.prefixuri}"/>
<!--
these token/s should not exist in maintenance stream, but do
no harm done, so in the interests of keeping builder streams
in sync, we'll leave them here as place hold
-->
<replace
file="${resultingIndex}"
token="@dtpFile@"
value="${dtp.file}"/>
<replace
file="${resultingIndex}"
token="@dtpURL@"
value="${dtp.url}/${dtp.file}"/>
<replace
file="${resultingIndex}"
token="@dtpBuildHome@"
value="${dtp.build.home}"/>
<replace
file="${resultingIndex}"
token="@dtp.mirror.prefixuri@"
value="${dtp.mirror.prefixuri}"/>
<replace
file="${resultingIndex}"
token="@dtpName@"
value="${dtp.name}"/>
<replace
file="${resultingIndex}"
token="@dtpDescription@"
value="${dtp.description}"/>
</target>
</project>