Author: akarasulu
Date: Sun Feb  6 16:48:58 2005
New Revision: 151648

URL: http://svn.apache.org/viewcvs?view=rev&rev=151648
Log:
changes ...

 o added ability to consolidate javadocs for multiproject at the top level
 o added more multiproject analogs to dist goals


Modified:
    maven/maven-1/plugins/trunk/dist/plugin.jelly

Modified: maven/maven-1/plugins/trunk/dist/plugin.jelly
URL: 
http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/dist/plugin.jelly?view=diff&r1=151647&r2=151648
==============================================================================
--- maven/maven-1/plugins/trunk/dist/plugin.jelly (original)
+++ maven/maven-1/plugins/trunk/dist/plugin.jelly Sun Feb  6 16:48:58 2005
@@ -195,6 +195,9 @@
   <!-- D E P L O Y  D I S T R I B U T I O N                               -->
   <!-- ================================================================== -->
 
+  <goal name="dist:multiproject-deploy" description="Deploy a multiproject 
distribution"
+        prereqs="dist:multiproject-deploy-bin,dist:multiproject-deploy-src" />
+
   <goal name="dist:deploy" description="Deploy a distribution"
         prereqs="dist:deploy-bin,dist:deploy-src" />
 
@@ -215,6 +218,24 @@
 
   </goal>
 
+  <goal name="dist:multiproject-deploy-bin" description="Deploy a binary 
multiproject distribution" prereqs="dist:multiproject-bin">
+
+    <artifact:deploy
+      artifact="${maven.dist.dir}/${maven.final.name}.tar.gz"
+      type="distribution-targz"
+      project="${pom}"
+      typeHandler="${distTypeHandler}"
+    />
+    <artifact:deploy
+      artifact="${maven.dist.dir}/${maven.final.name}.zip"
+      type="distribution-zip"
+      project="${pom}"
+      typeHandler="${distTypeHandler}"
+    />
+
+  </goal>
+
+ 
   <goal name="dist:deploy-src" description="Deploy a source distribution" 
prereqs="dist:build-src">
 
     <artifact:deploy
@@ -232,6 +253,24 @@
 
   </goal>
 
+  <goal name="dist:multiproject-deploy-src" description="Deploy a source 
multiproject distribution" prereqs="dist:multiproject-src">
+
+    <artifact:deploy
+      artifact="${maven.dist.dir}/${maven.final.name}-src.tar.gz"
+      type="distribution-src-targz"
+      project="${pom}"
+      typeHandler="${distTypeHandler}"
+    />
+    <artifact:deploy
+      artifact="${maven.dist.dir}/${maven.final.name}-src.zip"
+      type="distribution-src-zip"
+      project="${pom}"
+      typeHandler="${distTypeHandler}"
+    />
+
+  </goal>
+
+
   <!-- ================================================================== -->
   <!-- D E P L O Y  S N A P S H O T  D I S T R I B U T I O N              -->
   <!-- ================================================================== -->
@@ -272,4 +311,221 @@
     />
 
   </goal>
