[Yanel-commits] rev 41808 - in public/yanel/trunk/src: build/resource-types realms/welcome-admin/yanel/resources/update-webapp

guillaume at wyona.com guillaume at wyona.com
Thu Mar 5 17:01:14 CET 2009


Author: guillaume
Date: 2009-03-05 17:01:14 +0100 (Thu, 05 Mar 2009)
New Revision: 41808

Modified:
   public/yanel/trunk/src/build/resource-types/resource-type.build.xml
   public/yanel/trunk/src/realms/welcome-admin/yanel/resources/update-webapp/build.xml
Log:
Removed duplicate Ant code.
This also gives us for free:
- `build -f ...` support
- copying of classpath standard resource files (resource.xml, yanel-htdocs/**, htdocs/**) into the delivered JAR.

Alos borrowed the already-generic "install-jar" target from there and put into the commons.

Issue: 6898


Modified: public/yanel/trunk/src/build/resource-types/resource-type.build.xml
===================================================================
--- public/yanel/trunk/src/build/resource-types/resource-type.build.xml	2009-03-05 15:40:05 UTC (rev 41807)
+++ public/yanel/trunk/src/build/resource-types/resource-type.build.xml	2009-03-05 16:01:14 UTC (rev 41808)
@@ -4,6 +4,7 @@
 >
 <!-- the default task seems not to be imported at least with Ant 1.6.5
  default="compile"
+ default="install-jar"
 -->
   <dirname property="resource.home.dir" file="${ant.file}"/>
 
@@ -76,4 +77,20 @@
       <mapper type="flatten"/>
     </copy>
   </target>
+
+  <target name="install-jar" description="Place jar file for this resource into local maven repository" depends="init, clean, compile" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+    <copy file="src/build/pom.xml" tofile="build/lib/pom.xml"/>
+
+    <replace file="build/lib/pom.xml" value="${resource.version}">
+      <replacetoken>@VERSION@</replacetoken>
+    </replace>
+    <replace file="build/lib/pom.xml" value="${resource.name}">
+      <replacetoken>@NAME@</replacetoken>
+    </replace>
+
+    <artifact:pom id="maven.project.core" file="build/lib/pom.xml"/>
+    <artifact:install file="build/lib/yanel-resource-${resource.name}-${resource.version}.jar">
+      <pom refid="maven.project.core"/>
+    </artifact:install>
+  </target>
 </project>

Modified: public/yanel/trunk/src/realms/welcome-admin/yanel/resources/update-webapp/build.xml
===================================================================
--- public/yanel/trunk/src/realms/welcome-admin/yanel/resources/update-webapp/build.xml	2009-03-05 15:40:05 UTC (rev 41807)
+++ public/yanel/trunk/src/realms/welcome-admin/yanel/resources/update-webapp/build.xml	2009-03-05 16:01:14 UTC (rev 41808)
@@ -1,71 +1,9 @@
-<?xml version="1.0"?>
+<project name="yanel-update-webapp-resource">
+  <import file="${yanel.source.home}/src/build/resource-types/resource-type.build.xml"/>
 
-<project name="yanel-resource" default="compile">
-<!--
-<project name="yanel-resource" default="install-jar">
--->
-
-  <import file="src/build/dependencies.xml"/>
-
-  <target name="init" description="Initialize build" depends="dependencies">
-    <echo>Initialize build</echo>
-
-    <dirname property="resource.home.dir" file="${ant.file}"/>
-    <echo>Resource Home Directory: ${resource.home.dir}</echo>
-
-    <property file="${resource.home.dir}/src/build/local.build.properties"/>
-    <property file="${resource.home.dir}/src/build/build.properties"/>
-
-    <path id="classpath">
-      <pathelement path="${maven2.cp}"/>
-    </path>
-    <property name="resource.build.dir" value="${resource.home.dir}/build"/>
-    <property name="resource.classes.dir" value="${resource.build.dir}/classes"/>
-    <property name="resource.lib.dir" value="${resource.build.dir}/lib"/>
-    <property name="resource.java.dir" value="${resource.home.dir}/src/java"/>
-  </target>
-
-  <target name="compile" description="Compile Java classes" depends="init">
-
-    <mkdir dir="${resource.classes.dir}"/>
-    <javac srcdir="${resource.java.dir}" destdir="${resource.classes.dir}"
-      classpathref="classpath"
-      debug="true"
-    />
-    <mkdir dir="${resource.lib.dir}"/>
-    <jar destfile="${resource.lib.dir}/yanel-resource-${resource.name}-${resource.version}.jar"
-      basedir="${resource.classes.dir}"
-    />
-  </target>
-
-  <target name="clean" depends="init">
-    <delete dir="${resource.build.dir}"/>
-  </target>
-
-  <target name="copy-dependencies" depends="init">
-    <copy todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib">
-      <fileset refid="maven2.resource.fileset"/>
-      <mapper type="flatten"/>
-    </copy>
-    
+  <target name="copy-dependencies" depends="yanel-resource.copy-dependencies">
     <copy todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/classes">
       <fileset dir="config" includes="update_*.properties"/>
     </copy>
   </target>
-
-  <target name="install-jar" description="Place jar file for this resource into local maven repository" depends="init, clean, compile" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-    <copy file="src/build/pom.xml" tofile="build/lib/pom.xml"/>
-
-    <replace file="build/lib/pom.xml" value="${resource.version}">
-      <replacetoken>@VERSION@</replacetoken>
-    </replace>
-    <replace file="build/lib/pom.xml" value="${resource.name}">
-      <replacetoken>@NAME@</replacetoken>
-    </replace>
-
-    <artifact:pom id="maven.project.core" file="build/lib/pom.xml"/>
-    <artifact:install file="build/lib/yanel-resource-${resource.name}-${resource.version}.jar">
-      <pom refid="maven.project.core"/>
-    </artifact:install>
-  </target>
 </project>



More information about the Yanel-commits mailing list