blob: 75c2de16f1775c0821c2c2437681eab126814cec [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright (c) 2017, 2018 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Eike Stepper - initial API and implementation
-->
<project name="generate" default="generate">
<condition property="skip.tests.condition">
<equals arg1="${skip.tests}" arg2="true"/>
</condition>
<!-- ==== -->
<!-- Init -->
<!-- ==== -->
<target name="init">
<property environment="env" />
<property name="build.root" value="${env.WORKSPACE}" />
<property name="git.clone" location="${build.root}/git" />
<property name="releng.dir" location="${git.clone}/releng" />
<property name="releng" location="${releng.dir}/org.eclipse.emf.cdo.releng" />
<property name="releng.site" location="${releng.dir}/org.eclipse.emf.cdo.releng.site" />
<property file="ant.properties" />
<property file="${build.root}/build-info.properties" />
</target>
<!-- ===== -->
<!-- Clean -->
<!-- ===== -->
<target name="clean" depends="init">
<delete failonerror="false" includeemptydirs="true">
<fileset dir="${build.root}" defaultexcludes="false">
<include name="features/**" />
<include name="plugins/**" />
<include name="binary/**" />
<include name="zips/**" />
<include name="tests/**" />
<include name="help/**" />
<include name="*.jar" />
<include name="*.css" />
<include name="*.html" />
<include name="*.index" />
<include name="*.xml" />
<include name="*.xz" />
<include name="*.log" />
<include name="*.txt" />
<include name="signing.marker" />
<exclude name="build-info.properties" />
<exclude name="build-info.xml" />
</fileset>
</delete>
<!--
<echoxml file="${test.report}">
<testsuite name="CDO AllTests" tests="1" errors="0" failures="0" ignored="0">
<testcase name="noTestHasBeenExecuted" classname="org.eclipse.emf.cdo.tests.NoTest" time="0.00"/>
</testsuite>
</echoxml>
-->
</target>
<!-- ============= -->
<!-- Generate Site -->
<!-- ============= -->
<target name="generate-site" depends="clean">
<!-- Copy site contents -->
<copy todir="${build.root}" overwrite="true" includeemptydirs="true" preservelastmodified="true" failonerror="true">
<fileset dir="${releng.site}/target/repository">
<include name="**" />
</fileset>
<fileset dir="${releng}/hudson">
<include name="p2.index" />
</fileset>
</copy>
<!-- Adjust content.jar -->
<unzip src="${build.root}/content.jar" dest="${build.root}" />
<delete file="${build.root}/content.jar" />
<replaceregexp file="${build.root}/content.xml" match="Build Local" replace="${build.qualifier}" />
<zip destfile="${build.root}/content.jar" basedir="${build.root}" includes="content.xml" />
<xslt style="xsl/content2html.xsl" in="${build.root}/content.xml" out="${build.root}/index.html" />
<xslt style="xsl/content2xml.xsl" in="${build.root}/content.xml" out="${build.root}/index.xml" />
<delete file="${build.root}/content.xml" />
<!-- Adjust artifacts.jar -->
<unzip src="${build.root}/artifacts.jar" dest="${build.root}" />
<delete file="${build.root}/artifacts.jar" />
<replaceregexp file="${build.root}/artifacts.xml" match="Build Local" replace="${build.qualifier}" />
<zip destfile="${build.root}/artifacts.jar" basedir="${build.root}" includes="artifacts.xml" />
<delete file="${build.root}/artifacts.xml" />
</target>
<!-- ============= -->
<!-- Generate Help -->
<!-- ============= -->
<target name="generate-help" depends="clean">
<property name="releng.help" location="${releng.dir}/org.eclipse.emf.cdo.releng.help" />
<mkdir dir="${build.root}/help" />
<copy todir="${build.root}/help">
<fileset dir="${releng.help}/html">
<include name="**" />
</fileset>
<fileset dir="${releng.help}">
<include name="docs.txt" />
</fileset>
</copy>
</target>
<!-- =================== -->
<!-- Generate Booksmarks -->
<!-- =================== -->
<target name="generate-bookmarks" depends="clean">
<property name="bookmarks.tmp" location="${build.root}/bookmarks.tmp" />
<xslt
style="xsl/target2bookmarks.xsl"
in="${releng.dir}/org.eclipse.emf.cdo.releng.parent/tp/org.eclipse.emf.cdo.releng.tp.target"
out="${bookmarks.tmp}" />
<property name="bookmarks.xml" location="${build.root}/bookmarks.xml" />
<concat destfile="${bookmarks.xml}">
<header filtering="false">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;bookmarks&gt;
</header>
<union>
<sort>
<tokens>
<file file="${bookmarks.tmp}" />
<linetokenizer includedelims="true" />
</tokens>
</sort>
</union>
<filterchain>
<linecontains>
<contains value="http://" />
</linecontains>
</filterchain>
<footer filtering="false">&lt;/bookmarks&gt;
</footer>
</concat>
<delete file="${bookmarks.tmp}" />
</target>
<!-- ================ -->
<!-- Generate Dropins -->
<!-- ================ -->
<target name="generate-dropins" depends="clean">
<property name="zips" location="${build.root}/zips" />
<mkdir dir="${zips}" />
<zip destfile="${zips}/emf-cdo-${build.qualifier}-Dropins.zip">
<fileset dir="${releng.site}/target/repository">
<exclude name="**/*.pack.gz" />
<include name="features/*.jar" />
<include name="plugins/*.jar" />
</fileset>
</zip>
<echo message=" for use with a &lt;a href=&quot;http://help.eclipse.org/oxygen/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/p2_dropins_format.html&quot;&gt;dropins&lt;/a&gt; folder."
file="${zips}/emf-cdo-${build.qualifier}-Dropins.properties" />
</target>
<!-- ==================== -->
<!-- Generate API Reports -->
<!-- ==================== -->
<target name="generate-apireports" depends="clean">
<copy file="${releng}/api/api.xml" todir="${build.root}" overwrite="true" />
<copy file="${releng}/api/api.css" todir="${build.root}" overwrite="true" />
<java classname="org.eclipse.emf.cdo.releng.Api2Html">
<classpath>
<pathelement location="${releng}/target/classes/" />
<pathelement location="/opt/public/common/apache-ant-1.7.1/lib/xercesImpl.jar" />
</classpath>
<arg value="${build.root}" />
<arg value="${build.qualifier}" />
</java>
</target>
<!-- ==================== -->
<!-- Generate Test Reports -->
<!-- ==================== -->
<target name="generate-testreports" depends="clean" unless="skip.tests.condition">
<property name="tests" location="${build.root}/tests" />
<mkdir dir="${tests}" />
<copy todir="${tests}/tmp" flatten="true">
<fileset dir="${build.root}">
<include name="**/target/surefire-reports/TEST-*.xml" />
</fileset>
</copy>
<java classname="org.eclipse.emf.cdo.releng.FixTestReportNesting">
<classpath>
<pathelement location="${releng}/target/classes/" />
</classpath>
<arg value="${tests}/tmp" />
</java>
<junitreport todir="${tests}">
<fileset dir="${tests}/tmp/singles">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${tests}">
<param name="TITLE" expression="CDO ${build.qualifier} Test Results" />
</report>
</junitreport>
<delete includeemptydirs="true">
<fileset dir="${tests}">
<include name="tmp/**" />
</fileset>
</delete>
<replace dir="${tests}" includes="**/package-summary.html" token="&lt;h3&gt;Package " value="&lt;h3&gt;Scenario " />
<replace dir="${tests}" includes="overview-*.html" token="&lt;h2&gt;Packages&lt;/h2&gt;" value="&lt;h2&gt;Scenarios&lt;/h2&gt;" />
<move file="${tests}/TESTS-TestSuites.xml" tofile="${tests}/test-report.xml" />
</target>
<!-- ======== -->
<!-- Generate -->
<!-- ======== -->
<target name="generate" depends="generate-site,generate-help,generate-bookmarks,generate-dropins,generate-apireports,generate-testreports" />
</project>