+
+
+  <!-- ================================================================== -->
+  <!-- B I N A R Y  M U L T I P R O J E C T  D I S T R I B U T I O N      -->
+  <!-- ================================================================== -->
+
+
+  <goal 
+     name="dist:multiproject-bin" 
+     prereqs="dist:build-setup">
+
+    <!-- we use plugin's own settings in first order. -->
+    <!-- if they are not provided we will try use use multiproject settings -->
+
+    <j:set var="multiprojectIncludes" 
value="${maven.dist.multiproject.includes}"/>
+    <j:if test="${multiprojectIncludes == null or 
multiprojectIncludes.length() eq 0}">
+      <maven:pluginVar var="multiprojectIncludes" 
plugin="maven-multiproject-plugin" 
+         property="maven.multiproject.includes"/>
+    </j:if>
+
+    <j:set var="multiprojectExcludes" 
value="${maven.dist.multiproject.excludes}"/>
+    <j:if test="${multiprojectExcludes == null or 
multiprojectExcludes.length() eq 0}">
+      <maven:pluginVar var="multiprojectExcludes" 
plugin="maven-multiproject-plugin" 
+          property="maven.multiproject.excludes"/>
+    </j:if>
+
+    <j:set var="multiprojectBasedir" 
value="${maven.idea.project.multiproject.basedir}"/>
+    <j:if test="${multiprojectBasedir == null or multiprojectBasedir.length() 
eq 0}">
+      <maven:pluginVar var="multiprojectBasedir" 
plugin="maven-multiproject-plugin" 
+         property="maven.multiproject.basedir"/>
+    </j:if>
+
+    <maven:reactor
+      basedir="${multiprojectBasedir}"
+      banner="Generating dist materials for:"
+      includes="${multiprojectIncludes}"
+      excludes="${multiprojectExcludes}"
+      postProcessing="true"
+      goals="xdoc:init, jar:jar"
+      ignoreFailures="true"/>
+ 
+    <ant:echo>
+      +----------------------------------------------------------------+
+      | C R E A T I N G  B I N A R Y  M U L T I P R O J E C T  D I S T |
+      +----------------------------------------------------------------+
+    </ant:echo>
+    
+    <ant:delete dir="${maven.dist.bin.assembly.dir}"/>
+    <ant:mkdir dir="${maven.dist.bin.assembly.dir}"/>
+
+    <ant:echo>
+      +--------------------------------------------------------------+
+      | C O P Y I N G  L I C E N S E S  A N D  D I S C L A I M E R S |
+      +--------------------------------------------------------------+
+    </ant:echo>
+
+    <ant:copy todir="${maven.dist.bin.assembly.dir}">
+      <ant:fileset dir=".">
+        <ant:include name="README.txt"/>
+        <ant:include name="LICENSE*"/>
+        <ant:include name="NOTICE*"/>
+        <ant:include name="INCUBATOR-DISCLAIMER.txt"/>
+      </ant:fileset>
+    </ant:copy>
+
+    <ant:echo>
+      +--------------------------------------------------------------+
+      | C O P Y I N G  C H I L D   P R O J E C T   A R T I F A C T S |
+      +--------------------------------------------------------------+
+    </ant:echo>
+
+    <!-- Copy artifacts from all reactor project target directories -->
+    <ant:copy todir="${maven.dist.bin.assembly.dir}">
+      <j:forEach var="project" items="${reactorProjects}">
+        <ant:fileset dir="${project.mavenXml.parent}/target">
+            <ant:include name="*${project.artifactId}*.jar"/>
+        </ant:fileset>
+      </j:forEach>
+    </ant:copy>
+
+    <ant:echo>
+      +-----------------------------------------------------+
+      | C R E A T I N G  S I T E  D O C U M E N T A T I O N |
+      +-----------------------------------------------------+
+    </ant:echo>
+
+    <attainGoal name="multiproject:site"/>
+
+    <!-- Copy generated non-javadoc documentation -->
+    <j:set var="docsDest" value="${maven.docs.dest}"/>
+    <ant:copy todir="${maven.dist.bin.assembly.dir}/docs">
+      <ant:fileset dir="${docsDest}">
+        <ant:include name="**"/>
+      </ant:fileset>
+    </ant:copy>
+ 
+    <ant:echo>
+      +-----------------------------------------------------------+
+      | C R E A T I N G  C O N S O L I D A T E D  J A V A D O C S |
+      +-----------------------------------------------------------+
+    </ant:echo>
+
+    <javadoc destdir="${maven.dist.bin.assembly.dir}/docs/apidocs">
+      <j:forEach var="project" items="${reactorProjects}">
+        <packageset dir="${project.build.sourceDirectory}"/>
+      </j:forEach>
+      <classpath>
+        <fileset dir="${basedir}">
+          <include name="**/*.jar"/>
+        </fileset>
+      </classpath>
+    </javadoc>
+
+    <ant:echo>
+      +---------------------------------------------+
+      | C R E A T I N G  B I N A R Y  T A R B A L L |
+      +---------------------------------------------+
+    </ant:echo>
+
+    <!-- Create a tar.gz file -->
+    <ant:tar longfile="gnu" 
tarfile="${maven.dist.dir}/${maven.final.name}.tar">
+      <ant:tarfileset dir="${maven.dist.bin.archive.dir}"/>
+    </ant:tar>
+    <ant:gzip
+      zipfile="${maven.dist.dir}/${maven.final.name}.tar.gz"
+      src="${maven.dist.dir}/${maven.final.name}.tar"
+    />
+    
+    <ant:delete file="${maven.dist.dir}/${maven.final.name}.tar"/>
+
+    <ant:echo>
+      +----------------------------------------------+
+      | C R E A T I N G  B I N A R Y  Z I P  F I L E |
+      +----------------------------------------------+
+    </ant:echo>
+
+    <!-- Create a zip file -->
+    <ant:zip zipfile="${maven.dist.dir}/${maven.final.name}.zip">
+      <ant:zipfileset dir="${maven.dist.bin.archive.dir}"/>
+    </ant:zip>
+  </goal>
+
+
+  <!-- ================================================================== -->
+  <!-- S O U R C E  M U L T I P R O J E C T  D I S T R I B U T I O N      -->
+  <!-- ================================================================== -->
+
+
+  <goal 
+     name="dist:multiproject-src" 
+     prereqs="dist:build-setup">
+
+    <ant:echo>
+      +----------------------------------------------------------------+
+      | C R E A T I N G  S O U R C E  M U L T I P R O J E C T  D I S T |
+      +----------------------------------------------------------------+
+    </ant:echo>
+    
+    <ant:delete dir="${maven.dist.src.assembly.dir}"/>
+    <ant:mkdir dir="${maven.dist.src.assembly.dir}"/>
+
+    <ant:echo>
+      +----------------------------------------------+
+      | C O P Y I N G  A L L  S O U R C E  F I L E S |
+      +----------------------------------------------+
+    </ant:echo>
+
+    <ant:copy todir="${maven.dist.src.assembly.dir}">
+      <ant:fileset dir="${user.dir}">
+        <ant:include name="**/*"/>
+        <ant:exclude name="**/target/**"/>
+        <ant:exclude name="**/*.log*"/>
+        <ant:exclude name="**/*.ipr*"/>
+        <ant:exclude name="**/*.iml*"/>
+        <ant:exclude name="**/*.iws*"/>
+        <ant:exclude name="**/*.md5*"/>
+        <ant:exclude name="**/.???*"/> 
+      </ant:fileset>
+    </ant:copy>
+
+    <ant:echo>
+
+      +---------------------------------------------+
+      | C R E A T I N G  S O U R C E  T A R B A L L |
+      +---------------------------------------------+
+    </ant:echo>
+
+    <!-- Create a tar.gz file -->
+    <ant:tar longfile="gnu" 
tarfile="${maven.dist.dir}/${maven.final.name}-src.tar">
+      <ant:tarfileset dir="${maven.dist.src.archive.dir}"/>
+    </ant:tar>
+    <ant:gzip
+      zipfile="${maven.dist.dir}/${maven.final.name}-src.tar.gz"
+      src="${maven.dist.dir}/${maven.final.name}-src.tar"
+    />
+    
+    <ant:delete file="${maven.dist.dir}/${maven.final.name}-src.tar"/>
+
+    <ant:echo>
+      +----------------------------------------------+
+      | C R E A T I N G  S O U R C E  Z I P  F I L E |
+      +----------------------------------------------+
+    </ant:echo>
+
+    <!-- Create a zip file -->
+    <ant:zip zipfile="${maven.dist.dir}/${maven.final.name}-src.zip">
+      <ant:zipfileset dir="${maven.dist.src.archive.dir}"/>
+    </ant:zip>
+  </goal>
+
+  <goal
+    name="dist:multiproject"
+    prereqs="dist:multiproject-bin,dist:multiproject-src"
+    description="Build a complete distribution for a multiproject 
configuration.">
+  </goal>
+
 </project>
+



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to