[Yanel-commits] rev 41956 - in public/yanel/trunk/src: build build/resource-types build/targets test

guillaume at wyona.com guillaume at wyona.com
Mon Mar 16 08:31:18 CET 2009


Author: guillaume
Date: 2009-03-16 08:31:17 +0100 (Mon, 16 Mar 2009)
New Revision: 41956

Added:
   public/yanel/trunk/src/build/pom-test.xml
Modified:
   public/yanel/trunk/src/build/resource-types/resource-type.build.xml
   public/yanel/trunk/src/build/targets/build-artifacts.build.xml
   public/yanel/trunk/src/test/build.xml
Log:
Now producing a Yanel test JAR as a Maven artifact
 to help getting the Yanel-specific base test classes into the Eclipse classpath.
To get it run `build -f src/test/build.xml install-jar`
(running `build deploy` before may be need to get the full classpath for building it).

Issue: 6942


Added: public/yanel/trunk/src/build/pom-test.xml
===================================================================
--- public/yanel/trunk/src/build/pom-test.xml	                        (rev 0)
+++ public/yanel/trunk/src/build/pom-test.xml	2009-03-16 07:31:17 UTC (rev 41956)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>wyona-org-yanel</groupId>
+  <artifactId>yanel-test</artifactId>
+  <version>@VERSION@</version>
+  <dependencies>
+    <dependency>
+      <groupId>wyona-org-yanel</groupId>
+      <artifactId>yanel-impl</artifactId>
+      <version>@VERSION@</version>
+    </dependency>
+  </dependencies>
+</project>
+

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-16 06:50:35 UTC (rev 41955)
+++ public/yanel/trunk/src/build/resource-types/resource-type.build.xml	2009-03-16 07:31:17 UTC (rev 41956)
@@ -1,6 +1,7 @@
 <?xml version="1.0"?>
 <!-- Everything common to most resource types. -->
 <project name="yanel-resource"
+ xmlns:artifact="antlib:org.apache.maven.artifact.ant"
 >
 <!-- the default task seems not to be imported at least with Ant 1.6.5
  default="compile"
@@ -18,6 +19,15 @@
   <import file="${resource.home.dir}/src/build/dependencies.xml"/>
 
   <target name="init" description="Initialize build" depends="dependencies">
+    <artifact:remoteRepository id="wyona.remote.repository" url="${maven.url}"/>
+
+    <artifact:dependencies pathId="Yanel.test.jars.classpath" filesetId="Yanel.test.jars.fileset">
+      <remoteRepository refid="wyona.remote.repository"/>
+      <dependency groupId="wyona-org-yanel" artifactId="yanel-test" version="${yanel.source.version}"/>
+    </artifact:dependencies>
+    <echo level="verbose">Yanel test JARs classpath: ${toString:Yanel.test.jars.classpath}</echo>
+
+
     <property file="${resource.home.dir}/src/build/local.build.properties"/>
     <property file="${resource.home.dir}/src/build/build.properties"/>
 
@@ -34,9 +44,13 @@
   </target>
 
   <target name="eclipse:classpath" description="Update Eclipse's .classpath file" depends="init">
+    <path id="eclipse.classpath">
+      <fileset refid="maven2.fileset"/>
+      <fileset refid="Yanel.test.jars.fileset"/>
+    </path>
     <ant dir="${yanel.home}/tools/eclipse.settings" target="update-classpath"
      inheritAll="false" inheritRefs="false">
-      <reference torefid="classpath.ref" refid="classpath"/>
+      <reference torefid="classpath.ref" refid="eclipse.classpath"/>
       <property name="classpath.dir" value="${resource.home.dir}"/>
     </ant>
   </target>

Modified: public/yanel/trunk/src/build/targets/build-artifacts.build.xml
===================================================================
--- public/yanel/trunk/src/build/targets/build-artifacts.build.xml	2009-03-16 06:50:35 UTC (rev 41955)
+++ public/yanel/trunk/src/build/targets/build-artifacts.build.xml	2009-03-16 07:31:17 UTC (rev 41956)
@@ -6,12 +6,17 @@
   <macrodef name="install-jar" uri="http://www.wyona.org/yanel/1.0">
    <attribute name="id"/>
    <attribute name="package-dir" default="@{id}"/>
+   <attribute name="classes-dir" default="${classes.dir}"/>
+   <element name="jar-elements" optional="true" implicit="true"/>
    <sequential>
 
     <mkdir dir="${yanel.source.home}/build/lib"/>
     <jar destfile="${yanel.source.home}/build/lib/yanel-@{id}-${yanel.version}-r${yanel.revision}.jar"
-      basedir="${classes.dir}"
-      includes="org/wyona/yanel/@{package-dir}/**"/>
+      basedir="@{classes-dir}"
+      includes="org/wyona/yanel/@{package-dir}/**"
+    >
+      <jar-elements/>
+    </jar>
 
     <copy file="${yanel.source.home}/src/build/pom-@{id}.xml" todir="${yanel.source.home}/build/lib"/>
     <replace file="${yanel.source.home}/build/lib/pom-@{id}.xml" value="${yanel.version}-r${yanel.revision}">

Modified: public/yanel/trunk/src/test/build.xml
===================================================================
--- public/yanel/trunk/src/test/build.xml	2009-03-16 06:50:35 UTC (rev 41955)
+++ public/yanel/trunk/src/test/build.xml	2009-03-16 07:31:17 UTC (rev 41956)
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<project name="test" default="test"
+ xmlns:yanel="http://www.wyona.org/yanel/1.0"
+ xmlns:artifact="antlib:org.apache.maven.artifact.ant"
+>
 
-<project name="test" default="test" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-
   <property file="../build/local.build.properties"/>
   <property file="../build/build.properties"/>
 
@@ -21,6 +23,9 @@
   <property name="webapp.lib.dir" value="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib"/>
 
   <property name="yanel.source.version" value="${yanel.version}-r${yanel.revision}"/>
+
+
+  <import file="../build/targets/build-artifacts.build.xml"/>
   
   <target name="init" depends="dependencies">
     <path id="classpath">
@@ -59,7 +64,7 @@
     <property name="maven2.cp" refid="maven2.classpath"/>
   </target>
  
-  <target name="build" depends="init" description="Build tests">
+  <target name="compile-classes" depends="init" description="Compile Java test classes of Yanel">
     <mkdir dir="${build.dir}"/>
     <mkdir dir="${junit.build.dir}"/>
     <mkdir dir="${htmlunit.build.dir}"/>
@@ -73,9 +78,20 @@
     <javac srcdir="${htmlunit.src.dir}" destdir="${htmlunit.build.dir}">
       <classpath refid="classpath" />
     </javac>
+  </target>
+
+  <target name="build" depends="compile-classes" description="Build tests">
     <antcall target="build-resources"/>
   </target>
 
+  <target name="install-jar" description="Install Yanel test JAR" depends="compile-classes">
+    <yanel:install-jar id="test"
+     classes-dir="${yanel.build.dir}" package-dir="foo"><!--: these attributes have dummy values, we only use the elements here: -->
+      <fileset dir="${junit.build.dir}" includes="org/wyona/yanel/junit/**"/>
+      <fileset dir="${htmlunit.build.dir}" includes="org/wyona/yanel/htmlunit/**"/>
+    </yanel:install-jar>
+  </target>
+
   <target name="build-resources" depends="init" description="Build tests of resources">
     <condition property="local.resource-types.config.exists">
       <available file="${local.conf.dir}/local.resource-types.xml" type="file"/>



More information about the Yanel-commits mailing list