blob: e838a34d0960e42d3204443959acb1f7c69f88db [file] [log] [blame]
<project
name="Build specific targets and properties"
default="noDefault"
basedir=".">
<target
name="init"
unless="helperInitialized">
<fail
unless="postingDirectory"
message="Eclipse drop directory must be provided (yes, even for Equinox drop site creation)." />
<fail
unless="equinoxPostingDirectory"
message="Root (or parent) of Equinox drop direcotry to be created must be provided." />
<fail
unless="eqpublishingContent"
message="Root of Equinox template and static files must be provided." />
<fail
unless="EBuilderDir"
message="Root of Eclipse Builder (or Tycho Eclipse Builder) must be provided." />
<property environment="env" />
<!-- we typically expect TMP_DIR to be set in environnment. But, if not, /tmp might work. -->
<condition
property="TMP"
value="${env.TMP_DIR}"
else="/tmp">
<isset property="env.TMP_DIR" />
</condition>
<!-- make dir, in case we are first to use it, unlikely as that is -->
<mkdir dir="$TMP" />
<echo message="DEBUG: echo properties at start of equinox publish" />
<echoproperties />
<property
name="helperInitialized"
value="true" />
</target>
<target
name="publish"
depends="init">
<echo message="[DEBUG] Equinox helper.xml publish starting" />
<!-- there are three "buildproperties.* files, each with same variables defined/used
during the build, such as BUILD_ID, etc. One for PHP, one for Ant, and one for BASH scripts.
The one for PHP is most likely to be useful on download site.
-->
<copy todir="${equinoxPostingDirectory}/${buildId}">
<fileset
dir="${postingDirectory}"
includes="buildproperties.*" />
</copy>
<!--
These two steps were "blindly" copied from previosly eclipsebuilder, buildAll.xml file.
They were the only two things done for equininox before "publish" was called, so we call
them as the first step of "publish".
-->
<!-- <ant antfile="${EBuilderDir}/equinox/buildConfigs/equinox/build.xml" /> -->
<ant antfile="${EBuilderDir}/equinox/buildConfigs/equinox-launchers/build.xml" />
<!-- copy orbit files to equinox download directory (I'm not sure this is necessary any longer?) -->
<copy
todir="${equinoxPostingDirectory}/${buildDir}"
overwrite="true">
<fileset
dir="${buildRepo}/plugins"
includes="org.apache.felix.gogo.*,javax.servlet_*,javax.servlet.jsp_*,org.apache.commons.logging_*,javax.el_*"
excludes="*.source_*, *.jar.pack.gz" />
</copy>
<antcall target="updateTestManifests" />
<property
name="generatorClass"
value="org.eclipse.releng.generators.TestResultsGenerator" />
<available
classname="${generatorClass}"
property="class"
value="${generatorClass}" />
<!-- generate md5s and sha1s for bundles -->
<mkdir dir="${equinoxPostingDirectory}/${buildDir}/checksum" />
<exec
executable="/bin/bash"
dir="${equinoxPostingDirectory}/${buildDir}">
<arg line="${EBuilderDir}/eclipse/extras/produceChecksum.sh" />
</exec>
<!--post clickThroughs. Removed 03/26/2013. There are no clickthroughs for current equinox.
if ever added back, will have to be re-worked.
<copy todir="${equinoxPostingDirectory}/${buildDir}">
<fileset
dir="${buildDirectory}/maps/org.eclipse.releng"
includes="clickThroughs/" />
</copy>
-->
<!--copy compile logs to this posting directory. Not sure needed. Is this where API reports come from? -->
<copy
todir="${equinoxPostingDirectory}/${buildDir}"
overwrite="true">
<fileset
dir="${postingDirectory}"
includes="compilelogs/**/plugins/org.eclipse.osgi*/**,compilelogs/**/plugins/org.eclipse.equinox*/**"
excludes="compilelogs/**/plugins/org.eclipse.osgi.test*/**" />
</copy>
<!--post directory.txt. Removed 03/26/2013. I don't think ever displayed on Equinox page.
and current directory.txt has limited usefulness.
<copy
file="${buildDirectory}/directory.txt"
todir="${equinoxPostingDirectory}/${buildDir}" />
-->
<copy todir="${equinoxPostingDirectory}/${buildDir}">
<fileset dir="${eqpublishingContent}/staticDropFiles" />
</copy>
<!-- regenerate the index page with links to test results.
Removed 3/26/20113. There are no test results, at this point on initial promote,
and for at least past year and a half we have never "reran" this to pick up
test results. I do not see any test results links on DL page .... though,
probably could be in icons.
Turns out we still need to run the "indexer" to update DL page, even though
there are no test results. That's how it fills in the symbols in drop token list.
-->
<property
name="class"
value="org.eclipse.releng.generators.TestResultsGenerator" />
<taskdef
name="indexResults"
classname="${class}" />
<!-- equinox uses same test results -->
<!-- provisioning removed per bug 368488
dropTokenList="%equinox%,%framework%,%extrabundles%,%other%,%provisioning%,%launchers%,%osgistarterkits%"
-->
<indexResults
isBuildTested="false"
buildType="${buildType}"
dropTokenList="%equinox%,%framework%,%extrabundles%,%other%,%launchers%,%osgistarterkits%"
dropHtmlFileName="index.php"
xmlDirectoryName="${postingDirectory}/testresults/xml"
dropDirectoryName="${equinoxPostingDirectory}/${buildDir}"
dropTemplateFileName="${eqpublishingContent}/templateFiles/index.template.php"
testResultsHtmlFileName="testResultsTable.html"
hrefTestResultsTargetPath="testresults"
hrefCompileLogsTargetPath="compilelogs/plugins/"
compileLogsDirectoryName="${equinoxPostingDirectory}/${buildDir}/compilelogs/plugins"
testManifestFileName="${eqpublishingContent}/testManifest.xml" />
<echo message="[DEBUG] Equinox helper.xml publish ending normally" />
</target>
<target
name="updateTestManifests"
depends="init">
<echo message="Starting updateTestManifest" />
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.app" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.console" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.supplement" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.device" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.event" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.launcher" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.region" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.metatype" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.useradmin" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.osgi" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.osgi.util" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.osgi.services" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.registry" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.preferences" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.common" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.cm" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.ds" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.http" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.http.jetty" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.jsp.jasper" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.jsp.jasper.registry" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.http.registry" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.http.servlet" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.http.servletbridge" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.servletbridge" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.transforms.hook" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.transforms.xslt" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="javax.servlet" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="javax.servlet.jsp" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="javax.el" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.apache.commons.logging" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.apache.felix.gogo.command" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.apache.felix.gogo.runtime" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.apache.felix.gogo.shell" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.simpleconfigurator" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.concurrent" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.coordinator" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.equinox.region" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.continuation" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.security" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.util" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.http" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.http" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.server" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.io" />
</antcall>
<antcall target="updateTestManifest">
<param
name="bundle.id"
value="org.eclipse.jetty.servlet" />
</antcall>
</target>
<!-- ===================================================================== -->
<!-- Helper targets -->
<!-- ===================================================================== -->
<target
name="updateTestManifest"
depends="init">
<apply
executable="ls"
output="${TMP}/${bundle.id}.txt"
dir="${equinoxPostingDirectory}/${buildDir}">
<fileset dir="${equinoxPostingDirectory}/${buildDir}">
<patternset>
<include name="${bundle.id}*.jar" />
</patternset>
</fileset>
</apply>
<replaceregexp
file="${TMP}/${bundle.id}.txt"
match="/.+/"
replace="" />
<replaceregexp
file="${TMP}/${bundle.id}.txt"
match="\.jar"
replace="" />
<replaceregexp
file="${TMP}/${bundle.id}.txt"
match="\n"
replace="" />
<loadfile
property="bundle.jar"
srcFile="${TMP}/${bundle.id}.txt"
failonerror="off" />
<delete
file="${TMP}/${bundle.id}.txt"
failonerror="false" />
<replace
file="${eqpublishingContent}/testManifest.xml"
token="@${bundle.id}@"
value="${bundle.jar}" />
</target>
<!-- ===================================================================== -->
<!-- Default target -->
<!-- ===================================================================== -->
<target name="noDefault">
<echo message="You must specify a target when invoking this file" />
</target>
</project>