[Yanel-commits] rev 43914 - in public/yanel/trunk/src: build/targets build/targets/webapp test

guillaume at wyona.com guillaume at wyona.com
Wed Jul 29 17:33:45 CEST 2009


Author: guillaume
Date: 2009-07-29 17:33:45 +0200 (Wed, 29 Jul 2009)
New Revision: 43914

Modified:
   public/yanel/trunk/src/build/targets/build-artifacts.build.xml
   public/yanel/trunk/src/build/targets/cmdl.xml
   public/yanel/trunk/src/build/targets/webapp/webapp.xml
   public/yanel/trunk/src/test/build.xml
Log:
Now all Yanel subprojects (yanel-core, yanel-impl, yanel-cmdl, yanel-webapp, yanel-test, wyona-neutron)
 when installed as Maven artifact also install an attached source artifact
 which is then picked up during Eclipse .classpath generation:
 this allows source code of depended subprojects to be always visible under Eclipse! :)

Issue: 6942


Modified: public/yanel/trunk/src/build/targets/build-artifacts.build.xml
===================================================================
--- public/yanel/trunk/src/build/targets/build-artifacts.build.xml	2009-07-29 13:48:20 UTC (rev 43913)
+++ public/yanel/trunk/src/build/targets/build-artifacts.build.xml	2009-07-29 15:33:45 UTC (rev 43914)
@@ -7,6 +7,7 @@
    <attribute name="id"/>
    <attribute name="package-dir" default="@{id}"/>
    <attribute name="classes-dir" default="${classes.dir}"/>
+   <attribute name="sources-dir" default="${yanel.source.home}/src/@{package-dir}/java"/>
    <element name="jar-elements" optional="true" implicit="true"/>
    <sequential>
 
@@ -23,10 +24,19 @@
       <replacetoken>@VERSION@</replacetoken>
     </replace>
 
+    <mkdir dir="${yanel.source.home}/build/lib"/>
+    <jar destfile="${yanel.source.home}/build/lib/yanel-@{id}-${yanel.version}-r${yanel.revision}-sources.jar"
+      basedir="@{sources-dir}"
+      includes="org/wyona/yanel/@{package-dir}/**"
+    >
+      <jar-elements/>
+    </jar>
+
     <artifact:pom id="@{id}.project" file="${yanel.source.home}/build/lib/pom-@{id}.xml"/>
 
     <artifact:install file="${yanel.source.home}/build/lib/yanel-@{id}-${yanel.version}-r${yanel.revision}.jar">
       <pom refid="@{id}.project"/>
+      <attach file="${yanel.source.home}/build/lib/yanel-@{id}-${yanel.version}-r${yanel.revision}-sources.jar" classifier="sources"/>
     </artifact:install>
 
    </sequential>
@@ -37,6 +47,7 @@
    <attribute name="id"/>
    <attribute name="package-dir" default="@{id}"/>
    <attribute name="classes-dir" default="${classes.dir}"/>
+   <attribute name="sources-dir" default="${yanel.source.home}/src/@{package-dir}/java"/>
    <element name="jar-elements" optional="true" implicit="true"/>
    <sequential>
 
@@ -53,10 +64,19 @@
       <replacetoken>@VERSION@</replacetoken>
     </replace>
 
+    <mkdir dir="${yanel.source.home}/build/lib"/>
+    <jar destfile="${yanel.source.home}/build/lib/wyona-@{id}-${yanel.version}-r${yanel.revision}-sources.jar"
+      basedir="@{sources-dir}"
+      includes="org/wyona/@{package-dir}/**"
+    >
+      <jar-elements/>
+    </jar>
+
     <artifact:pom id="@{id}.project" file="${yanel.source.home}/build/lib/pom-@{id}.xml"/>
 
     <artifact:install file="${yanel.source.home}/build/lib/wyona-@{id}-${yanel.version}-r${yanel.revision}.jar">
       <pom refid="@{id}.project"/>
+      <attach file="${yanel.source.home}/build/lib/wyona-@{id}-${yanel.version}-r${yanel.revision}-sources.jar" classifier="sources"/>
     </artifact:install>
 
    </sequential>

Modified: public/yanel/trunk/src/build/targets/cmdl.xml
===================================================================
--- public/yanel/trunk/src/build/targets/cmdl.xml	2009-07-29 13:48:20 UTC (rev 43913)
+++ public/yanel/trunk/src/build/targets/cmdl.xml	2009-07-29 15:33:45 UTC (rev 43914)
@@ -51,7 +51,7 @@
   </target>
 
   <target name="install-cmdl-jar" description="Install Yanel command line JAR" depends="compile-cmdl-classes">
-    <yanel:install-jar id="cmdl"/>
+    <yanel:install-jar id="cmdl" sources-dir="${yanel.source.home}/src/core/java"/>
   </target>
 
   <target name="compile-cmdl" depends="compile-cmdl-classes, install-cmdl-jar"/>

Modified: public/yanel/trunk/src/build/targets/webapp/webapp.xml
===================================================================
--- public/yanel/trunk/src/build/targets/webapp/webapp.xml	2009-07-29 13:48:20 UTC (rev 43913)
+++ public/yanel/trunk/src/build/targets/webapp/webapp.xml	2009-07-29 15:33:45 UTC (rev 43914)
@@ -186,7 +186,7 @@
   </target>
 
   <target name="install-webapp-jar" description="Install Yanel webapp JAR" depends="compile-webapp-classes">
-    <yanel:install-jar id="webapp" package-dir="servlet"/>
+    <yanel:install-jar id="webapp" package-dir="servlet" sources-dir="${yanel.source.home}/src/webapp/src/java"/>
   </target>
 
   <target name="compile-webapp" depends="compile-webapp-classes, install-webapp-jar"/>

Modified: public/yanel/trunk/src/test/build.xml
===================================================================
--- public/yanel/trunk/src/test/build.xml	2009-07-29 13:48:20 UTC (rev 43913)
+++ public/yanel/trunk/src/test/build.xml	2009-07-29 15:33:45 UTC (rev 43914)
@@ -112,9 +112,13 @@
 
   <target name="install-jar" description="Install Yanel test JAR" depends="compile-classes">
     <yanel:install-jar id="test"
+     sources-dir="${yanel.build.dir}"
      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/**"/>
+      <!--HACK: all JARs will get everything -->
+      <fileset dir="${junit.src.dir}" includes="org/wyona/yanel/junit/**"/>
+      <fileset dir="${htmlunit.src.dir}" includes="org/wyona/yanel/htmlunit/**"/>
     </yanel:install-jar>
   </target>
 



More information about the Yanel-commits mailing list