michal      2003/07/28 12:56:49

  Modified:    src/plugins-build/multiproject/src/plugin-resources/templates
                        navigation-aggregate.xml navigation-independent.xml
                        projects-overview.xml
               src/plugins-build/multiproject plugin.jelly
                        plugin.properties
  Log:
  Improved "overview" page
  
  Revision  Changes    Path
  1.4       +1 -1      
maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-aggregate.xml
  
  Index: navigation-aggregate.xml
  ===================================================================
  RCS file: 
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-aggregate.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- navigation-aggregate.xml  27 Jul 2003 21:48:41 -0000      1.3
  +++ navigation-aggregate.xml  28 Jul 2003 19:56:48 -0000      1.4
  @@ -7,7 +7,7 @@
     <body>
       <menu name="Projects">
       #if ($createOverviewPage == "true" )
  -      <item name="Overview" href="projects-overview.xml"/>
  +      <item name="${overviewPageLinkTitle}" href="${overviewPageLink}.html"/>
       #end
       #foreach ($reactorProject in $reactorProjects)
         <item name="$reactorProject.name" 
href="/${aggregateDir}${reactorProject.artifactId}/index.html"/>
  
  
  
  1.3       +1 -1      
maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-independent.xml
  
  Index: navigation-independent.xml
  ===================================================================
  RCS file: 
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-independent.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- navigation-independent.xml        27 Jul 2003 21:48:41 -0000      1.2
  +++ navigation-independent.xml        28 Jul 2003 19:56:48 -0000      1.3
  @@ -7,7 +7,7 @@
     <body>
       <menu name="Projects">
       #if ($createOverviewPage == "true" )
  -      <item name="Overview" href="projects-overview.xml"/>
  +      <item name="${overviewPageLinkTitle}" href="{$overviewPageLink}.html"/>
       #end
       #foreach ($reactorProject in $reactorProjects)
         <item name="$reactorProject.name" href="${reactorProject.url}"/>
  
  
  
  1.2       +36 -9     
maven/src/plugins-build/multiproject/src/plugin-resources/templates/projects-overview.xml
  
  Index: projects-overview.xml
  ===================================================================
  RCS file: 
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/projects-overview.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- projects-overview.xml     27 Jul 2003 21:48:41 -0000      1.1
  +++ projects-overview.xml     28 Jul 2003 19:56:48 -0000      1.2
  @@ -1,16 +1,43 @@
   <?xml version="1.0"?>
   <document>
     <properties>
  -    <title>Overview of projects</title>
  +    <title>$overviewPageTitle</title>
       <author email="[EMAIL PROTECTED]">Michal Maczka</author>
     </properties>  
    <body> 
  -   #foreach ($reactorProject in $reactorProjects)
  -    <section name="$reactorProject.name">
  -      <p>
  -        ${reactorProject.description}
  -      </p>
  -    </section>
  -   #end
  +   <section name="$overviewPageTitle">
  +    <p>
  +      #if ($overviewPageText && $overviewPageText.lenght>0)
  +       ${overviewPageText}
  +      <br/>
  +      #end
  +      <table>          
  +        #foreach ($project in $reactorProjects)
  +          <tr>
  +            <th><a href="#${project.name}">${project.name}</a></th>
  +            <td>${project.shortDescription}</td>
  +          </tr>  
  +        #end  
  +      </table>
  +     </p>   
  +     <p>
  +       #foreach ($project in $reactorProjects)
  +       <subsection name="$project.name">
  +       <p>
  +         ${project.description}
  +       </p>
  +        <p>
  +           <b>Website:</b>
  +           #if ($navType == "aggregate")
  +              <a 
