[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