You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2004/04/17 03:08:59 UTC

cvs commit: maven-plugins/multiproject plugin.jelly

brett       2004/04/16 18:08:59

  Modified:    multiproject plugin.jelly
  Log:
  reuse project set to run faster
  
  Revision  Changes    Path
  1.38      +26 -42    maven-plugins/multiproject/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/maven-plugins/multiproject/plugin.jelly,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- plugin.jelly	15 Apr 2004 06:16:16 -0000	1.37
  +++ plugin.jelly	17 Apr 2004 01:08:58 -0000	1.38
  @@ -34,17 +34,9 @@
       prereqs="multiproject:site">
     </goal>
   
  -
  -  <!--======================================================================-->
  -  <!-- Runs reactor and puts variable "reactorProjects" into jelly contex   -->
  -  <!-- This allows to share the work done by reactor in goals               -->
  -  <!-- which just need the list of project but don't need to run any goal   -->
  -  <!--======================================================================-->    
  -  <goal name="multiproject:site-init">
  -  
  -    <j:if test="${mpsiteInit == null}">
  -      <j:set var="mpsiteInit" value="true" />
  -      <!-- generate site docs -->
  +  <goal name="multiproject:projects-init">
  +    <j:if test="${mpprojectsInit == null}">
  +      <j:set var="mpprojectsInit" value="true" />
         <ant:echo>Gathering project list</ant:echo>
         <maven:reactor
           basedir="${maven.multiproject.basedir}"
  @@ -52,9 +44,22 @@
           includes="${maven.multiproject.includes}"
           excludes="${maven.multiproject.excludes}"
           postProcessing="true"
  +        collectOnly="true"
  +        collectionVar="multiprojects"
           ignoreFailures="${maven.multiproject.ignoreFailures}"
         />
  -      
  +    </j:if>
  +  </goal>
  +
  +  <!--======================================================================-->
  +  <!-- Runs reactor and puts variable "multiprojects" into jelly contex   -->
  +  <!-- This allows to share the work done by reactor in goals               -->
  +  <!-- which just need the list of project but don't need to run any goal   -->
  +  <!--======================================================================-->    
  +  <goal name="multiproject:site-init" prereqs="multiproject:projects-init">
  +  
  +    <j:if test="${mpsiteInit == null}">
  +      <j:set var="mpsiteInit" value="true" />
         <mkdir dir="${maven.gen.docs}"/>
         
         <j:set var="aggregateDir"          value="${maven.multiproject.aggregateDir}"/>
  @@ -87,23 +92,14 @@
         <maven:reactor
           basedir="${maven.multiproject.basedir}"
           banner="Generating site for "
  -        projectList="${reactorProjects}"
  +        projectList="${multiprojects}"
           goals="site"
           ignoreFailures="${maven.multiproject.ignoreFailures}"
         />
  -    
  -      <!-- TODO: remove <maven:reactor
  -        basedir="${maven.multiproject.basedir}"
  -        banner="Generating site for "
  -        includes="${maven.multiproject.includes}"
  -        excludes="${maven.multiproject.excludes}"
  -        postProcessing="true"
  -        goals="site"
  -        ignoreFailures="${maven.multiproject.ignoreFailures}"
  -      /> -->
  +<echo>now building reactor projects: ${multiprojects}</echo>
       
         <!-- copy each project over into ${maven.docs.dest} -->
  -      <j:forEach var="reactorProject" items="${reactorProjects}">
  +      <j:forEach var="reactorProject" items="${multiprojects}">
           <!-- note this is the same name as is generated in the navigation-aggregate.xml -->
           <j:set var="directory" value="${maven.docs.dest}/${maven.multiproject.aggregateDir}${reactorProject.artifactId}"/>
           <mkdir dir="${directory}"/>
  @@ -129,7 +125,7 @@
           prereqs="multiproject:site-init">
           
           
  -    <j:forEach var="reactorProject" items="${reactorProjects}">
  +    <j:forEach var="reactorProject" items="${multiprojects}">
         <j:if test="${reactorProject.id == pom.id}">
           <fail message="You must exclude ${pom.id} (the top level project) from the subproject set"/>
         </j:if>
  @@ -196,6 +192,7 @@
     <!-- Run specific sets of goals for all subprojects                   -->
     <!--==================================================================-->
     <goal name="multiproject:goal" 
  +        prereqs="multiproject:projects-init"
           description="Run a given goal on all projects">
           
         <maven:param-check value="${goal}" fail="true">
  @@ -205,9 +202,7 @@
         <maven:reactor
           basedir="${maven.multiproject.basedir}"
           banner="Executing ${goal}"
  -        includes="${maven.multiproject.includes}"
  -        excludes="${maven.multiproject.excludes}"
  -        postProcessing="false"
  +        projectList="${multiprojects}"
           goals="${goal}"
           ignoreFailures="${maven.multiproject.ignoreFailures}"
         />
  @@ -338,24 +333,13 @@
     <!--  versions of dependencies which are used in sub-projects         -->
     <!--==================================================================-->    
     <goal name="multiproject:dependency-convergence-report"
  +        prereqs="multiproject:projects-init"
           description="Generate report which shows how consistent are the versions of artitfacts between projects" >
       
  -    <mkdir dir="${maven.gen.docs}"/>
  -
  -    <!-- FIXME: 2) Needs to be a tag
  -     | get all projects for template processing
  -     | -->
  -    <maven:reactor
  -      basedir="${maven.multiproject.basedir}"
  -      banner="Adding dependencies from:"
  -      includes="${maven.multiproject.includes}"
  -      excludes="${maven.multiproject.excludes}"
  -      postProcessing="true"
  -      ignoreFailures="true"
  -    />
  +      <mkdir dir="${maven.gen.docs}"/>
   
         <j:useBean var="harmonizer" class="org.apache.maven.multiproject.harmonizer.DependencyHarmonizer"/>
  -      ${harmonizer.build(reactorProjects)}
  +      ${harmonizer.build(multiprojects)}
         
         <j:set var="encoding" value="${maven.docs.outputencoding}"/>
         <velocity:merge 
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org