href="/${aggregateDir}${project.artifactId}/index.html">${project.name}</a>
  +           #else
  +             <a href="${project.url}">${project.url}</a>
  +           #end
  +        </p>
  +      </subsection>
  +      #end
  +    </p>  
  +  </section>  
    </body>
  -</document>
  \ No newline at end of file
  +</document>
  +
  
  
  
  1.21      +95 -60    maven/src/plugins-build/multiproject/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/maven/src/plugins-build/multiproject/plugin.jelly,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- plugin.jelly      27 Jul 2003 21:48:41 -0000      1.20
  +++ plugin.jelly      28 Jul 2003 19:56:49 -0000      1.21
  @@ -22,17 +22,46 @@
       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">
  +  
  +    <!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
  +    <!-- generate site docs -->
  +    <maven:reactor
  +      basedir="${maven.multiproject.basedir}"
  +      banner="Generating site for "
  +      includes="${maven.multiproject.includes}"
  +      excludes="${maven.multiproject.excludes}"
  +      postProcessing="true"
  +      ignoreFailures="${maven.multiproject.ignoreFailures}"
  +    />
  +    
  +    <mkdir dir="${maven.gen.docs}"/>
  +    
  +    <j:set var="aggregateDir"          value="${maven.multiproject.aggregateDir}"/>
  +    <j:set var="navType"               value="${maven.multiproject.navigation}"/>
  +    <j:set var="overviewPageCreate"    
value="${maven.multiproject.overviewPage.create}"/>
  +    <j:set var="overviewPageTitle"     
value="${maven.multiproject.overviewPage.title}"/>
  +    <j:set var="overviewPageLink"      
value="${maven.multiproject.overviewPage.link}"/>    
  +    <j:set var="overviewPageLinkTitle" 
value="${maven.multiproject.overviewPage.linkTitle}"/> 
  +    <j:set var="overviewPageText"      
value="${maven.multiproject.overviewPage.text}"/> 
  +  </goal>
  +  
  +  
     <!--==================================================================-->
     <!-- Builds sites for all subprojects                                 -->
     <!--==================================================================-->    
  -  <goal name="multiproject:site"
  -    description="Run the site goal of all subprojects">
  +  <goal name="multiproject:site"        
  +        description="Run the site goal of all subprojects">
   
       <attainGoal name="multiproject:create-nav"/>
       <attainGoal name="multiproject:create-overview-page"/>
  -    
  -    <!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
  -    <!-- generate site docs -->
  +            
       <maven:reactor
         basedir="${maven.multiproject.basedir}"
         banner="Generating site for "
  @@ -71,31 +100,17 @@
     <!--==================================================================-->
     <!-- Generate HTML files for navigation bar across projects.          -->
     <!--==================================================================-->    
  -  <goal name="multiproject:create-nav">
  -    <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="Getting projects for navigation"
  -      includes="${maven.multiproject.includes}"
  -      excludes="${maven.multiproject.excludes}"
  -      postProcessing="true"
  -      ignoreFailures="true"
  -    />
  -
  +  <goal name="multiproject:create-nav"
  +        prereqs="multiproject:site-init">
  +        
  +        
       <j:forEach var="reactorProject" items="${reactorProjects}">
         <j:if test="${reactorProject.id == pom.id}">
           <fail message="You must exclude ${pom.id} (the top level project) from the 
subproject set"/>
         </j:if>
       </j:forEach>
       
  -    <!-- generate navbar for project based on aggregate or independent -->
  -    <j:set var="aggregateDir" value="${maven.multiproject.aggregateDir}"/>
  -    <j:set var="navType" value="${maven.multiproject.navigation}"/>
  -    <j:set var="createOverviewPage" value="${maven.multiproject.overviewPage}"/>
  +    <!-- generate navbar for project based on aggregate or independent -->    
       <j:if test="${navType != ''}">
         <echo>Producing ${navType} navigation...</echo> 
         <velocity:merge 
  @@ -126,32 +141,26 @@
     <!--==================================================================-->
     <!-- Generate Overview of all projects                                -->
     <!--==================================================================-->    
  -  <goal name="multiproject:create-overview-page">
  +  <goal name="multiproject:create-overview-page"
  +        prereqs="multiproject:site-init">
     
  -    <mkdir dir="${maven.gen.docs}"/>
  +
       
  -    <j:set var="createOverviewPage" value="${maven.multiproject.overviewPage}"/>
  -    <j:if test="${createOverviewPage=='true'}">
  -      
  -      <!-- FIXME: 2) Needs to be a tag
  -       | get all projects for template processing
  -       | -->
  -      <maven:reactor
  -        basedir="${maven.multiproject.basedir}"
  -        banner="Getting projects for creating an overview page"
  -        includes="${maven.multiproject.includes}"
  -        excludes="${maven.multiproject.excludes}"
  -        postProcessing="true"
  -        ignoreFailures="true"
  -      />
  +    <j:new var="file" className="java.io.File">
  +      <j:arg value="${maven.gen.docs}/${overviewPageLink}.xml"/>
  +    </j:new>
  +    
  +    <mkdir dir="${file.parent}"/>
       
  -     <ant:echo>Using 
