| <project name="Publish Build" default="default"> |
| |
| <!-- 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 name="result" value="${buildDirectory}/${buildLabel}" /> |
| |
| <!--name of generated index page--> |
| <property name="indexFileName" value="index.html" /> |
| |
| <target name="default"> |
| <antcall target="countFiles" /> |
| <antcall target="generateIndex" /> |
| <antcall target="getStaticFiles" /> |
| </target> |
| |
| <target name="generateIndex"> |
| |
| <property name="class" value="org.eclipse.releng.generators.TestResultsGenerator" /> |
| <taskdef name="indexResults" classname="${class}" /> |
| |
| <!-- |
| 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 name="xmlDirectoryName" value="${result}/testresults/xml" /> |
| <property name="dropDirectoryName" value="${result}" /> |
| <property name="testResultsTemplateFileName" value="${basedir}/templateFiles/testResults.php.template" /> |
| <property name="dropTemplateFileName" value="${basedir}/templateFiles/index.html.template" /> |
| <property name="testResultsHtmlFileName" value="testResults.php" /> |
| <property name="hrefTestResultsTargetPath" value="testresults/html" /> |
| <property name="hrefCompileLogsTargetPath" value="compilelogs" /> |
| <property name="compileLogsDirectoryName" value="${result}/compilelogs" /> |
| <property name="testManifestFileName" value="${basedir}/testManifest.xml" /> |
| |
| |
| <indexResults |
| isBuildTested="${isBuildTested}" |
| buildType="${buildType}" |
| dropTokenList="${dropTokenList}" |
| platformIdentifierToken="${platformIdentifierToken}" |
| platformSpecificTemplateList="${platformSpecificTemplateList}" |
| dropHtmlFileName="${indexFileName}" |
| xmlDirectoryName="${xmlDirectoryName}" |
| dropDirectoryName="${dropDirectoryName}" |
| testResultsTemplateFileName="${testResultsTemplateFileName}" |
| dropTemplateFileName="${dropTemplateFileName}" |
| testResultsHtmlFileName="${testResultsHtmlFileName}" |
| hrefTestResultsTargetPath="${hrefTestResultsTargetPath}" |
| hrefCompileLogsTargetPath="${hrefCompileLogsTargetPath}" |
| compileLogsDirectoryName="${compileLogsDirectoryName}" |
| testManifestFileName="${testManifestFileName}" |
| /> |
| |
| <tstamp> |
| <format property="TODAY" pattern="MMMM d, yyyy"/> |
| </tstamp> |
| |
| <!-- Insert Build Type descriptor --> |
| <antcall target="${buildType}" /> |
| |
| <!-- Insert Build Date --> |
| <replace file="${result}/${indexFileName}" token="@date@" value="${TODAY}"/> |
| <replace dir="${result}" value="${TODAY}"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@date@]]></replacetoken> |
| </replace> |
| |
| <!-- Insert Build Name --> |
| <replace file="${result}/${indexFileName}" token="@build@" value="${buildId}"/> |
| <replace dir="${result}" value="${buildId}"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@build@]]></replacetoken> |
| </replace> |
| |
| |
| <!-- Update timestamp on file to permit overwrite through Ant copy task --> |
| <touch file="${result}/${indexFileName}" /> |
| <touch> |
| <fileset dir="${result}"> |
| <include name="**/*.php"/> |
| </fileset> |
| </touch> |
| |
| </target> |
| |
| |
| <target name="getStaticFiles"> |
| <!--get static files required in the buildLabel directory--> |
| <copy todir="${result}"> |
| <fileset dir="staticDropFiles" /> |
| </copy> |
| |
| <!--copy buildnotes from plugin directories--> |
| <mkdir dir="${result}/buildnotes" /> |
| <copy todir="${result}/buildnotes" flatten="true"> |
| <fileset dir="${buildDirectory}/plugins" includes="**/buildnotes_*.html" /> |
| </copy> |
| </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. |
| --> |
| <taskdef name="countFiles" classname="org.eclipse.releng.generators.FileCounter" /> |
| |
| <countFiles |
| sourceDirectory="${result}" |
| filterString=".zip,.tar.gz" |
| outputFile="${result}/files.count" |
| /> |
| |
| </target> |
| |
| <!--Build type descriptors--> |
| <target name="I"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Integration"/> |
| <replace dir="${result}" value="Integration"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| <target name="N"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Nightly"/> |
| <replace dir="${result}" value="Nightly"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| <target name="M"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Maintenance"/> |
| <replace dir="${result}" value="Maintenance"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| <target name="R"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Release"/> |
| <replace dir="${result}" value="Release"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| <target name="S"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Stable"/> |
| <replace dir="${result}" value="Stable"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| <target name="T"> |
| <replace file="${result}/${indexFileName}" token="@type@" value="Test"/> |
| <replace dir="${result}" value="Test"> |
| <include name="**/*.php"/> |
| <replacetoken><![CDATA[@type@]]></replacetoken> |
| </replace> |
| </target> |
| |
| </project> |