[hibernate-commits] Hibernate SVN: r18446 - core/trunk/entitymanager.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Jan 7 22:40:18 EST 2010


Author: hardy.ferentschik
Date: 2010-01-07 22:40:18 -0500 (Thu, 07 Jan 2010)
New Revision: 18446

Modified:
   core/trunk/entitymanager/build.xml
   core/trunk/entitymanager/pom.xml
Log:
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

Modified: core/trunk/entitymanager/build.xml
===================================================================
--- core/trunk/entitymanager/build.xml	2010-01-07 20:49:36 UTC (rev 18445)
+++ core/trunk/entitymanager/build.xml	2010-01-08 03:40:18 UTC (rev 18446)
@@ -4,98 +4,120 @@
 -->
 
 <project name="HibernateEntityManager" basedir=".">
-		
-	<target name="packjar">
-		<property name="extension" value="jar"/>
-		<property name="packagename" value="${jarname}"/>
-		<property name="headerdirectory" value="."/>
-		<mkdir dir="${package.dir}"/>
-		<mkdir dir="${package.tmp.dir}/${headerdirectory}"/>
-		<copy todir="${package.tmp.dir}/${headerdirectory}">
-			<fileset dir="${classes.dir}">
-				<include name="**/test/pack/${packagename}/**.*"/>
-			</fileset>
-		</copy>
-		<jar destfile="${package.dir}/${jarname}.${extension}">
-			<fileset dir="${package.tmp.dir}">
-				<include name="**/*.*"/>
-			</fileset>
-			<fileset dir="${testresources.dir}/${jarname}">
-				<include name="**/*.*"/>
-			</fileset>
-		</jar>
-		<delete dir="${package.tmp.dir}"/>
-	</target>
-	
-	<target name="packexploded">
-		<property name="extension" value="jar"/>
-		<mkdir dir="${package.dir}/${jarname}.${extension}"/>
-		<copy todir="${package.dir}/${jarname}.${extension}">
-			<fileset dir="${classes.dir}">
-				<include name="**/test/pack/${jarname}/**.*"/>
-			</fileset>
-			<fileset dir="${testresources.dir}/${jarname}">
-				<include name="**/*.*"/>
-			</fileset>
-		</copy>
-	</target>
-	
-	<target name="package" description="Prepare all needed jars and pars">
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="defaultpar"/>
-		</antcall>
+
+    <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">
+        <property name="extension" value="jar"/>
+        <property name="packagename" value="${jarname}"/>
+        <property name="headerdirectory" value="."/>
+        <mkdir dir="${package.dir}"/>
+        <mkdir dir="${package.tmp.dir}/${headerdirectory}"/>
+        <copy todir="${package.tmp.dir}/${headerdirectory}">
+            <fileset dir="${classes.dir}">
+                <include name="**/test/pack/${packagename}/**.*"/>
+            </fileset>
+        </copy>
+        <jar destfile="${package.dir}/${jarname}.${extension}">
+            <fileset dir="${package.tmp.dir}">
+                <include name="**/*.*"/>
+            </fileset>
+            <fileset dir="${testresources.dir}/${jarname}">
+                <include name="**/*.*"/>
+            </fileset>
+        </jar>
+        <delete dir="${package.tmp.dir}"/>
+    </target>
+
+    <target name="packexploded">
+        <property name="extension" value="jar"/>
+        <mkdir dir="${package.dir}/${jarname}.${extension}"/>
+        <copy todir="${package.dir}/${jarname}.${extension}">
+            <fileset dir="${classes.dir}">
+                <include name="**/test/pack/${jarname}/**.*"/>
+            </fileset>
+            <fileset dir="${testresources.dir}/${jarname}">
+                <include name="**/*.*"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="package" description="Prepare all needed jars and pars">
         <antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="defaultpar_1_0"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="space par"/>
-			<param name="packagename" value="spacepar"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="explicitpar"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="excludehbmpar"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="jar"/>
-			<param name="jarname" value="externaljar"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="cfgxmlpar"/>
-		</antcall>
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="jar"/>
-			<param name="jarname" value="overridenpar"/>
-		</antcall>
-		
-		<!-- nested jar -->
-		<jar destfile="${package.dir}/nestedjar.ear">
-			<fileset dir="${package.dir}">
-				<include name="defaultpar.par"/>
-			</fileset>
-		</jar>
-		<copy todir="${package.dir}/nesteddir.ear">
-			<fileset dir="${package.dir}">
-				<include name="defaultpar.par"/>
-			</fileset>
-		</copy>
-		
-		<antcall target="packjar" inheritall="true">
-			<param name="extension" value="war"/>
-			<param name="jarname" value="war"/>
-			<param name="headerdirectory" value="WEB-INF/classes"/>
-		</antcall>
-		
-		<antcall target="packexploded" inheritall="true">
-			<param name="extension" value="par"/>
-			<param name="jarname" value="explodedpar"/>
-		</antcall>
-	</target>	
+            <param name="extension" value="par"/>
+            <param name="jarname" value="defaultpar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="defaultpar_1_0"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="space par"/>
+            <param name="packagename" value="spacepar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="explicitpar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="excludehbmpar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="jar"/>
+            <param name="jarname" value="externaljar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="cfgxmlpar"/>
+        </antcall>
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="jar"/>
+            <param name="jarname" value="overridenpar"/>
+        </antcall>
+
+        <!-- nested jar -->
+        <jar destfile="${package.dir}/nestedjar.ear">
+            <fileset dir="${package.dir}">
+                <include name="defaultpar.par"/>
+            </fileset>
+        </jar>
+        <copy todir="${package.dir}/nesteddir.ear">
+            <fileset dir="${package.dir}">
+                <include name="defaultpar.par"/>
+            </fileset>
+        </copy>
+
+        <antcall target="packjar" inheritall="true">
+            <param name="extension" value="war"/>
+            <param name="jarname" value="war"/>
+            <param name="headerdirectory" value="WEB-INF/classes"/>
+        </antcall>
+
+        <antcall target="packexploded" inheritall="true">
+            <param name="extension" value="par"/>
+            <param name="jarname" value="explodedpar"/>
+        </antcall>
+    </target>
 </project>