tamplate:${maven.multiproject.templates}/projects-overview.xml</ant:echo>
  +    <ant:echo>${file.parent} ${file.parent}</ant:echo>
  +    <ant:echo>create ${overviewPageCreate}</ant:echo>
  +    <j:if test="${overviewPageCreate=='true'}">      
        <velocity:merge 
  -         name="${maven.gen.docs}/projects-overview.xml"
  +         name="${maven.gen.docs}/${overviewPageLink}.xml"
            basedir="${maven.multiproject.templates}"
            template="projects-overview.xml"/>
       </j:if>      
  -    
  + 
     </goal>
     
     
  @@ -163,7 +172,9 @@
     <!--==================================================================-->
     <!-- Run specific sets of goals for all subprojects                   -->
     <!--==================================================================-->
  -  <goal name="multiproject:goal" description="Run a given goal on all projects">
  +  <goal name="multiproject:goal" 
  +        description="Run a given goal on all projects">
  +        
         <m:param-check value="${goal}" fail="true">
   A goal to run must be specified, e.g.
   maven -Dgoal=clean multiproject:goal</m:param-check>
  @@ -183,7 +194,7 @@
     <!-- Builds all artifacts for all subprojects                         -->
     <!--==================================================================-->
     <goal name="multiproject:artifact"
  -    description=" Builds all artifacts for all subproject">
  +        description=" Builds all artifacts for all subproject">
   
       <j:set var="goal" value="multiproject:artifact-callback"/>
       <attainGoal name="multiproject:goal"/>
  @@ -191,7 +202,10 @@
     </goal>
     
     <goal name="multiproject:artifact-callback">
  -     <attainGoal name="${maven.multiproject.type}:${maven.multiproject.type}"/>
  +  
  +    <ant:echo>Running ${maven.multiproject.type}:${maven.multiproject.type} for 
${pom.name}</ant:echo>
  +    <attainGoal name="${maven.multiproject.type}:${maven.multiproject.type}"/>
  +    
     </goal>
     
     
  @@ -199,27 +213,33 @@
     <!-- Run 'artifact':install for all subprojects                       -->
     <!--==================================================================-->  
     <goal name="multiproject:install"
  -    description="Run 'artifact':install for all subprojects">
  +        description="Run 'artifact':install for all subprojects">
   
       <j:set var="goal" value="multiproject:install-callback"/>
       <attainGoal name="multiproject:goal"/>
  +    
     </goal>
     
     <goal name="multiproject:install-callback">
  +  
  +     <ant:echo>Running ${maven.multiproject.type}:install for ${pom.name}</ant:echo>
        <attainGoal name="${maven.multiproject.type}:install"/>
  +     
     </goal>
     
     <!--==================================================================-->
     <!-- Run 'artifact':install-snapshot for all subprojects              --> 
     <!--==================================================================-->    
     <goal name="multiproject:install-snapshot"
  -    description="Run 'artifact':install-snapshot for all subprojects">
  +        description="Run 'artifact':install-snapshot for all subprojects">
   
       <j:set var="goal" value="multiproject:install-snapshot-callback"/>
       <attainGoal name="multiproject:goal"/>
  +    
     </goal>
     
     <goal name="multiproject:install-snapshot-callback">
  +     <ant:echo>Running ${maven.multiproject.type}:install-snapshot for 
