mirror of
https://github.com/vaadin/framework.git
synced 2024-08-31 05:55:27 +02:00
141 lines
5.8 KiB
XML
141 lines
5.8 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<project name="vaadin-buildhelpers" basedir="." default="publish-local"
|
|
xmlns:ivy="antlib:org.apache.ivy.ant">
|
|
<description>
|
|
Compiles build helpers used when building other
|
|
modules.
|
|
</description>
|
|
<include file="../build.xml" as="vaadin" />
|
|
<include file="../common.xml" as="common" />
|
|
|
|
<property name="module.name" value="vaadin-buildhelpers" />
|
|
<property name="module.symbolic" value="com.vaadin.buildhelpers" />
|
|
<property name="result.dir" location="result" />
|
|
<path id="classpath.compile.custom" />
|
|
|
|
<property name="filtered.webcontent.dir" location="${result.dir}/WebContent" />
|
|
<property name="release-notes-tickets-file" location="${result.dir}/release-notes-tickets.html" />
|
|
<property name="release-notes-authors-file" location="${result.dir}/release-notes-authors.html" />
|
|
|
|
<target name="jar" depends="filter.webcontent">
|
|
<antcall target="common.compile" />
|
|
<property name="result.jar"
|
|
location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
|
|
<property name="classes" location="${result.dir}/classes" />
|
|
<property name="src" location="${result.dir}/../src" />
|
|
|
|
<jar destfile="${result.jar}" duplicate="fail" index="true">
|
|
<fileset dir="${classes}" excludes="${classes.exclude}"
|
|
erroronmissingdir="false" />
|
|
<fileset dir="${filtered.webcontent.dir}/.."
|
|
includes="WebContent/**" />
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="publish-local" depends="jar">
|
|
<antcall target="common.publish-local" />
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<antcall target="common.clean" />
|
|
</target>
|
|
|
|
<target name="filter.webcontent"
|
|
depends="fetch-release-notes-tickets,fetch-release-notes-authors">
|
|
<!-- Running without build.release-notes will cause an error, which
|
|
is ignored -->
|
|
<loadfile property="release-notes-tickets" srcFile="${release-notes-tickets-file}"
|
|
failonerror="false" />
|
|
<loadfile property="release-notes-authors" srcFile="${release-notes-authors-file}"
|
|
failonerror="false" />
|
|
|
|
<delete dir="${filtered.webcontent.dir}" />
|
|
<copy todir="${filtered.webcontent.dir}">
|
|
<fileset dir="${vaadin.basedir}/WebContent">
|
|
<include name="img/**" />
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${filtered.webcontent.dir}">
|
|
<fileset dir="${vaadin.basedir}/WebContent">
|
|
<patternset>
|
|
<include name="release-notes.html" />
|
|
<include name="license.html" />
|
|
<include name="licenses/**" />
|
|
<include name="css/**" />
|
|
</patternset>
|
|
</fileset>
|
|
<filterchain>
|
|
<expandproperties />
|
|
<replacetokens begintoken="@" endtoken="@">
|
|
<token key="version" value="${vaadin.version}" />
|
|
</replacetokens>
|
|
<replacetokens begintoken="@" endtoken="@">
|
|
<token key="version-minor"
|
|
value="${vaadin.version.major}.${vaadin.version.minor}" />
|
|
</replacetokens>
|
|
<replacetokens begintoken="@" endtoken="@">
|
|
<token key="builddate" value="${build.date}" />
|
|
</replacetokens>
|
|
<replacetokens begintoken="@" endtoken="@">
|
|
<token key="release-notes-tickets" value="${release-notes-tickets}" />
|
|
</replacetokens>
|
|
<replacetokens begintoken="@" endtoken="@">
|
|
<token key="release-notes-authors" value="${release-notes-authors}" />
|
|
</replacetokens>
|
|
</filterchain>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="fetch-release-notes-tickets" if="build.release-notes">
|
|
<mkdir dir="${filtered.webcontent.dir}" />
|
|
<antcall target="exec-buildhelper">
|
|
<param name="main.class"
|
|
value="com.vaadin.buildhelpers.FetchReleaseNotesTickets" />
|
|
<param name="output" location="${release-notes-tickets-file}" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="fetch-release-notes-authors" if="build.release-notes">
|
|
<copy file="src/com/vaadin/buildhelpers/authormap.properties"
|
|
tofile="${result.dir}/classes/com/vaadin/buildhelpers/authormap.properties" />
|
|
|
|
<mkdir dir="${filtered.webcontent.dir}" />
|
|
<antcall target="exec-buildhelper">
|
|
<param name="main.class"
|
|
value="com.vaadin.buildhelpers.FetchReleaseNotesAuthors" />
|
|
<param name="output" location="${release-notes-authors-file}" />
|
|
</antcall>
|
|
<delete
|
|
file="${result.dir}/classes/com/vaadin/buildhelpers/authormap.properties" />
|
|
</target>
|
|
|
|
<target name="exec-buildhelper">
|
|
<antcall target="common.compile" />
|
|
<fail unless="main.class" message="No main class given in 'main.class'" />
|
|
<fail unless="output" message="No output file given in 'output'" />
|
|
<ivy:resolve log="download-only" conf="build" />
|
|
<ivy:cachepath pathid="deps" />
|
|
<java classname="${main.class}" output="${output}"
|
|
failonerror="true" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${result.dir}/classes" />
|
|
</classpath>
|
|
<classpath refid="deps" />
|
|
<jvmarg value="-Dvaadin.version=${vaadin.version}" />
|
|
</java>
|
|
</target>
|
|
|
|
<target name="checkstyle">
|
|
<antcall target="common.checkstyle">
|
|
<param name="cs.src" location="src" />
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="test" depends="checkstyle">
|
|
<!--<antcall target="common.test.run" /> -->
|
|
<echo>WHAT? No JUnit tests for ${module.name}!</echo>
|
|
</target>
|
|
</project>
|