jvanzyl     2002/07/24 17:28:22

  Modified:    src/plugins-build/reactor plugin.jelly
               src/plugins-build/xdoc plugin.jelly
               src/plugins-build/xdoc/src/java/org/apache/maven
                        BaseProjectTask.java DVSLBean.java
  Log:
  o making the reactor plugin actually useful. it is now used to build
    the plugins, generate the test commons site, and build the commons.
  
  o hacked the velocity beans to take a list of projects produced by the
    reactor. i figured out how to decouple these from maven's internals
    using some nifty jelly script but i would like to get another test
    commons site and plexus site so i can live with this.
  
  Revision  Changes    Path
  1.4       +7 -24     jakarta-turbine-maven/src/plugins-build/reactor/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/reactor/plugin.jelly,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- plugin.jelly      24 Jul 2002 04:20:45 -0000      1.3
  +++ plugin.jelly      25 Jul 2002 00:28:21 -0000      1.4
  @@ -24,31 +24,14 @@
     
       <define:tag name="execute">
         
  -      <fileScanner var="projects">
  -        <fileset dir="${basedir}">
  -          <include name="${glob}"/>
  -        </fileset>
  -      </fileScanner>
  +      <maven:maven 
  +        dir="${basedir}"
  +        glob="${glob}"
  +        goals="${goals}"
  +        banner="${banner}"
  +        ignoreFailures="${ignoreFailures}"
  +      />
   
  -      <j:forEach var="project" items="${projects.iterator()}">
  -
  -        <echo>
  -+----------------------------------------
  -| ${banner} ${project.parentFile.name}
  -+----------------------------------------
  -        </echo>
  -      
  -        ${project}
  -        ${project.parentFile}
  -        
  -        <maven:maven 
  -          dir="${project.parentFile}"
  -          descriptor="${project}"
  -          goals="${goals}"
  -          ignoreFailures="${ignoreFailures}"
  -        />
  -
  -      </j:forEach>
       </define:tag>
     </define:taglib>
   </project>
  
  
  
  1.8       +34 -9     jakarta-turbine-maven/src/plugins-build/xdoc/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/plugin.jelly,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- plugin.jelly      21 Jul 2002 04:01:57 -0000      1.7
  +++ plugin.jelly      25 Jul 2002 00:28:22 -0000      1.8
  @@ -3,7 +3,7 @@
   <project xmlns:j="jelly:core" 
            xmlns:log="jelly:log"
            xmlns:define="jelly:define"
  -         xmlns:xdoc-pom="xdoc-pom"
  +         xmlns:texen="texen"
            xmlns:dvsl="dvsl">
   
     <!-- ================================================================== -->
  @@ -14,24 +14,49 @@
           prereqs="xdoc:generate-from-pom, xdoc:transform"
           description="Generate html project documentation xdoc sources"/>
   
  -  <goal
  -    name="xdoc:generate-from-pom"
  -    description="Generates xdocs for site based on project descriptor">
  -
  -    <define:taglib uri="xdoc-pom">
  +  <!-- ================================================================== -->
  +  <!-- T E X E N  T A G  I N I T I A L I Z A T I O N                      -->
  +  <!-- ================================================================== -->
  +  <goal name="init-texen-tag">
  +  
  +    <define:taglib uri="texen">
         <define:jellybean
  -        name="xdoc-pom"
  +        name="texen"
           className="org.apache.maven.BaseProjectTask"
           method="execute"
         />
  +      
  +      <!-- ================================================================== -->
  +      <!-- T E X E N  T A G                                                   -->
  +      <!-- ================================================================== -->
  +  
  +      <define:tag name="generate">
  +
  +        <texen:texen
  +          controlTemplate="${controlTemplate}"
  +          outputDirectory="${outputDirectory}"
  +          templatePath="${templatePath}"
  +          outputFile="${outputFile}"
  +          mavenProject="${mavenProject}"
  +          reactorProjects="${reactorProjects}"
  +        />
  +
  +      </define:tag>
  +      
       </define:taglib>
  +  
  +  </goal>
  +
  +  <goal
  +    name="xdoc:generate-from-pom"
  +    prereqs="init-texen-tag"
  +    description="Generates xdocs for site based on project descriptor">
   
  -    <xdoc-pom:xdoc-pom
  +    <texen:generate
         controlTemplate="Control.vm"
         outputDirectory="${maven.gen.docs}"
         templatePath="${plugin.dir}/templates"
         outputFile="xdocs.report"
  -      projectDescriptor="project.xml"
         mavenProject="${pom}"
       />
   
  
  
  
  1.5       +53 -25    