Modified: core/trunk/entitymanager/pom.xml
===================================================================
--- core/trunk/entitymanager/pom.xml	2010-01-07 20:49:36 UTC (rev 18445)
+++ core/trunk/entitymanager/pom.xml	2010-01-08 03:40:18 UTC (rev 18446)
@@ -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>
 
@@ -94,35 +96,50 @@
             <testResource>
                 <filtering>true</filtering>
                 <directory>src/test/bundles</directory>
-				<targetPath>../bundles</targetPath>
-            </testResource>          
+                <targetPath>../bundles</targetPath>
+            </testResource>
         </testResources>
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <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>
                     <execution>
                         <id>process_annotations</id>
-                        <phase>process-test-resources</phase>
+                        <phase>process-test-sources</phase>
                         <configuration>
+                            <!-- No additional configuration needed. Unbound configuration gets inherited. (Feels wrong, but that's how it is) -->
+                            <testSourceRoot>${project.build.directory}/generated-src/jpamodelgen</testSourceRoot>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>package-tests</id>
+                        <phase>process-test-classes</phase>
+                        <configuration>
                             <tasks>
-                                <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>
+                                <property name="package.dir" value="${basedir}/target/test-packages"/>
+                                <property name="package.tmp.dir" value="${basedir}/target/tmp"/>
+                                <property name="classes.dir" value="${project.build.directory}/test-classes"/>
+                                <property name="testresources.dir" value="${basedir}/target/bundles"/>
+                                <ant antfile="${basedir}/build.xml">
+                                    <target name="package"/>
+                                </ant>
                             </tasks>
-                            <testSourceRoot>${project.build.directory}/generated-src/jpamodelgen</testSourceRoot>
                         </configuration>
                         <goals>
                             <goal>run</goal>
@@ -130,29 +147,6 @@
                     </execution>
                 </executions>
             </plugin>
-	      <plugin>
-	        <artifactId>maven-antrun-plugin</artifactId>
-	        <executions>
-	          <execution>
-		        <id>package-tests</id>
-	            <phase>process-test-classes</phase>
-	            <configuration>
-		        	<tasks>
-	                    <property name="package.dir" value="${basedir}/target/test-packages" />
-	                    <property name="package.tmp.dir" value="${basedir}/target/tmp" />
-	                    <property name="classes.dir" value="${project.build.directory}/test-classes" />	
-                        <property name="testresources.dir" value="${basedir}/target/bundles" />					
-	                	<ant antfile="${basedir}/build.xml">
-	                  		<target name="package" />
-	                	</ant>
-					</tasks>
-	            </configuration>
-	            <goals>
-	              <goal>run</goal>
-	            </goals>
-	          </execution>
-	        </executions>
-	      </plugin>	
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
@@ -173,32 +167,43 @@
                     </execution>
                 </executions>
             </plugin>
-	      <plugin>
-	        <groupId>org.apache.maven.plugins</groupId>
-	        <artifactId>maven-surefire-plugin</artifactId>
-	        <configuration>
-		      <forkMode>pertest</forkMode>	
-	          <additionalClasspathElements>
-              	<additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par</additionalClasspathElement>
-				<additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par</additionalClasspathElement>
-                  <additionalClasspathElement>${basedir}/target/test-packages/defaultpar_1_0.par</additionalClasspathElement>
-				<additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par</additionalClasspathElement>
-				<additionalClasspathElement>${basedir}/target/test-packages/explicitpar.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>                              
-	          </additionalClasspathElements>
-	        </configuration>
-	      </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>pertest</forkMode>
+                    <additionalClasspathElements>
+                        <additionalClasspathElement>${basedir}/target/test-packages/cfgxmlpar.par
+                        </additionalClasspathElement>
+                        <additionalClasspathElement>${basedir}/target/test-packages/defaultpar.par
+                        </additionalClasspathElement>
+                        <additionalClasspathElement>${basedir}/target/test-packages/defaultpar_1_0.par
+                        </additionalClasspathElement>
+                        <additionalClasspathElement>${basedir}/target/test-packages/excludehbmpar.par
+                        </additionalClasspathElement>
+                        <additionalClasspathElement>${basedir}/target/test-packages/explicitpar.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>
+                    </additionalClasspathElements>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
     <profiles>
-       <profile>
+        <profile>
             <id>doc</id>
             <build>
                 <plugins>
@@ -261,6 +266,6 @@
                 </plugins>
             </build>
         </profile>
-      </profiles>
+    </profiles>
 
 </project>



More information about the hibernate-commits mailing list