${pom.name}</ant:echo>
        <attainGoal name="${maven.multiproject.type}:install-snapshot"/>
     </goal>
     
  @@ -227,64 +247,78 @@
     <!-- Run 'artifact':deploy for all subprojects                        -->
     <!--==================================================================--> 
      <goal name="multiproject:deploy"
  -    description="Run 'artifact':deploy for all subprojects">
  +         description="Run 'artifact':deploy for all subprojects">
   
       <j:set var="goal" value="multiproject:deploy-callback"/>
       <attainGoal name="multiproject:goal"/>
  +    
     </goal>
     
     <goal name="multiproject:deploy-callback">
  -     <attainGoal name="${maven.multiproject.type}:deploy"/>
  +  
  +    <ant:echo>Running ${maven.multiproject.type}:deploy for ${pom.name}</ant:echo>
  +    <attainGoal name="${maven.multiproject.type}:deploy"/>
  +    
     </goal> 
     
     <!--==================================================================-->
     <!-- Run 'artifact':deploy-snapshot for all subprojects               -->
     <!--==================================================================--> 
     <goal name="multiproject:deploy-snapshot"
  -    description="Run 'artifact':deploy-snapshot for all subprojects">
  +        description="Run 'artifact':deploy-snapshot for all subprojects">
   
       <j:set var="goal" value="multiproject:deploy-snapshot-callback"/>
       <attainGoal name="multiproject:goal"/>
     </goal>
     
     <goal name="multiproject:deploy-snapshot-callback">
  -     <attainGoal name="${maven.multiproject.type}:deploy-snapshot"/>
  +  
  +    <ant:echo>Running ${maven.multiproject.type}:deploy-snapshot for 
${pom.name}</ant:echo>
  +    <attainGoal name="${maven.multiproject.type}:deploy-snapshot"/>
  +    
     </goal>
     
     
     
     <!--==================================================================-->
  -  <!-- Maven Report   API - Register                                                
                                   -->
  +  <!-- Maven Report API - Register                                      -->
     <!--==================================================================-->    
     <goal name="maven-multiproject-plugin:register">
  +  
       <doc:registerReport 
         name="Dependency Convergence" 
         link="dependency-convergence-report"
         pluginName="maven-multiproject-plugin"
         description="Generate report which shows how consistent are the versions of 
artitfacts between projects."/>
  +      
     </goal>
     
     
     <!--==================================================================-->
  -  <!-- Maven Report   API - Deregister                                              
                                  -->
  +  <!-- Maven Report API - Deregister                                    -->
     <!--==================================================================-->    
     <goal name="maven-multiproject-plugin:deregister">
  -      <doc:deregisterReport name="Multiproject Dependency Convergence Report"/>
  +  
  +    <doc:deregisterReport name="Multiproject Dependency Convergence Report"/>
  +    
     </goal>
     
     <!--==================================================================-->
  -  <!-- Maven Report   API - Deregister                                              
                                 -->
  +  <!-- Maven Report API - Report                                        -->
     <!--==================================================================-->    
     <goal name="maven-multiproject-plugin:report">
  -        <attainGoal name="multiproject:dependency-convergence-report"/>
  +  
  +    <attainGoal name="multiproject:dependency-convergence-report"/>
  +    
     </goal>    
       
     <!--==================================================================-->
  -  <!-- Generate report which shows the harmony of versions of dependencies          
     -->
  -  <!--  which are used in sub-projects                                              
                                  -->
  +  <!-- Generate report which shows the harmony of                       -->
  +  <!--  versions of dependencies which are used in sub-projects         -->
     <!--==================================================================-->    
     <goal name="multiproject:dependency-convergence-report"
  -            description="Generate report which shows how consistent are the 
versions of artitfacts between projects" >
  +        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
  @@ -317,6 +351,7 @@
   
       <j:set var="goal" value="clean:clean"/>
       <attainGoal name="multiproject:goal"/>
  +    
     </goal>
     
     
  
  
  
  1.7       +5 -1      maven/src/plugins-build/multiproject/plugin.properties
  
  Index: plugin.properties
  ===================================================================
  RCS file: /home/cvs/maven/src/plugins-build/multiproject/plugin.properties,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- plugin.properties 27 Jul 2003 21:48:41 -0000      1.6
  +++ plugin.properties 28 Jul 2003 19:56:49 -0000      1.7
  @@ -20,4 +20,8 @@
   maven.multiproject.aggregateDir=multiproject/
   
   #should overview page be created?
  -maven.multiproject.overviewPage=true
  +maven.multiproject.overviewPage.create=true
  +maven.multiproject.overviewPage.title=Overview of projects
  +maven.multiproject.overviewPage.link=projects-overview
  +maven.multiproject.overviewPage.linkTitle=Overview of project
  +maven.multiproject.overviewPage.text=
  \ No newline at end of file
  
  
  

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

Reply via email to