jakarta-turbine-maven/src/plugins-build/xdoc/src/java/org/apache/maven/BaseProjectTask.java
  
  Index: BaseProjectTask.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/src/java/org/apache/maven/BaseProjectTask.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- BaseProjectTask.java      23 Jul 2002 16:19:17 -0000      1.4
  +++ BaseProjectTask.java      25 Jul 2002 00:28:22 -0000      1.5
  @@ -55,9 +55,10 @@
    *
    * ====================================================================
    */
  -
   import java.io.File;
   
  +import java.util.List;
  +
   import org.apache.maven.app.Maven;
   import org.apache.maven.project.Project;
   
  @@ -68,16 +69,14 @@
   import org.apache.velocity.context.Context;
   import org.apache.velocity.texen.ant.TexenTask;
   
  -
   /**
  - * Used for generating xdoc formatted documenation from
  - * the POM.
  + * Used for generating xdoc formatted documenation from the POM.
    *
    * @author <a href="[EMAIL PROTECTED]">Jason van Zyl</a>
    * @version $Id$
    */
   public class BaseProjectTask
  -    extends TexenTask
  +     extends TexenTask
   {
       /**
        * Project descriptor.
  @@ -94,30 +93,55 @@
        */
       private Project mavenProject;
   
  +    /**
  +     * Sets the mavenProject attribute of the BaseProjectTask object
  +     */
       public void setMavenProject(Project mavenProject)
       {
           this.mavenProject = mavenProject;
       }
  -    
  +
  +    /**
  +     * Gets the mavenProject attribute of the BaseProjectTask object
  +     */
       public Project getMavenProject()
       {
           return mavenProject;
  -    }        
  +    }
  +
  +    private List reactorProjects;
  +
  +    /**
  +     * Sets the reactorProjects attribute of the BaseProjectTask object
  +     */
  +    public void setReactorProjects(List reactorProjects)
  +    {
  +        this.reactorProjects = reactorProjects;
  +    }
   
  -     /**
  -      * [REQUIRED] Set the output directory. It will be
  -      * created if it doesn't exist.
  -      *
  -      * @task This shouldn't be required but it appears that
  -      *       there are some problems with coercion under jdk 1.4
  -      */
  -     public void setOutputDirectory(String outputDirectory)
  -     {
  -         super.setOutputDirectory(new File(outputDirectory));
  -     }
  +    /**
  +     * Gets the reactorProjects attribute of the BaseProjectTask object
  +     */
  +    public List getReactorProjects()
  +    {
  +        return reactorProjects;
  +    }
  +
  +    /**
  +     * [REQUIRED] Set the output directory. It will be created if it doesn't
  +     * exist.
  +     *
  +     * @task This shouldn't be required but it appears that there are some
  +     *      problems with coercion under jdk 1.4
  +     */
  +    public void setOutputDirectory(String outputDirectory)
  +    {
  +        super.setOutputDirectory(new File(outputDirectory));
  +    }
   
       /**
        * Set the project descriptor file. This file must exist.
  +     *
        * @param projectDescriptor the project descriptor file
        */
       public void setProjectDescriptor(File projectDescriptor)
  @@ -125,13 +149,17 @@
           this.projectDescriptor = projectDescriptor;
       }
   
  -    public void setTemplatePath(String templatePath) throws Exception
  +    /**
  +     * Sets the templatePath attribute of the BaseProjectTask object
  +     */
  +    public void setTemplatePath(String templatePath)
  +        throws Exception
       {
  -        if ( getProject() == null )
  +        if (getProject() == null)
           {
  -            setProject( Maven.getInstance().getBaseAntProject() );
  +            setProject(Maven.getInstance().getBaseAntProject());
           }
  -        super.setTemplatePath( templatePath );
  +        super.setTemplatePath(templatePath);
       }
   
       /**
  @@ -147,9 +175,9 @@
   
           try
           {
  -            //mavenProject = MavenUtils.getProject(projectDescriptor);
               context.put("project", mavenProject);
  -            context.put("escape", new Escape());            
  +            context.put("reactorProjects", reactorProjects);
  +            context.put("escape", new Escape());
               return context;
           }
           catch (Exception e)
  
  
  
  1.3       +13 -0     
jakarta-turbine-maven/src/plugins-build/xdoc/src/java/org/apache/maven/DVSLBean.java
  
  Index: DVSLBean.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/src/java/org/apache/maven/DVSLBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DVSLBean.java     22 Jul 2002 20:10:43 -0000      1.2
  +++ DVSLBean.java     25 Jul 2002 00:28:22 -0000      1.3
  @@ -59,6 +59,7 @@
   import java.util.Vector;
   import java.util.HashMap;
   import java.util.Enumeration;
  +import java.util.List;
   import java.util.StringTokenizer;
   
   import java.io.File;
  @@ -201,6 +202,18 @@
           this.mavenProject = mavenProject;        
           putAppValue("mavenProject", mavenProject);
       }        
  +
  +    private List reactorProjects;
  +    
  +    public void setReactorProjects(List reactorProjects)
  +    {
  +        this.reactorProjects = reactorProjects;
  +    }        
  +
  +    public List getReactorProjects()
  +    {
  +        return reactorProjects;
  +    }
   
       /**
        * Executes the task.
  
  
  

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

Reply via email to