HHH-4763 Moved the metamodel task into build.xml and modified the antrun configuration to allow to run 'mvn antrun:run'. Also combined all antrun calls into one plugin configuration

git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@18446 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
Hardy Ferentschik 2010-01-08 03:40:18 +00:00
parent 415c9e9ec3
commit c8e1fbddcf
2 changed files with 185 additions and 158 deletions

View File

@ -5,6 +5,28 @@
<project name="HibernateEntityManager" basedir="."> <project name="HibernateEntityManager" basedir=".">
<target name="generate-metamodel" depends="uptodate.check" unless="metamodel.build.notRequired">
<echo>Processing JPA annotations for metamodel generation</echo>
<javac srcdir="${src.dir}"
destdir="${target.dir}"
failonerror="false"
fork="true"
executable="${jdk16_home}/bin/javac"
target="1.5"
classpath="${classpath}">
<compilerarg value="-proc:only"/>
</javac>
<touch file="${target.dir}/.staleflag"/>
</target>
<target name="uptodate.check">
<mkdir dir="${target.dir}"/>
<uptodate property="metamodel.build.notRequired" targetfile="${target.dir}/.staleflag">
<srcfiles dir="${src.dir}" includes="**/*.java"/>
</uptodate>
</target>
<target name="packjar"> <target name="packjar">
<property name="extension" value="jar"/> <property name="extension" value="jar"/>
<property name="packagename" value="${jarname}"/> <property name="packagename" value="${jarname}"/>

View File

@ -1,4 +1,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -101,49 +103,41 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <artifactId>maven-antrun-plugin</artifactId>
<!-- Define one configuration outside executions and without a phase in order to allow 'mvn antrun:run' -->
<configuration>
<tasks>
<property name="target.dir" value="${project.build.directory}/generated-src/jpamodelgen"/>
<property name="src.dir" value="${project.build.testSourceDirectory}"/>
<property name="jdk16_home" value="${jdk16_home}"/>
<property name="classpath" refid="maven.test.classpath"/>
<ant antfile="${basedir}/build.xml">
<target name="generate-metamodel"/>
</ant>
</tasks>
</configuration>
<executions> <executions>
<execution> <execution>
<id>process_annotations</id> <id>process_annotations</id>
<phase>process-test-resources</phase> <phase>process-test-sources</phase>
<configuration> <configuration>
<tasks> <!-- No additional configuration needed. Unbound configuration gets inherited. (Feels wrong, but that's how it is) -->
<echo>processing JPA annotations</echo>
<property name="target.dir" value="${project.build.directory}/generated-src/jpamodelgen"/>
<mkdir dir="${target.dir}"/>
<javac srcdir="${project.build.testSourceDirectory}"
destdir="${target.dir}"
failonerror="false"
fork="true"
executable="${jdk16_home}/bin/javac"
target="1.5">
<compilerarg value="-proc:only"/>
<classpath>
<path refid="maven.test.classpath"/>
</classpath>
</javac>
</tasks>
<testSourceRoot>${project.build.directory}/generated-src/jpamodelgen</testSourceRoot> <testSourceRoot>${project.build.directory}/generated-src/jpamodelgen</testSourceRoot>
</configuration> </configuration>
<goals> <goals>
<goal>run</goal> <goal>run</goal>
</goals> </goals>
</execution> </execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution> <execution>
<id>package-tests</id> <id>package-tests</id>
<phase>process-test-classes</phase> <phase>process-test-classes</phase>
<configuration> <configuration>
<tasks> <tasks>
<property name="package.dir" value="${basedir}/target/test-packages" /> <property name="package.dir" value="${basedir}/target/test-packages"/>
<property name="package.tmp.dir" value="${basedir}/target/tmp" /> <property name="package.tmp.dir" value="${basedir}/target/tmp"/>
<property name="classes.dir" value="${project.build.directory}/test-classes" /> <property name="classes.dir" value="${project.build.directory}/test-classes"/>
<property name="testresources.dir" value="${basedir}/target/bundles" /> <property name="testresources.dir" value="${basedir}/target/bundles"/>
<ant antfile="${basedir}/build.xml"> <ant antfile="${basedir}/build.xml">
<target name="package" /> <target name="package"/>
</ant> </ant>
</tasks> </tasks>
</configuration> </configuration>
@ -179,17 +173,28 @@
<configuration> <configuration>
<forkMode>pertest</forkMode> <forkMode>pertest</forkMode>
<additionalClasspathElements> <additionalClasspathElements>
<additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par
<additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par</additionalClasspathElement> </additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/defaultpar_1_0.par</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par
<additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par</additionalClasspathElement> </additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/explicitpar.par</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/defaultpar_1_0.par
<additionalClasspathElement>${basedir}/target/test-packages/explodedpar.par</additionalClasspathElement> </additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/externaljar.jar</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par
<additionalClasspathElement>${basedir}/target/test-packages/nesteddir.ear</additionalClasspathElement> </additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/nestedjar.ear</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/explicitpar.par
<additionalClasspathElement>${basedir}/target/test-packages/overridenpar.jar</additionalClasspathElement> </additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/space par.par</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/explodedpar.par
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/externaljar.jar
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/nesteddir.ear
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/nestedjar.ear
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/overridenpar.jar
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/space par.par
</additionalClasspathElement>
<additionalClasspathElement>${basedir}/target/test-packages/war.war</additionalClasspathElement> <additionalClasspathElement>${basedir}/target/test-packages/war.war</additionalClasspathElement>
</additionalClasspathElements> </additionalClasspathElements>
</configuration> </configuration>