You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2002/12/31 08:14:18 UTC

cvs commit: jakarta-turbine-maven/src/plugins-build/xdoc/templates issue-tracking.xml cvs-usage.xml maven-reports.xml project-info.xml Control.vm

jvanzyl     2002/12/30 23:14:17

  Modified:    src/plugins-build/xdoc plugin.jelly plugin.properties
                        site.jsl
               src/plugins-build/xdoc/templates cvs-usage.xml
                        maven-reports.xml project-info.xml
  Added:       src/plugins-build/xdoc ui.properties
               src/plugins-build/xdoc/templates issue-tracking.xml
  Removed:     src/plugins-build/xdoc site.dvsl toolbox.props
               src/plugins-build/xdoc/src/java/org/apache/maven
                        BaseProjectTask.java DVSLBean.java
               src/plugins-build/xdoc/templates Control.vm
  Log:
  o Elimination of dvsl and texen.
  
  Revision  Changes    Path
  1.37      +276 -358  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.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- plugin.jelly	31 Dec 2002 03:39:54 -0000	1.36
  +++ plugin.jelly	31 Dec 2002 07:14:16 -0000	1.37
  @@ -1,95 +1,216 @@
   <?xml version="1.0"?>
   
   <project xmlns:define="jelly:define"
  -         xmlns:dvsl="dvsl"
  -         xmlns:j="jelly:core" 
  -         xmlns:jsl="jelly:jsl"
  -         xmlns:log="jelly:log"
  -         xmlns:pom="pom"
  -         xmlns:texen="texen"
  -         xmlns:util="jelly:util"
  -         xmlns:x="jelly:xml"
  -         xmlns:jslXdoc="jslXdoc">
  +  xmlns:j="jelly:core"
  +  xmlns:jsl="jelly:jsl"
  +  xmlns:log="jelly:log"
  +  xmlns:pom="pom"
  +  xmlns:util="jelly:util"
  +  xmlns:x="jelly:xml"
  +  xmlns:velocity="jelly:org.apache.maven.jelly.tags.velocity.VelocityTagLibrary"
  +  xmlns:doc="doc">
   
  -  <!-- ================================================================== -->
  -  <!-- P R O J E C T  D O C U M E N T A T I O N                           -->
  -  <!-- ================================================================== -->
  -
  -  <goal name="xdoc"
  -        prereqs="xdoc:generate-from-pom, xdoc:transform"
  -        description="Generate html project documentation xdoc sources"/>
   
  -  <!-- ================================================================== -->
  -  <!-- 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" 
  -    description="Set up the texen tag library for later use">
  -  
  -    <define:taglib uri="texen">
  -      <define:jellybean
  -        name="texen"
  -        className="org.apache.maven.BaseProjectTask"
  -        method="execute"
  -      />
  +  <define:taglib uri="doc">
  +    
  +    <define:tag name="formatAsNumber">
  +      <!--
  +       | @string
  +       | @pattern
  +      -->
         
  -      <!-- ================================================================== -->
  -      <!-- 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}"
  +      <!-- This appears to need to be here which is no good. Need
  +           more of a global tool box.
  +      -->
  +      
  +      <j:useBean var="formatter" class="org.apache.maven.DVSLFormatter"/>
  +      ${formatter.formatNumber(string,pattern)}
  +    </define:tag>
  +
  +    <define:tag name="jsl">
  +      <!--
  +       | @input
  +       | @output
  +       | @stylesheet
  +       | @encoding
  +       | @omitXmlDeclaration
  +       | @outputMode
  +       | @prettyPrint
  +      -->
  +    
  +      <!-- 
  +      @todo make sure the output directory exists.
  +      -->        
  +      
  +      <!-- Set default outputDirectory if not set. -->
  +      <!--
  +      These do not work to evaluate to what you would expect
  +      <j:if test="!${outputDirectory}">
  +      
  +      why doesn't this give the same as comparing to null?
  +      
  +      -->
  +      <j:if test="${outputDirectory == null}">
  +        <j:set 
  +          var="outputDirectory" 
  +          value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.gen.docs')}"
           />
  +      </j:if>
   
  -      </define:tag>
  +      <!-- Set default encoding if not set. -->
  +      <j:if test="${encoding == null}">
  +        <j:set 
  +          var="encoding" 
  +          value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.docs.outputencoding')}"
  +        />
  +      </j:if>
         
  -    </define:taglib>
  -  
  -  </goal>
  +      <mkdir dir="${outputDirectory}"/>
  +      
  +      <x:parse var="doc" xml="file:${input}"/>
  +      <j:set var="stylesheetURI" value="file:${stylesheet}"/>
  +      <j:file
  +        name="${outputDirectory}/${output}"
  +        encoding="${encoding}"
  +        omitXmlDeclaration="${omitXmlDeclaration}"
  +        outputMode="${outputMode}"
  +        prettyPrint="${prettyPrint}">
  +        <j:include uri="${stylesheetURI.toString()}"/>
  +      </j:file>
  +    </define:tag>
  +
  +    <define:tag name="itemLink">
  +      <j:set var="leaveLinkAlone" value="${(link.indexOf(':') >= 0) or link.startsWith('/site')}"/>
  +      <j:if test="${leaveLinkAlone}">
  +        <a href="${link}">${name}</a>
  +      </j:if>
  +      <j:if test="${!leaveLinkAlone}">
  +        <a href="${relativePath}${link}">${name}</a>
  +      </j:if>
  +    </define:tag>
   
  -  <goal
  -    name="xdoc:generate-from-pom"
  -    prereqs="init-texen-tag"
  -    description="Generates xdocs for site based on project descriptor">
  +    <!-- Alternator for row style in a table -->
  +    <define:tag name="printRow">
  +      <j:if test="${(count % 2) gt 0}">
  +        <x:element name="tr">
  +          <x:attribute name="class">a</x:attribute>
  +        </x:element>
  +      </j:if>
  +      <j:if test="${(count % 2) le 0}">
  +        <x:element name="tr">
  +          <x:attribute name="class">b</x:attribute>
  +        </x:element>
  +      </j:if>
  +    </define:tag>
   
  -    <texen:generate
  -      controlTemplate="Control.vm"
  -      outputDirectory="${maven.gen.docs}"
  -      templatePath="${plugin.dir}/templates"
  -      outputFile="xdocs.report"
  -      mavenProject="${pom}"
  -    />
  +    <!-- Generates the JSL files on the given srcdir attribute -->
  +    <define:tag name="performJSL">
   
  -  </goal>
  +      <util:replace var="fromPattern" oldChar="\" newChar="/" value="${srcdir}/*.xml"/>
  +      <util:replace var="toPattern" oldChar="\" newChar="/" value="${destdir}/*.html"/>
  +      <j:setProperties object="${mapper}" from="${fromPattern}" to="${toPattern}"/>
  +
  +      <util:replace var="fromDirPattern" oldChar="\" newChar="/" value="${srcdir}*"/>
  +      <util:replace var="toDirPattern" oldChar="\" newChar="/" value="${destdir}*"/>
  +      <j:new var="dirMapper" className="org.apache.tools.ant.util.GlobPatternMapper"/>
  +      <j:setProperties object="${dirMapper}" from="${fromDirPattern}" to="${toDirPattern}"/>
  +
  +      <fileScanner var="docFiles">
  +        <fileset dir="${srcdir}">
  +          <patternset>
  +            <exclude name="**/project.xml"/>
  +            <exclude name="**/template.xml"/>
  +            <exclude name="**/navigation.xml"/>
  +            <include name="**/*.xml"/>
  +          </patternset>
  +        </fileset>
  +      </fileScanner>
  +
  +      <j:forEach var="file" items="${docFiles.iterator()}">
  +
  +        <util:replace var="inDirForward" oldChar="\" newChar="/" value="${file.parent}"/>
  +        <j:set var="outDir" value="${dirMapper.mapFileName(inDirForward).0}"/>
  +        <mkdir dir="${outDir}"/>
  +
  +        <!-- generate output file name -->
  +        <util:replace var="outFileForward" oldChar="\" newChar="/" value="${file.toString()}"/>
  +        <j:set var="outFiles" value="${mapper.mapFileName(outFileForward)}"/>
  +        <j:set var="outFile" value="${outFiles[0]}"/>
  +
  +        <echo>Generating ${outFile} from ${file}</echo>
  +        <!-- work out relative path -->
  +        <util:replace var="docsForward" oldChar="\" newChar="/" value="${srcdir}"/>
  +        <j:set var="relativePath" value="${pathTool.getRelativePath(docsForward, outFileForward)}"/>
  +
  +        <util:available file="${file.parentFile.absoluteFile}/navigation.xml">
  +          <j:set var="navFile" value="${file.parentFile.absoluteFile}/navigation.xml"/>
  +        </util:available>
  +
  +        <!-- determine nav file to be used -->
  +        <util:available file="${maven.docs.src}/stylesheets/project.xml">
  +          <j:set var="navFile" value="${maven.docs.src}/stylesheets/project.xml"/>
  +        </util:available>
  +        <util:available file="${maven.docs.src}/project.xml">
  +          <j:set var="navFile" value="${maven.docs.src}/project.xml"/>
  +        </util:available>
  +        <util:available file="${maven.docs.src}/navigation.xml">
  +          <j:set var="navFile" value="${maven.docs.src}/navigation.xml"/>
  +        </util:available>
  +
  +        <!-- parse nav and make it available to the stylesheet -->
  +        <x:parse var="navXML" xml="file:${navFile}"/>
  +        <x:set var="nav" select="$navXML/project"/>
  +        <!-- parse the doc and pass it to the stylesheet -->
  +        <x:parse var="doc" xml="${file.toURL()}"/>
  +
  +        <j:file name="${outFile}" encoding="${outputencoding}"
  +          omitXmlDeclaration="true" outputMode="html"
  +          prettyPrint="yes">
  +          <j:include uri="${stylesheet.toString()}"/>
  +        </j:file>
  +      </j:forEach>
  +
  +    </define:tag>
  +  </define:taglib>
   
     <!-- ================================================================== -->
  -  <!-- D V S L  T A G  I N I T I A L I Z A T I O N                        -->
  +  <!-- P R O J E C T  D O C U M E N T A T I O N                           -->
     <!-- ================================================================== -->
   
  -  <goal name="init-dvsl-tag" 
  -    description="Set up the dvsl tag library for later use">
  +  <goal name="xdoc"
  +    prereqs="xdoc:generate-from-pom, xdoc:transform"
  +    description="Generate html project documentation xdoc sources"/>
   
  -    <define:taglib uri="dvsl">
  -      <define:jellybean 
  -        name="dvsl" 
  -        className="org.apache.maven.DVSLBean"
  -        method="execute">
  -      </define:jellybean>
  -    </define:taglib>
  +  <goal
  +    name="xdoc:generate-from-pom"
  +    description="Generates xdocs for site based on project descriptor">
  +    
  +    <echo>Generating xdocs from POM ... </echo>
  +    
  +    <util:tokenize var="pomDocuments" delim=",">${maven.xdoc.pomDocuments}</util:tokenize>
  +    
  +    <!-- All the templates use $project for now. -->
  +    <j:set var="project" value="${pom}"/>
  +    
  +    <!-- Need the escaper to html output. -->
  +    <j:useBean var="escape" class="org.apache.velocity.anakia.Escape"/>
  +    <j:useBean var="files" class="org.apache.velocity.texen.util.FileUtil"/>
  +    
  +    <j:forEach var="pomDocument" items="${pomDocuments}">
  +    
  +      <velocity:merge 
  +        name="${maven.gen.docs}/${pomDocument}"
  +        template="${plugin.dir}/templates/${pomDocument}"
  +      />
   
  -    <tstamp>
  -      <format property="build.date" pattern="${maven.xdoc.date.format}"
  -              locale="${maven.xdoc.date.locale}"/>
  -    </tstamp>
  +    </j:forEach>
   
     </goal>
   
  +  <!-- ================================================================== -->
  +  <!-- V A L I D A T E  X D O C S                                         -->
  +  <!-- ================================================================== -->
  +
     <!-- validate xdocs -->
     <goal name="xdoc:validate" prereqs="pom:taglib"
       description="Validate xdocs match the schema">
  @@ -104,115 +225,38 @@
             </patternset>
           </fileset>
         </fileScanner>
  -      
  +
         <j:forEach var="file" items="${navFiles.iterator()}">
           <echo>Validating ${file}</echo>
           <pom:validate validator="${maven.home}/maven-navigation-1.0.xsd"
  -          projectDescriptor="${file}" />
  +          projectDescriptor="${file}"/>
         </j:forEach>
  -
       </j:if>
     </goal>
   
  -  <!-- set up for xdoc transformation -->
  -  <goal name="xdoc:init" 
  -    description="Initialize resources for xdoc transformation">
  -    
  -    <tstamp>
  -      <format property="mavenCurrentYear" pattern="yyyy" />
  -    </tstamp>
  -
  -    <mkdir dir="${maven.docs.dest}"/>
  -
  -    <available 
  -      file="${maven.gen.docs}" 
  -      type="dir"
  -      property="maven.gen.docs.available"
  -    />
  -    
  -    <available 
  -      file="${maven.docs.src}"
  -      type="dir"
  -      property="maven.docs.src.available"
  -    />
  -
  -  </goal>
  -
  -  <!-- transform maven generated docs -->
  -  <goal name="xdoc:transform-docs"
  -    description="Transform the auto-generated xdocs using DVSL">
  -    
  -    <!-- Transform the auto-generated xdocs first -->
  -    <j:if test="${maven.gen.docs.available}">
  -
  -    <dvsl:dvsl
  -      basedir = "${maven.gen.docs}"
  -      destdir = "${maven.docs.dest}/"
  -      extension = ".html"
  -      force = "true"
  -      toolboxFile = "${plugin.dir}/toolbox.props"
  -      style = "${plugin.dir}/site.dvsl"
  -      excludes = "**/project.xml,**/template.xml"
  -      includes = "**/*.xml"
  -      outputEncoding = "${maven.docs.outputencoding}"
  -      mavenProject = "${pom}">
  -    </dvsl:dvsl>
  -
  -    </j:if>
  -  </goal>
  +  <!-- ================================================================== -->
  +  <!-- C O P Y  R E S O U R C E S                                         -->
  +  <!-- ================================================================== -->
   
     <!-- copy resources needed for xdocs -->
  -  <goal name="xdoc:copy-resources" 
  +  <goal name="xdoc:copy-resources"
       description="copy static resources for use in xdocs generated html">
       
  +    <!-- Read in the ui properties. -->
  +    <util:properties uri="file:${plugin.dir}/ui.properties" var="uiProperties"/>
  +
       <!-- Copy maven supplied stylesheets.  -->
       <copy todir="${maven.docs.dest}/style" overwrite="yes" filtering="yes">
         <fileset dir="${plugin.dir}/css">
           <include name="**/*.css"/>
         </fileset>
  +      
         <filterset>
  -        <filter token="UI_BODY_BACKGROUND" value="${maven.ui.body.background}"/>
  -        <filter token="UI_BODY_FOREGROUND" value="${maven.ui.body.foreground}"/>
  -        <filter token="UI_SECTION_BACKGROUND" value="${maven.ui.section.background}"/>
  -        <filter token="UI_SECTION_FOREGROUND" value="${maven.ui.section.foreground}"/>
  -        <filter token="UI_SUBSECTION_BACKGROUND" value="${maven.ui.subsection.background}"/>
  -        <filter token="UI_SUBSECTION_FOREGROUND" value="${maven.ui.subsection.foreground}"/>
  -
  -        <filter token="UI_TABLE_HEADER_BACKGROUND" value="${maven.ui.table.header.background}"/>
  -        <filter token="UI_TABLE_HEADER_FOREGROUND" value="${maven.ui.table.header.foreground}"/>
  -        <filter token="UI_TABLE_ROW_ODD_BACKGROUND" value="${maven.ui.table.row.odd.background}"/>
  -        <filter token="UI_TABLE_ROW_ODD_FOREGROUND" value="${maven.ui.table.row.odd.foreground}"/>
  -        <filter token="UI_TABLE_ROW_EVEN_BACKGROUND" value="${maven.ui.table.row.even.background}"/>
  -        <filter token="UI_TABLE_ROW_EVEN_FOREGROUND" value="${maven.ui.table.row.even.foreground}"/>
  -
  -        <filter token="UI_BANNER_BACKGROUND" value="${maven.ui.banner.background}"/>
  -        <filter token="UI_BANNER_FOREGROUND" value="${maven.ui.banner.foreground}"/>
  -        <filter token="UI_BANNER_BORDER_TOP" value="${maven.ui.banner.border.top}"/>
  -        <filter token="UI_BANNER_BORDER_BOTTOM" value="${maven.ui.banner.border.bottom}"/>
  -
  -        <filter token="UI_SOURCE_BACKGROUND" value="${maven.ui.source.background}"/>
  -        <filter token="UI_SOURCE_FOREGROUND" value="${maven.ui.source.foreground}"/>
  -        <filter token="UI_SOURCE_BORDER_TOP" value="${maven.ui.source.border.top}"/>
  -        <filter token="UI_SOURCE_BORDER_BOTTOM" value="${maven.ui.source.border.bottom}"/>
  -        <filter token="UI_SOURCE_BORDER_RIGHT" value="${maven.ui.source.border.right}"/>
  -        <filter token="UI_SOURCE_BORDER_LEFT" value="${maven.ui.source.border.left}"/>
  -
  -        <filter token="UI_NAVCOL_BACKGROUND" value="${maven.ui.navcol.background}"/>
  -        <filter token="UI_NAVCOL_FOREGROUND" value="${maven.ui.navcol.foreground}"/>
  -        <filter token="UI_NAVCOL_BACKGROUND_NS4" value="${maven.ui.navcol.background.ns4}"/>
  -        <filter token="UI_NAVCOL_FOREGROUND_NS4" value="${maven.ui.navcol.foreground.ns4}"/>
  -        <filter token="UI_NAVCOL_BORDER_TOP" value="${maven.ui.navcol.border.top}"/>
  -        <filter token="UI_NAVCOL_BORDER_RIGHT" value="${maven.ui.navcol.border.right}"/>
  -        <filter token="UI_NAVCOL_BORDER_BOTTOM" value="${maven.ui.navcol.border.bottom}"/>
  -
  -        <filter token="UI_BREADCRUMBS_BACKGROUND" value="${maven.ui.breadcrumbs.background}"/>
  -        <filter token="UI_BREADCRUMBS_FOREGROUND" value="${maven.ui.breadcrumbs.foreground}"/>
  -        <filter token="UI_BREADCRUMBS_BORDER_TOP" value="${maven.ui.breadcrumbs.border.top}"/>
  -        <filter token="UI_BREADCRUMBS_BORDER_BOTTOM" value="${maven.ui.breadcrumbs.border.bottom}"/>
  -
  -        <filter token="UI_HREF_LINK" value="${maven.ui.href.link}"/>
  -        <filter token="UI_HREF_LINK_ACTIVE" value="${maven.ui.href.link.active}"/>
  -        <filter token="UI_HREF_LINK_SELFREF" value="${maven.ui.href.link.selfref}"/>
  +        <j:forEach var="uiProperty" items="uiProperties">
  +          <util:replace var="token" oldChar="." newChar="_" value="${uiProperty}"/>
  +          <j:set var="token" value="${token.toUpperCase()}"/>
  +          <filter token="${token}" value="${uiProperty}"/>
  +        </j:forEach>
         </filterset>
       </copy>
   
  @@ -225,32 +269,13 @@
           <include name="**/*.png"/>
         </fileset>
       </copy>
  -    
  -  </goal>
   
  -  <!-- transform user docs -->
  -  <goal name="xdoc:transform-user-docs"
  -    description="Transform user provided anakia docs">
  -    <j:if test="${maven.docs.src.available}">
  -      <log:info>
  -        Transforming user supplied documentation.
  -      </log:info>
  -
  -      <dvsl:dvsl
  -        basedir = "${maven.docs.src}"
  -        destdir = "${maven.docs.dest}/"
  -        extension = ".html"
  -        force = "true"
  -        toolboxFile = "${plugin.dir}/toolbox.props"
  -        style = "${plugin.dir}/site.dvsl"
  -        excludes = "**/project.xml,**/template.xml"
  -        includes = "**/*.xml"
  -        outputEncoding = "${maven.docs.outputencoding}"
  -        mavenProject = "${pom}">
  -      </dvsl:dvsl>
  -    </j:if>
     </goal>
   
  +  <!-- ================================================================== -->
  +  <!-- C O P Y  U S E R  S U P P L I E D  R E S O U R C E S               -->
  +  <!-- ================================================================== -->
  +
     <!-- copy user resources -->
     <goal name="xdoc:copy-user-resources"
       description="Copy user provided resources to docs destination">
  @@ -280,8 +305,8 @@
             <include name="**/*.htm"/>
           </fileset>
         </copy>
  -    
  -    
  +
  +
         <!-- A hack to make the fileset below work. The files don't have to be
            present but the directory does. -->
         <mkdir dir="${maven.docs.src}/stylesheets"/>
  @@ -295,205 +320,98 @@
   
       </j:if>
     </goal>
  -    
  +
     <!-- ================================================================== -->
     <!-- D V S L  D O C U M E N T A T I O N                                 -->
     <!-- ================================================================== -->
  -
  +  
     <goal name="xdoc:transform"
  -        prereqs="xdoc:init"
  -        description="Generate html project documentation xdoc sources">
  -    
  -    <!-- This is busted
  -    <j:if test="${!maven.gen.docs.available}" >
  -      <log:info>
  -        No Maven generated documentation to transform - skipping.
  -      </log:info>
  -    </j:if>
  -    -->
  +    description="Generate html project documentation xdoc sources">
  +
  +    <tstamp>
  +      <format property="mavenCurrentYear" pattern="yyyy"/>
  +    </tstamp>
  +
  +    <mkdir dir="${maven.docs.dest}"/>
  +
  +    <!-- Use jelly utils here -->
  +
  +    <available
  +      file="${maven.gen.docs}"
  +      type="dir"
  +      property="maven.gen.docs.available"
  +    />
  +
  +    <available
  +      file="${maven.docs.src}"
  +      type="dir"
  +      property="maven.docs.src.available"
  +    />
  +
  +    <!-- use JSL in Jelly to build the documenation -->
  +    <attainGoal name="xdoc:copy-resources"/>
  +    <attainGoal name="xdoc:copy-user-resources"/>
  +    <attainGoal name="xdoc:jelly-transform"/>
   
  -		<j:choose>
  -			<j:when test="${maven.xdoc.useDVSL}">
  -				
  -				<echo>Using DVSL to create the documentation</echo>
  -				
  -				<!-- use DVSL to build the documentation -->
  -				<attainGoal name="init-dvsl-tag" />
  -				<attainGoal name="xdoc:transform-docs" />
  -				<attainGoal name="xdoc:copy-resources" />
  -				<!-- allow user overrides and extra docs/resources -->
  -				<attainGoal name="xdoc:transform-user-docs" />
  -				<attainGoal name="xdoc:copy-user-resources" />
  -			</j:when>
  -			<j:otherwise>
  -				
  -				<echo>Using Jelly to create the documentation</echo>
  -				
  -				<!-- use JSL in Jelly to build the documenation -->
  -				<attainGoal name="xdoc:copy-resources" />
  -				<attainGoal name="xdoc:copy-user-resources" />
  -				<attainGoal name="xdoc:jelly-transform" />
  -			</j:otherwise>
  -		</j:choose>
  -			
     </goal>
   
     <!-- ================================================================== -->
     <!-- J E L L Y   D O C U M E N T A T I O N                              -->
     <!-- ================================================================== -->
  +
     <goal name="xdoc:jelly-init" description="Set up jelly xdoc requirements">
       <!-- moving here temporarily -->
       <tstamp>
  -      <format property="mavenCurrentYear" pattern="yyyy" />
  +      <format property="mavenCurrentYear" pattern="yyyy"/>
       </tstamp>
       <tstamp>
         <format property="build.date" pattern="${maven.xdoc.date.format}"
  -              locale="${maven.xdoc.date.locale}"/>
  +        locale="${maven.xdoc.date.locale}"/>
       </tstamp>
  -    
  -    <!-- taglibs -->
  -    <define:taglib uri="jslXdoc">
  -      <define:tag name="itemLink">
  -        <j:set var="leaveLinkAlone" value="${(link.indexOf(':') >= 0) or link.startsWith('/site')}" />
  -        <j:if test="${leaveLinkAlone}">
  -          <a href="${link}">${name}</a>
  -        </j:if>
  -        <j:if test="${!leaveLinkAlone}">
  -          <a href="${relativePath}${link}">${name}</a>
  -        </j:if>
  -      </define:tag>
  -      
  -      <!-- Alternator for row style in a table -->
  -      <define:tag name="printRow">
  -        <j:if test="${(count % 2) gt 0}">
  -          <x:element name="tr">
  -            <x:attribute name="class">a</x:attribute>
  -          </x:element>
  -        </j:if>
  -        <j:if test="${(count % 2) le 0}">
  -          <x:element name="tr">
  -            <x:attribute name="class">b</x:attribute>
  -          </x:element>
  -        </j:if>
  -      </define:tag>
  -
  -			<!-- Generates the JSL files on the given srcdir attribute -->
  -			<define:tag name="performJSL">
  -
  -				<util:replace var="fromPattern" oldChar="\" newChar="/" value="${srcdir}/*.xml"/>
  -				<util:replace var="toPattern" oldChar="\" newChar="/" value="${destdir}/*.html"/>
  -				<j:setProperties object="${mapper}" from="${fromPattern}" to="${toPattern}" />
  -
  -                    <util:replace var="fromDirPattern" oldChar="\" newChar="/" value="${srcdir}*"/>
  -                    <util:replace var="toDirPattern" oldChar="\" newChar="/" value="${destdir}*"/>
  -                    <j:new var="dirMapper" className="org.apache.tools.ant.util.GlobPatternMapper"/>
  -                    <j:setProperties object="${dirMapper}" from="${fromDirPattern}" to="${toDirPattern}"/>
  -
  -				<fileScanner var="docFiles">
  -					<fileset dir="${srcdir}">
  -						<patternset>
  -							<exclude name="**/project.xml" />
  -							<exclude name="**/template.xml" />
  -							<exclude name="**/navigation.xml" />
  -							<include name="**/*.xml"/>
  -						</patternset>
  -					</fileset>
  -				</fileScanner>
  -		
  -				<j:forEach var="file" items="${docFiles.iterator()}">
  -					
  -                         <util:replace var="inDirForward" oldChar="\" newChar="/" value="${file.parent}"/>
  -                         <j:set var="outDir" value="${dirMapper.mapFileName(inDirForward).0}"/>
  -                         <mkdir dir="${outDir}"/>
  -                         
  -                         <!-- generate output file name -->
  -					<util:replace var="outFileForward" oldChar="\" newChar="/" value="${file.toString()}"/>      
  -					<j:set var="outFiles" value="${mapper.mapFileName(outFileForward)}" />
  -					<j:set var="outFile" value="${outFiles[0]}" />
  -		
  -					<echo>Generating ${outFile} from ${file}</echo>
  -					<!-- work out relative path -->
  -					<util:replace var="docsForward" oldChar="\" newChar="/" value="${srcdir}"/>
  -					<j:set var="relativePath" value="${pathTool.getRelativePath(docsForward, outFileForward)}"/>
  -		
  -					<util:available file="${file.parentFile.absoluteFile}/navigation.xml">
  -						<j:set var="navFile" value="${file.parentFile.absoluteFile}/navigation.xml" />
  -					</util:available>
  -
  -					<!-- determine nav file to be used -->
  -					<util:available file="${maven.docs.src}/stylesheets/project.xml">
  -						<j:set var="navFile" value="${maven.docs.src}/stylesheets/project.xml" />
  -					</util:available>
  -					<util:available file="${maven.docs.src}/project.xml">
  -						<j:set var="navFile" value="${maven.docs.src}/project.xml" />
  -					</util:available>
  -					<util:available file="${maven.docs.src}/navigation.xml">
  -						<j:set var="navFile" value="${maven.docs.src}/navigation.xml" />
  -					</util:available>
  -						
  -		
  -					<!-- parse nav and make it available to the stylesheet -->
  -					<j:new var="navAsFile" className="java.io.File">
  -					  <j:arg type="java.lang.String" value="${navFile}" />
  -					</j:new>
  -					<x:parse var="navXML" xml="${navAsFile.toURL().toExternalForm()}" />
  -					<x:set var="nav" select="$navXML/project" />
  -					<!-- parse the doc and pass it to the stylesheet -->      
  -					<x:parse var="doc" xml="${file.toURL()}" />
  -					
  -					<j:file name="${outFile}" encoding="${outputencoding}"
  -					  omitXmlDeclaration="true" outputMode="html"
  -					  prettyPrint="yes">
  -						<j:include uri="${stylesheet.toString()}" />
  -					</j:file>        
  -				</j:forEach>
  -
  -			</define:tag>
  -    </define:taglib>
     </goal>
  -         
  +
     <goal name="xdoc:jelly-transform" prereqs="xdoc:jelly-init"
       description="transform xdocs using jelly/jsl rather than dvsl">
   
  -    <j:set var="destdir" value="${maven.docs.dest}" />
  -    <j:set var="outputencoding" value="${maven.docs.outputencoding}" />
  +    <j:set var="destdir" value="${maven.docs.dest}"/>
  +    <j:set var="outputencoding" value="${maven.docs.outputencoding}"/>
   
       <!-- need to parse navigation into $nav -->
  -  
  +
       <!-- mapper for determining output file name -->
  -    <j:new var="mapper" className="org.apache.tools.ant.util.GlobPatternMapper" />
  +    <j:new var="mapper" className="org.apache.tools.ant.util.GlobPatternMapper"/>
   
   
       <!-- path tool for relative processing -->
  -    <j:useBean var="pathTool" class="org.apache.maven.DVSLPathTool" />
  +    <j:useBean var="pathTool" class="org.apache.maven.DVSLPathTool"/>
   
  -		<!-- tool for loading resources from the class loader -->
  -		<j:useBean class="org.apache.maven.util.ResourceBean" var="resourceTool"/>
  +    <!-- tool for loading resources from the class loader -->
  +    <j:useBean class="org.apache.maven.util.ResourceBean" var="resourceTool"/>
  +
  +    <!-- determine which stylesheet to use -->
  +    <j:set var="stylesheet" value="${maven.xdoc.jsl}"/>
  +    <j:if test="${empty(stylesheet)}">
  +      <j:set var="stylesheet" value="${resourceTool.findResource('site.jsl')}"/>
  +      <j:if test="${empty(stylesheet)}">
  +        <log:warn>Could not load the JSL stylesheet 'site.jsl' on the classpath</log:warn>
  +        <j:set var="stylesheet" value="./site.jsl"/>
  +      </j:if>
  +    </j:if>
  +
  +    <log:info>About to use JSL stylesheet ${stylesheet}</log:info>
  +
  +    <!-- perform JSL on generated docs -->
  +    <doc:performJSL srcdir="${maven.gen.docs}" destdir="${maven.docs.dest}"/>
  +
  +    <!-- perform JSL on user provided docs -->
  +    <j:if test="${maven.docs.src.available}">
  +      <log:info>
  +        Transforming user supplied documentation.
  +      </log:info>
  +      <doc:performJSL srcdir="${maven.docs.src}" destdir="${maven.docs.dest}"/>
  +    </j:if>
   
  -		<!-- determine which stylesheet to use -->		
  -		<j:set var="stylesheet" value="${maven.xdoc.jsl}"/>
  -		<j:if test="${empty(stylesheet)}">
  -			<j:set var="stylesheet" value="${resourceTool.findResource('site.jsl')}"/>
  -			<j:if test="${empty(stylesheet)}">
  -				<log:warn>Could not load the JSL stylesheet 'site.jsl' on the classpath</log:warn>
  -				<j:set var="stylesheet" value="./site.jsl"/>
  -			</j:if>
  -		</j:if>
  -
  -		<log:info>About to use JSL stylesheet ${stylesheet}</log:info>
  -
  -		<!-- perform JSL on generated docs -->
  -		<jslXdoc:performJSL srcdir="${maven.gen.docs}" destdir="${maven.docs.dest}"/>
  -			
  -		<!-- perform JSL on user provided docs -->
  -       <j:if test="${maven.docs.src.available}">
  -         <log:info>
  -           Transforming user supplied documentation.
  -         </log:info>
  -		 <jslXdoc:performJSL srcdir="${maven.docs.src}" destdir="${maven.docs.dest}"/>
  -       </j:if>		
  -  
     </goal>
  - 
  +
   
   </project>
  
  
  
  1.4       +26 -0     jakarta-turbine-maven/src/plugins-build/xdoc/plugin.properties
  
  Index: plugin.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/plugin.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- plugin.properties	14 Nov 2002 06:20:18 -0000	1.3
  +++ plugin.properties	31 Dec 2002 07:14:17 -0000	1.4
  @@ -65,3 +65,29 @@
   maven.ui.href.link = blue
   maven.ui.href.link.active = #f30
   maven.ui.href.link.selfref = #555
  +
  +# This is horrid but will do for now. This needs to be extensible
  +# so that users can utilize the transformation process with their
  +# own templates.
  +
  +maven.xdoc.pomDocuments = cvs-usage.xml,\
  +                          dependencies.xml,\
  +                          index.xml,\
  +                          issue-tracking.xml,\
  +                          mail-lists.xml,\
  +                          maven-reports.xml,\
  +                          project-info.xml,\
  +                          team-list.xml
  +
  +maven.xdoc.projectReports = developer-activity-report.xml,\
  +                            changelog.xml,\
  +                            checkstyle-report.xml,\
  +                            file-activity-report.xml,\
  +                            javadoc.xml,\
  +                            jdepend-report.xml,\
  +                            junit-report.xml,\
  +                            maven-reports.xml,\
  +                            task-list.xml,\
  +                            tasks.xml,\
  +                            changes.xml,\
  +                            cactus-report.xml
  
  
  
  1.16      +449 -401  jakarta-turbine-maven/src/plugins-build/xdoc/site.jsl
  
  Index: site.jsl
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/site.jsl,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- site.jsl	18 Dec 2002 14:49:32 -0000	1.15
  +++ site.jsl	31 Dec 2002 07:14:17 -0000	1.16
  @@ -1,422 +1,470 @@
   <?xml version="1.0"?>
  -    <!-- stylesheet to be used -->
  -    <jsl:stylesheet select="$doc"
  -         xmlns:define="jelly:define"
  -         xmlns:j="jelly:core" 
  -         xmlns:jsl="jelly:jsl"
  -         xmlns:log="jelly:log"
  -         xmlns:m="jelly:jeez"
  -         xmlns:util="jelly:util"
  -         xmlns:x="jelly:xml"
  -         xmlns:jslXdoc="jslXdoc"
  -         xmlns="dummy" trim="false">
  -      <jsl:template match="document" trim="false">
  -
  -        <x:doctype name="html" 
  -          publicId="-//CollabNet//DTD XHTML 1.0 Transitional//EN"
  -          systemId="http://www.collabnet.com/dtds/collabnet_transitional_10.dtd" />
  -           
  -        <html>
  -          <head>
  -            <j:set var="docTitle"><x:expr select="./properties/title" /></j:set>
  -            <x:if select="$nav/title">
  -              <title><x:expr select="$nav/title" /> - ${docTitle}</title>
  -            </x:if>
  -            <x:if select="not($nav/title)">
  -              <title>${pom.name} - ${docTitle}</title>
  -            </x:if>
  -            <j:set var="tigrisCss" value='"${relativePath}/style/tigris.css"' />
  -            <j:set var="mavenCss" value='"${relativePath}/style/maven.css"' />
  -            <style type="text/css"><![CDATA[
  -              @import url(${tigrisCss});
  -              @import url(${mavenCss});
  -            ]]></style>
  -            <x:element name="script"><x:attribute name="type">text/javascript</x:attribute>
  -              if (document.layers) {
  +<!-- stylesheet to be used -->
  +<jsl:stylesheet select="$doc"
  +  xmlns:define="jelly:define"
  +  xmlns:j="jelly:core"
  +  xmlns:jsl="jelly:jsl"
  +  xmlns:log="jelly:log"
  +  xmlns:util="jelly:util"
  +  xmlns:x="jelly:xml"
  +  xmlns:doc="doc"
  +  xmlns="dummy" trim="false">
  +  <jsl:template match="document" trim="false">
  +
  +    <x:doctype name="html"
  +      publicId="-//CollabNet//DTD XHTML 1.0 Transitional//EN"
  +      systemId="http://www.collabnet.com/dtds/collabnet_transitional_10.dtd"/>
  +
  +    <html>
  +      <head>
  +        <j:set var="docTitle">
  +          <x:expr select="./properties/title"/>
  +        </j:set>
  +        <x:if select="$nav/title">
  +          <title>
  +            <x:expr select="$nav/title"/> - ${docTitle}
  +          </title>
  +        </x:if>
  +        <x:if select="not($nav/title)">
  +          <title>${pom.name} - ${docTitle}</title>
  +        </x:if>
  +        <j:set var="tigrisCss" value='"${relativePath}/style/tigris.css"'/>
  +        <j:set var="mavenCss" value='"${relativePath}/style/maven.css"'/>
  +        <style type="text/css"><![CDATA[
  +          @import url(${tigrisCss});
  +          @import url(${mavenCss});
  +        ]]></style>
  +        <x:element name="script"><x:attribute name="type">text/javascript</x:attribute>
  +          if (document.layers) {
                   document.writeln(''+
                   '<link rel="stylesheet" type="text/css" href="${relativePath}/style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="${relativePath}/style/maven_ns4_only.css" media="screen"/>');
                 }
               </x:element>
  +        <link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print"/>
  +        <x:forEach var="author" select="./properties/author">
  +          <meta name="author" value="${author.text}"/>
  +          <meta name="email" value="${author.attribute('email').value}"/>
  +        </x:forEach>
  +      </head>
   
  -            <link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print" />
  -            <x:forEach var="author" select="./properties/author">
  -              <meta name="author" value="${author.text}"/>
  -              <meta name="email" value="${author.attribute('email').value}" />
  -            </x:forEach>
  -          </head>
  -
  -          <body class="composite" marginwidth="0" marginheight="0">
  -            <div id="banner">
  -              <table border="0" cellspacing="0" cellpadding="8" width="100%">
  -                <tr>
  -                  <!-- organization logo -->
  -                  <td>
  -                    <j:set var="logo" value="${pom.organization.logo}" />
  -                    <j:if test="${!empty(logo)}">
  -                      <!-- set url to org or project url -->
  -                      <j:set var="url" value="${pom.organization.url}" />
  -                      <j:if test="${!empty(url)}">
  -                        <j:set var="home" value="${pom.organization.url}" />
  -                      </j:if>
  -                      <j:if test="${empty(url)}">
  -                        <j:set var="home" value="${pom.url}" />
  -                      </j:if>
  -                      <!-- set image to relative or complete -->
  -                      <j:set var="image" value="${pom.organization.logo}" />
  -                      <j:if test="${!image.startsWith('http://')}">
  -                        <j:set var="image" value="${relativePath}${image}" />
  -                      </j:if>
  -                      <a href="${home}">
  -                        <img src="${image}" align="left" alt="${pom.organization.name}" border="0" />
  -                      </a>
  -                    </j:if>
  -                  </td>
  -        
  -                  <!-- project logo and link -->
  -                  <td>
  -                    <div align="right" id="login">
  -                      <j:set var="logo" value="${pom.logo}" />
  -                      <j:if test="${logo != null and logo != ''}">
  -                        <!-- set image to relative or complete -->
  -                        <j:set var="image" value="${pom.logo}" />
  -                        <j:if test="${!image.startsWith('http://')}">
  -                          <j:set var="image" value="${relativePath}${image}" />
  -                        </j:if>
  -                           
  -                        <a href="${pom.url}">
  -                          <img src="${image}" align="right" alt="${pom.name}" border="0" />
  -                        </a>
  -                      </j:if>
  -                    </div>
  -                  </td>
  -                </tr>
  -              </table>
  -            </div>
  -            <div id="breadcrumbs">
  -              <table border="0" cellspacing="0" cellpadding="4" width="100%">
  -                <tr>
  -                  <!-- date of publish and version -->
  -                  <j:set var="date">${maven.xdoc.date}</j:set>
  -                  <j:if test="${date == 'left'}">
  -                    <j:set var="version" value="${maven.xdoc.version}" />
  -                    <td>Last published: ${build.date}
  -                      <j:if test="${!empty(version)}">| Doc for ${version}</j:if>
  -                    </td>
  +      <body class="composite" marginwidth="0" marginheight="0">
  +        <div id="banner">
  +          <table border="0" cellspacing="0" cellpadding="8" width="100%">
  +            <tr>
  +              <!-- organization logo -->
  +              <td>
  +                <j:set var="logo" value="${pom.organization.logo}"/>
  +                <j:if test="${!empty(logo)}">
  +                  <!-- set url to org or project url -->
  +                  <j:set var="url" value="${pom.organization.url}"/>
  +                  <j:if test="${!empty(url)}">
  +                    <j:set var="home" value="${pom.organization.url}"/>
                     </j:if>
  -                  <td>
  -                    <div align="right">
  -                    <j:if test="${date == 'right'}">
  -                      Last published: ${build.date}
  -                      <x:if select="$nav/body/links">|</x:if>
  -                    </j:if>
  -                    <!-- render links -->
  -                    <x:if select="$nav/body/links">
  -                      <!-- FIXME: need to test/implement  -->
  -                      <jsl:applyTemplates select="$nav/body/links" />
  -                    </x:if>
  -                    <x:if select="not($nav/body/links)">
  -                      <!-- FIXME &nbsp; -->
  -                    </x:if>
  -                    </div>
  -                  </td>
  -                </tr>
  -              </table>
  -            </div>
  -            <!-- Body of the page -->
  -            <table border="0" cellspacing="0" cellpadding="8" width="100%"> <!--id="main" -->
  -              <tr valign="top">
  -                <td id="leftcol" width="20%">
  -                  <div id="navcolumn">
  -                    <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-top'}">
  -                      <div><small>Last published: ${buildDate}</small></div>
  -                    </j:if>
  -                              
  -                    <x:if select="$nav">
  -                      <jsl:applyTemplates select="$nav/body/menu" />
  -                    </x:if>
  -                                                               
  -                    <!-- Standard Maven Navigation -->
  -                    <j:set var="fileName">${file}</j:set>
  -                    
  -                    <div><strong>Project Documentation</strong>
  -                      <div><small><a href="${relativePath}/index.html">Front Page</a></small></div>
  -                      <div>
  -                        <small><a href="${relativePath}/project-info.html">Project Info</a></small>
  -                        <util:tokenize var="projectInfoFiles" delim=",">dependencies.xml,mail-lists.xml,project-info.xml,team-list.xml</util:tokenize>
  -                        
  -                        <j:forEach var="infoFile" items="${projectInfoFiles}">
  -                          <j:if test="${relativePath == '.' and fileName.endsWith(infoFile)}">
  -                            <div><small><a href="${relativePath}/mail-lists.html">Mailing Lists</a></small></div>
  -                            <div><small><a href="${relativePath}/team-list.html">Project Team</a></small></div>
  -                            <div><small><a href="${relativePath}/dependencies.html">Dependencies</a></small></div>
  -                            <j:if test="${!empty(pom.repository.url)}">
  -                              <div><small><a href="${pom.repository.url.trim()}">Source Repository</a></small></div>
  -                            </j:if>
  -                            <j:if test="${!empty(pom.issueTrackingUrl)}">
  -                              <div><small><a href="${pom.issueTrackingUrl.trim()}">Issue Tracking</a></small></div>
  -                            </j:if>
  -                          </j:if>
  -                        </j:forEach>
  -                      </div>
  -                      <div>
  -                        <small><a href="${relativePath}/maven-reports.html">Project Reports</a></small>
  -                        <util:tokenize var="projectReportFiles" delim=",">developer-activity-report.xml,changelog.xml,checkstyle-report.xml,
  -file-activity-report.xml,javadoc.xml,jdepend-report.xml,junit-report.xml,maven-reports.xml,task-list.xml,tasks.xml,changes.xml,
  -cactus-report.xml</util:tokenize>
  -                        <j:forEach var="reportFile" items="${projectReportFiles}">
  -                          <j:if test="${relativePath == '.' and fileName.endsWith(reportFile.trim())}">
  -                            <util:available file="${maven.docs.src}/tasks.xml">
  -                              <div><small><a href="${relativePath}/tasks.html">Tasks</a></small></div>
  -                            </util:available>
  -                            <util:available file="${maven.docs.src}/task-list.xml">
  -                              <div><small><a href="${relativePath}/task-list.html">Task List</a></small></div>
  -                            </util:available>
  -                            <util:available file="${maven.docs.src}/changes.xml">
  -                              <div><small><a href="${relativePath}/changes.html">Changes</a></small></div>
  -                            </util:available>
  -                            <j:if test="${!empty(pom.repository.connection)}">
  -                              <div><small><a href="${relativePath}/changelog.html">Change Log</a></small></div>
  -                              <div><small><a href="${relativePath}/developer-activity-report.html">Developer Activity</a></small></div>
  -                              <div><small><a href="${relativePath}/file-activity-report.html">File Activity</a></small></div>
  -                            </j:if>
  -                            <j:if test="${unitTestSourcesPresent}">
  -                              <div><small><a href="${relativePath}/junit-report.html">Unit Tests</a></small></div>
  -                            </j:if>
  -                            <j:if test="${sourcesPresent}">
  -                              <div><small><a href="${relativePath}/jdepend-report.html">Metric Results</a></small></div>
  -                              <div><small><a href="${relativePath}/checkstyle-report.html">Checkstyle Report</a></small></div>
  -                              <div><small><a href="${relativePath}/javadoc.html">Javadoc Report</a></small></div>
  -                            </j:if>
  -                            <util:available file="${maven.docs.dest}/clover">
  -                              <div><small><a href="${relativePath}/clover/index.html">Clover Test Coverage</a></small></div>
  -                            </util:available>
  -                            <util:available file="${maven.gen.docs}/cactus-report.xml">
  -                              <div><small><a href="${relativePath}/cactus-report.html">Cactus Tests</a></small></div>
  -                            </util:available>
  -                          </j:if>
  -                        </j:forEach>
  -                      </div>
  -                      <j:if test="${sourcesPresent}">
  -                        <div><small><a href="${relativePath}/apidocs/index.html">JavaDocs</a></small></div>
  -                        <div><small><a href="${relativePath}/xref/index.html">Source XReference</a></small></div>
  -                      </j:if>
  -                      <j:set var="devProcess" value="false" />
  -                      <util:available file="${maven.docs.src}/development-process.xml">
  -                        <j:set var="devProcess" value="true" />
  -                      </util:available>
  -                      <j:if test="${devProcess}">
  -                        <div><small><a href="${relativePath}/development-process.html">Development Process</a></small></div>
  -                      </j:if>
  -                      <j:if test="${!devProcess}">
  -                        <div><small><a href="${maven.xdoc.development-process-url}">Development Process</a></small></div>
  -                      </j:if>
  -                    </div>
  -                    <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-bottom'}">
  -                      <div><small>Last published: ${build.date}</small></div>
  +                  <j:if test="${empty(url)}">
  +                    <j:set var="home" value="${pom.url}"/>
  +                  </j:if>
  +                  <!-- set image to relative or complete -->
  +                  <j:set var="image" value="${pom.organization.logo}"/>
  +                  <j:if test="${!image.startsWith('http://')}">
  +                    <j:set var="image" value="${relativePath}${image}"/>
  +                  </j:if>
  +                  <a href="${home}">
  +                    <img src="${image}" align="left" alt="${pom.organization.name}" border="0"/>
  +                  </a>
  +                </j:if>
  +              </td>
  +
  +              <!-- project logo and link -->
  +              <td>
  +                <div align="right" id="login">
  +                  <j:set var="logo" value="${pom.logo}"/>
  +                  <j:if test="${logo != null and logo != ''}">
  +                    <!-- set image to relative or complete -->
  +                    <j:set var="image" value="${pom.logo}"/>
  +                    <j:if test="${!image.startsWith('http://')}">
  +                      <j:set var="image" value="${relativePath}${image}"/>
                       </j:if>
  -                  </div>
  +
  +                    <a href="${pom.url}">
  +                      <img src="${image}" align="right" alt="${pom.name}" border="0"/>
  +                    </a>
  +                  </j:if>
  +                </div>
  +              </td>
  +            </tr>
  +          </table>
  +        </div>
  +        <div id="breadcrumbs">
  +          <table border="0" cellspacing="0" cellpadding="4" width="100%">
  +            <tr>
  +              <!-- date of publish and version -->
  +              <j:set var="date">${maven.xdoc.date}</j:set>
  +              <j:if test="${date == 'left'}">
  +                <j:set var="version" value="${maven.xdoc.version}"/>
  +                <td>Last published: ${build.date}
  +                  <j:if test="${!empty(version)}">| Doc for ${version}</j:if>
                   </td>
  -                <td>
  -                  <div id="bodycol">
  -                    <!-- Insert MAIN body here -->
  -                    <div class="app">
  -<!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
  -                      <jsl:applyTemplates select="$doc/document/body/section" />
  -                      <jsl:applyTemplates select="$doc/document/body/glossary" />
  -                      <jsl:applyTemplates select="$doc/document/body/release" />
  -                      <jsl:applyTemplates select="$doc/document/body/changelog" />
  -                      <jsl:applyTemplates select="$doc/document/body/taskList" />
  -                      <jsl:applyTemplates select="$doc/document/body/goals" />
  -                    </div>
  +              </j:if>
  +              <td>
  +                <div align="right">
  +                  <j:if test="${date == 'right'}">
  +                    Last published: ${build.date}
  +                    <x:if select="$nav/body/links">|</x:if>
  +                  </j:if>
  +                  <!-- render links -->
  +                  <x:if select="$nav/body/links">
  +                    <!-- FIXME: need to test/implement  -->
  +                    <jsl:applyTemplates select="$nav/body/links"/>
  +                  </x:if>
  +                  <x:if select="not($nav/body/links)">
  +                    <!-- FIXME &nbsp; -->
  +                  </x:if>
  +                </div>
  +              </td>
  +            </tr>
  +          </table>
  +        </div>
  +        <!-- Body of the page -->
  +        <table border="0" cellspacing="0" cellpadding="8" width="100%"> <!--id="main" -->
  +          <tr valign="top">
  +            <td id="leftcol" width="20%">
  +              <div id="navcolumn">
  +                <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-top'}">
  +                  <div>
  +                    <small>Last published: ${buildDate}</small>
                     </div>
  -                </td>
  -              </tr>
  -            </table>
  -            <div id="footer">
  -              <table border="0" cellspacing="0" cellpadding="4">
  -                <tr>
  -                  <td>
  -                    <j:if test="${!empty(pom.organization.name)}">
  -                      <j:if test="${!empty(pom.inceptionYear)}">
  -                        <j:if test="${pom.inceptionYear == mavenCurrentYear}">
  -                          <!-- FIXME &copy; -->${mavenCurrentYear}, ${pom.organization.name}
  +                </j:if>
  +
  +                <x:if select="$nav">
  +                  <jsl:applyTemplates select="$nav/body/menu"/>
  +                </x:if>
  +
  +                <!-- Standard Maven Navigation -->
  +                <j:set var="fileName">${file}</j:set>
  +
  +                <div>
  +                  <strong>Project Documentation</strong>
  +                  <div>
  +                    <small>
  +                      <a href="${relativePath}/index.html">Front Page</a>
  +                    </small>
  +                  </div>
  +                  <div>
  +                    <small>
  +                      <a href="${relativePath}/project-info.html">Project Info</a>
  +                    </small>
  +                    <util:tokenize var="projectInfoFiles" delim=",">${maven.xdoc.pomDocuments}</util:tokenize>
  +                    <j:forEach var="infoFile" items="${projectInfoFiles}">
  +                      <j:if test="${relativePath == '.' and fileName.endsWith(infoFile)}">
  +                        <div>
  +                          <small>
  +                            <a href="${relativePath}/mail-lists.html">Mailing Lists</a>
  +                          </small>
  +                        </div>
  +                        <div>
  +                          <small>
  +                            <a href="${relativePath}/team-list.html">Project Team</a>
  +                          </small>
  +                        </div>
  +                        <div>
  +                          <small>
  +                            <a href="${relativePath}/dependencies.html">Dependencies</a>
  +                          </small>
  +                        </div>
  +                        <j:if test="${!empty(pom.repository.url)}">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/cvs-usage.html">Source Repository</a>
  +                            </small>
  +                          </div>
                           </j:if>
  -                        <j:if test="${pom.inceptionYear != mavenCurrentYear}">
  -                          <!-- FIXME &copy; --> ${pom.inceptionYear}-${mavenCurrentYear}, ${pom.organization.name}
  +                        <j:if test="${!empty(pom.issueTrackingUrl)}">
  +                          <div>
  +                            <small>
  +                              <a href="${pom.issueTrackingUrl.trim()}">Issue Tracking</a>
  +                            </small>
  +                          </div>
                           </j:if>
                         </j:if>
  -                      <j:if test="${empty(pom.inceptionYear)}">
  -                        <!-- FIXME &copy; --> ${mavenCurrentYear}, ${pom.organization.name}
  +                    </j:forEach>
  +                  </div>
  +                  <div>
  +                    <small>
  +                      <a href="${relativePath}/maven-reports.html">Project Reports</a>
  +                    </small>
  +                    <util:tokenize var="projectReportFiles" delim=",">${maven.xdoc.projectReports}</util:tokenize>
  +                    <j:forEach var="reportFile" items="${projectReportFiles}">
  +                      <j:if test="${relativePath == '.' and fileName.endsWith(reportFile.trim())}">
  +                        <util:available file="${maven.docs.src}/tasks.xml">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/tasks.html">Tasks</a>
  +                            </small>
  +                          </div>
  +                        </util:available>
  +                        <util:available file="${maven.docs.src}/task-list.xml">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/task-list.html">Task List</a>
  +                            </small>
  +                          </div>
  +                        </util:available>
  +                        <util:available file="${maven.docs.src}/changes.xml">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/changes.html">Changes</a>
  +                            </small>
  +                          </div>
  +                        </util:available>
  +                        <j:if test="${!empty(pom.repository.connection)}">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/changelog-report.html">Change Log</a>
  +                            </small>
  +                          </div>
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/developer-activity-report.html">Developer Activity</a>
  +                            </small>
  +                          </div>
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/file-activity-report.html">File Activity</a>
  +                            </small>
  +                          </div>
  +                        </j:if>
  +                        <j:if test="${unitTestSourcesPresent}">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/junit-report.html">Unit Tests</a>
  +                            </small>
  +                          </div>
  +                        </j:if>
  +                        <j:if test="${sourcesPresent}">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/jdepend-report.html">Metric Results</a>
  +                            </small>
  +                          </div>
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/checkstyle-report.html">Checkstyle Report</a>
  +                            </small>
  +                          </div>
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/javadoc.html">Javadoc Report</a>
  +                            </small>
  +                          </div>
  +                        </j:if>
  +                        <util:available file="${maven.docs.dest}/clover">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/clover/index.html">Clover Test Coverage</a>
  +                            </small>
  +                          </div>
  +                        </util:available>
  +                        <util:available file="${maven.gen.docs}/cactus-report.xml">
  +                          <div>
  +                            <small>
  +                              <a href="${relativePath}/cactus-report.html">Cactus Tests</a>
  +                            </small>
  +                          </div>
  +                        </util:available>
                         </j:if>
  +                    </j:forEach>
  +                  </div>
  +                  <j:if test="${sourcesPresent}">
  +                    <div>
  +                      <small>
  +                        <a href="${relativePath}/apidocs/index.html">JavaDocs</a>
  +                      </small>
  +                    </div>
  +                    <div>
  +                      <small>
  +                        <a href="${relativePath}/xref/index.html">Source XReference</a>
  +                      </small>
  +                    </div>
  +                  </j:if>
  +                  <j:set var="devProcess" value="false"/>
  +                  <util:available file="${maven.docs.src}/development-process.xml">
  +                    <j:set var="devProcess" value="true"/>
  +                  </util:available>
  +                  <j:if test="${devProcess}">
  +                    <div>
  +                      <small>
  +                        <a href="${relativePath}/development-process.html">Development Process</a>
  +                      </small>
  +                    </div>
  +                  </j:if>
  +                  <j:if test="${!devProcess}">
  +                    <div>
  +                      <small>
  +                        <a href="${maven.xdoc.development-process-url}">Development Process</a>
  +                      </small>
  +                    </div>
  +                  </j:if>
  +                </div>
  +                <j:if test="${context.findVariable('maven.xdoc.date') == 'navigation-bottom'}">
  +                  <div>
  +                    <small>Last published: ${build.date}</small>
  +                  </div>
  +                </j:if>
  +              </div>
  +            </td>
  +            <td>
  +              <div id="bodycol">
  +                <!-- Insert MAIN body here -->
  +                <div class="app">
  +                  <!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
  +                  <jsl:applyTemplates select="$doc/document/body/section"/>
  +                </div>
  +              </div>
  +            </td>
  +          </tr>
  +        </table>
  +        <div id="footer">
  +          <table border="0" cellspacing="0" cellpadding="4">
  +            <tr>
  +              <td>
  +                <j:if test="${!empty(pom.organization.name)}">
  +                  <j:if test="${!empty(pom.inceptionYear)}">
  +                    <j:if test="${pom.inceptionYear == mavenCurrentYear}">
  +                      <!-- FIXME &copy; -->${mavenCurrentYear}, ${pom.organization.name}
                       </j:if>
  -                        
  -                    <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom'}">
  -                      - Last published: ${build.date}
  +                    <j:if test="${pom.inceptionYear != mavenCurrentYear}">
  +                      <!-- FIXME &copy; --> ${pom.inceptionYear}-${mavenCurrentYear}, ${pom.organization.name}
                       </j:if>
  -                  </td>
  -                  <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom-right'}">
  -                    <td align="right">Last published: ${build.date}</td>
                     </j:if>
  -                </tr>
  -              </table>
  -            </div>
  -          </body>
  -        </html>
  -      </jsl:template>
  -
  -      <!-- process the properties of the doc -->
  -      <jsl:template match="properties" trim="false">
  -        <!-- stick head block here later -->
  -      </jsl:template>
  -      
  -      <!-- Process a menu for the navigation bar -->
  -      <jsl:template match="menu" trim="false">
  -        <div>
  -          <strong><x:expr select="@name"/></strong>
  -          <jsl:applyTemplates select="item" />
  -        </div>
  -      </jsl:template>
  -
  -      <jsl:template match="item" trim="false">
  -        <div>
  -          <j:set var="_name"><x:expr select="@name" /></j:set>
  -          <j:set var="_link"><x:expr select="@href" /></j:set>
  -          <small><jslXdoc:itemLink name="${_name}" link="${_link}" /></small>
  -          <jsl:applyTemplates select="item" />
  -        </div>
  -      </jsl:template>
  -
  -      <!-- Process the breadcrumb navbar -->
  -      <jsl:template match="links" trim="false">
  -        <j:set var="linkCount" value="1" />
  -        <x:forEach var="link" select="item">
  -          <j:if test="${linkCount != 1}">|</j:if>
  -          <j:set var="_name"><x:expr select="@name" /></j:set>
  -          <j:set var="_link"><x:expr select="@href" /></j:set>
  -          <jslXdoc:itemLink name="${_name}" link="${_link}" />
  -          <j:set var="linkCount" value="${1+linkCount}"/>
  -        </x:forEach>
  -      </jsl:template>   
  -
  -      <!-- process a documentation section -->
  -      <jsl:template match="section" trim="false">
  -        <div class="h3">
  -        <j:set var="_sectionName"><x:expr select="@name"/></j:set>
  -        <j:if test="${!empty(_sectionName)}">
  -          <h3><a name="${_sectionName}">${_sectionName}</a></h3>
  -        </j:if>
  -        <jsl:applyTemplates select="*"/>
  -        </div>
  -      </jsl:template>
  +                  <j:if test="${empty(pom.inceptionYear)}">
  +                    <!-- FIXME &copy; --> ${mavenCurrentYear}, ${pom.organization.name}
  +                  </j:if>
  +                </j:if>
   
  -      <jsl:template match="subsection" trim="false">
  -        <div class="h4">
  -        <j:set var="_sectionName" trim="false"><x:expr select="@name"/></j:set>
  -        <j:if test="${!empty(_sectionName)}">
  -          <h4><a name="${_sectionName}">${_sectionName}</a></h4>
  -        </j:if>
  -        <jsl:applyTemplates select="*"/>
  +                <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom'}">
  +                  - Last published: ${build.date}
  +                </j:if>
  +              </td>
  +              <j:if test="${context.findVariable('maven.xdoc.date') == 'bottom-right'}">
  +                <td align="right">Last published: ${build.date}</td>
  +              </j:if>
  +            </tr>
  +          </table>
           </div>
  -      </jsl:template>
  +      </body>
  +    </html>
  +  </jsl:template>
  +
  +  <!-- process the properties of the doc -->
  +  <jsl:template match="properties" trim="false">
  +    <!-- stick head block here later -->
  +  </jsl:template>
  +
  +  <!-- Process a menu for the navigation bar -->
  +  <jsl:template match="menu" trim="false">
  +    <div>
  +      <strong><x:expr select="@name"/></strong>
  +      <jsl:applyTemplates select="item"/>
  +    </div>
  +  </jsl:template>
  +
  +  <jsl:template match="item" trim="false">
  +    <div>
  +      <j:set var="_name"><x:expr select="@name"/></j:set>
  +      <j:set var="_link"><x:expr select="@href"/></j:set>
  +      <small><doc:itemLink name="${_name}" link="${_link}"/></small>
  +      <jsl:applyTemplates select="item"/>
  +    </div>
  +  </jsl:template>
  +
  +  <!-- Process the breadcrumb navbar -->
  +  <jsl:template match="links" trim="false">
  +    <j:set var="linkCount" value="1"/>
  +    <x:forEach var="link" select="item">
  +      <j:if test="${linkCount != 1}">|</j:if>
  +      <j:set var="_name">
  +        <x:expr select="@name"/>
  +      </j:set>
  +      <j:set var="_link">
  +        <x:expr select="@href"/>
  +      </j:set>
  +      <doc:itemLink name="${_name}" link="${_link}"/>
  +      <j:set var="linkCount" value="${1+linkCount}"/>
  +    </x:forEach>
  +  </jsl:template>
  +
  +  <!-- process a documentation section -->
  +  <jsl:template match="section" trim="false">
  +    <div class="h3">
  +      <j:set var="_sectionName">
  +        <x:expr select="@name"/>
  +      </j:set>
  +      <j:if test="${!empty(_sectionName)}">
  +        <h3>
  +          <a name="${_sectionName}">${_sectionName}</a>
  +        </h3>
  +      </j:if>
  +      <jsl:applyTemplates select="*"/>
  +    </div>
  +  </jsl:template>
  +
  +  <jsl:template match="subsection" trim="false">
  +    <div class="h4">
  +      <j:set var="_sectionName" trim="false">
  +        <x:expr select="@name"/>
  +      </j:set>
  +      <j:if test="${!empty(_sectionName)}">
  +        <h4>
  +          <a name="${_sectionName}">${_sectionName}</a>
  +        </h4>
  +      </j:if>
  +      <jsl:applyTemplates select="*"/>
  +    </div>
  +  </jsl:template>
  +
  +  <jsl:template match="source" trim="false">
  +    <div id="source">
  +      <pre>
  +        <x:expr select="."/>
  +      </pre>
  +    </div>
  +  </jsl:template>
  +
  +  <jsl:template match="table" trim="false">
  +    <j:set var="rowcount" value="0"/>
  +    <table cellpadding="3" cellspacing="2" border="1" width="100%">
  +      <jsl:applyTemplates select="*"/>
  +    </table>
  +  </jsl:template>
  +
  +  <jsl:template match="tr" trim="false">
  +    <j:choose>
  +      <j:when test="${rowMode == 'a'}">
  +        <j:set var="rowMode" value="b"/>
  +      </j:when>
  +      <j:otherwise>
  +        <j:set var="rowMode" value="a"/>
  +      </j:otherwise>
  +    </j:choose>
  +
  +    <x:element name="tr"><x:attribute name="class">${rowMode}</x:attribute>
  +      <!-- copy attributes FIXME: Shouldn't this only be colspan|rowspan? -->
  +      <x:forEach select="@*">
  +        <x:set var="attr" value="."/><x:attribute name="${attr.name}">${attr.text}</x:attribute>
  +      </x:forEach>
  +                      
  +      <jsl:applyTemplates select="*"/>
  +    </x:element>
  +  </jsl:template>
  +
  +  <!-- copy any other elements through -->
  +  <jsl:template match="*" trim="false">
  +    <jsl:copy trim="false">
  +      <jsl:applyTemplates trim="false"/>
  +    </jsl:copy>
  +   </jsl:template>
   
  -      <jsl:template match="source" trim="false">
  -        <div id="source">
  -          <pre><x:expr select="."/></pre>
  -        </div>
  -      </jsl:template>
  +   <!-- element values don't pass through as text -->
  +   <jsl:template match="@*"/>
   
  -      <jsl:template match="table" trim="false">
  -        <j:set var="rowcount" value="0"/>
  -        <table cellpadding="3" cellspacing="2" border="1" width="100%">
  -          <jsl:applyTemplates select="*"/>
  -        </table>
  -      </jsl:template>
  -      
  -      <jsl:template match="tr" trim="false">
  -        <j:choose>
  -          <j:when test="${rowMode == 'a'}">
  -            <j:set var="rowMode" value="b"/>
  -          </j:when>
  -          <j:otherwise>
  -            <j:set var="rowMode" value="a"/>
  -          </j:otherwise>
  -        </j:choose>
  -
  -        <x:element name="tr"><x:attribute name="class">${rowMode}</x:attribute>
  -          
  -          <!-- copy attributes FIXME: Shouldn't this only be colspan|rowspan? -->
  -          <x:forEach select="@*">
  -            <x:set var="attr" value="."/>
  -            <x:attribute name="${attr.name}">${attr.text}</x:attribute>
  -          </x:forEach>
  -          
  -          <jsl:applyTemplates select="*"/>
  -        </x:element>
  -      </jsl:template>
  -
  -      <!--************************-->
  -      <!-- glossary documentation -->
  -      <!--************************-->
  -      <jsl:template match="glossary" trim="false">
  -        <jsl:applyTemplates select="glossary-entries/glossary-entry" />
  -      </jsl:template>
  -      
  -      <jsl:template match="glossary-entry" trim="false">
  -        <strong><x:expr select="name" /></strong>
  -        <br/>
  -        <x:expr select="definition" />
  -        <p/>
  -      </jsl:template>
  -
  -      <!--************************-->
  -      <!-- goals documentation    -->
  -      <!--************************-->
  -      <jsl:template match="goals" trim="false">
  -        <!-- reset row alternation -->
  -        <j:set var="rowMode" value="" />
  -        <div class="h3">
  -          <h3><a name="Goals">Goals</a></h3>
  -          <table>
  -            <tr width='100%'><th>Goal</th><th>Description</th></tr>
  -            <jsl:applyTemplates select="goal"/>
  -          </table>
  -        </div>
  -      </jsl:template>
  -      
  -      <!-- a goal -->
  -        <!-- FIXME: this is copied from tr - there must be a way of
  -             calling templates in jsl? -->
  -      <jsl:template match="goal" trim="false">
  -        <j:choose>
  -          <j:when test="${rowMode == 'a'}">
  -            <j:set var="rowMode" value="b"/>
  -          </j:when>
  -          <j:otherwise>
  -            <j:set var="rowMode" value="a"/>
  -          </j:otherwise>
  -        </j:choose>
  -        <x:element name="tr"><x:attribute name="class">${rowMode}</x:attribute>
  -          
  -          <!-- copy attributes -->
  -          <x:forEach select="@*">
  -            <x:set var="attr" value="."/>
  -            <x:attribute name="${attr.name}">${attr.text}</x:attribute>
  -          </x:forEach>
  -          <j:set var="_goalName"><x:expr select="./name" /></j:set>
  -          <td><a name="${_goalName}">${_goalName}</a></td>
  -          <td><jsl:applyTemplates select="description" /></td>
  -        </x:element>
  -      </jsl:template>   
  -
  -      
  -      <!-- copy any other elements through -->
  -      <jsl:template match="*" trim="false">
  -        <jsl:copy trim="false">
  -          <jsl:applyTemplates trim="false"/>
  -        </jsl:copy>
  -      </jsl:template>
  -
  -      <!-- element values don't pass through as text -->
  -      <jsl:template match="@*"/>
  -      
  -    </jsl:stylesheet>
  +</jsl:stylesheet>
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/xdoc/ui.properties
  
  Index: ui.properties
  ===================================================================
  #
  # UI Color Prefs
  #
  maven.ui.body.background = #fff
  maven.ui.body.foreground = #000
  maven.ui.section.background = #036
  maven.ui.section.foreground = #fff
  maven.ui.subsection.background = #888
  maven.ui.subsection.foreground = #fff
  maven.ui.table.header.background = #bbb
  maven.ui.table.header.foreground = #fff
  maven.ui.table.row.odd.background = #ddd
  maven.ui.table.row.odd.foreground = #000
  maven.ui.table.row.even.background = #efefef
  maven.ui.table.row.even.foreground = #000
  maven.ui.banner.background = #036
  maven.ui.banner.foreground = #fff
  maven.ui.banner.border.top = #369
  maven.ui.banner.border.bottom = #003
  maven.ui.source.background = #fff
  maven.ui.source.foreground = #000
  maven.ui.source.border.right = #888
  maven.ui.source.border.left = #888
  maven.ui.source.border.top = #888
  maven.ui.source.border.bottom = #888
  maven.ui.navcol.background = #eee
  maven.ui.navcol.background.ns4 = #fff
  maven.ui.navcol.foreground = #000
  maven.ui.navcol.foreground.ns4 = #555
  maven.ui.navcol.border.top = #fff
  maven.ui.navcol.border.right = #aaa
  maven.ui.navcol.border.bottom = #aaa
  maven.ui.breadcrumbs.background = #ddd
  maven.ui.breadcrumbs.foreground = #000
  maven.ui.breadcrumbs.border.top = #fff
  maven.ui.breadcrumbs.border.bottom = #aaa
  maven.ui.href.link = blue
  maven.ui.href.link.active = #f30
  maven.ui.href.link.selfref = #555
  
  
  
  1.3       +34 -29    jakarta-turbine-maven/src/plugins-build/xdoc/templates/cvs-usage.xml
  
  Index: cvs-usage.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/templates/cvs-usage.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- cvs-usage.xml	4 Dec 2002 17:27:08 -0000	1.2
  +++ cvs-usage.xml	31 Dec 2002 07:14:17 -0000	1.3
  @@ -1,48 +1,53 @@
   <?xml version="1.0"?>
   <document>
  -
  +  
  +  #set ($conn = $project.repository.connection.substring(4))
  +  #set ($conn = $conn.substring($conn.indexOf(":")))
  +  #set ($url = $escape.getText($project.repository.url))
  +  
     <properties>
       <author email="turbine-maven-dev@jakarta.apache.org">Maven</author>
       <title>CVS</title>
     </properties>
   
     <body>
  +    <section name="Web Access">
  +      <p>
  +        <a href="$url">$url</a>
  +      </p>
  +    </section>
  +    
       <section name="Anonymous CVS Access">
  -
         <p>
  -      This project's CVS repository can be checked out through anonymous (pserver) 
  -      CVS with the following instruction set. 
  -      When prompted for a password for anonymous, simply press the Enter key.
  -      
  -      <!-- replace me with the project declared anon password, might need
  -      POM addition. jvz. -->
  +        This project's CVS repository can be checked out through anonymous (pserver)
  +        CVS with the following instruction set.
  +        When prompted for a password for anonymous, simply press the Enter key.
  +      </p>
         
  +      <p>
  +        cvs -d $conn login
  +        <br/>
  +        cvs -z3 -d $conn co $project.id
         </p>
   
  -<pre>
  -cvs -d:$project.repository.connection login
  - 
  -cvs -z3 -d:pserver:anonymous@$project.repository.connection co $project.id
  -</pre>
  -
  -    <p>
  -    Updates from within the module's directory do not need the -d parameter.
  -    </p>
  -  </section>
  +      <p>
  +        Updates from within the module's directory do not need the -d parameter.
  +      </p>
  +    </section>
   
  -  <section name="Developer CVS Access via SSH">
  +    <section name="Developer CVS Access via SSH">
   
  -    <p>
  -    Only project developers can access the CVS tree via this method. 
  -    SSH1 must be installed on your client machine. Substitute <b>name</b> 
  -    with the proper value. Enter your site password when prompted.
  -    </p>
  +      <p>
  +        Only project developers can access the CVS tree via this method.
  +        SSH1 must be installed on your client machine. Substitute   
  +        <b>name</b> with the proper value. Enter your site password when prompted.
  +      </p>
   
  -<pre>
  -export CVS_RSH=ssh
  - 
  -cvs -z3 -d:ext:$project.repository.connection.anonUser@$project.repository.connection co $project.id
  -</pre>
  +      <p>
  +        export CVS_RSH=ssh
  +        <br/>
  +        cvs -z3 -d $conn co $project.id
  +      </p>
   
       </section>
     </body>
  
  
  
  1.5       +4 -2      jakarta-turbine-maven/src/plugins-build/xdoc/templates/maven-reports.xml
  
  Index: maven-reports.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/templates/maven-reports.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- maven-reports.xml	17 Oct 2002 13:17:40 -0000	1.4
  +++ maven-reports.xml	31 Dec 2002 07:14:17 -0000	1.5
  @@ -26,14 +26,14 @@
               </td>
             </tr>
             #if ($project.repository)
  -          <tr><td><a href="changelog.html">Change Log</a></td>
  +          <tr><td><a href="changelog-report.html">Change Log</a></td>
               <td>
                 This document provides a history of the most recent
                 changes made to the project taken directly from the
                 source code repository.
               </td>
             </tr>
  -          <tr><td><a href="activity-log.html">Developer Activity</a></td>
  +          <tr><td><a href="developer-activity-log.html">Developer Activity</a></td>
               <td>
                 This document provides a report of activity in terms of
                 CVS commits and breaks it out by developer.
  @@ -69,6 +69,7 @@
               </td>
             </tr>
             #end
  +          
             #if ($files.file($project.build.sourceDirectory).exists())
             <tr><td><a href="jdepend-report.html">Metric Results</a></td>
               <td>
  @@ -93,6 +94,7 @@
               </td>
             </tr>
             #end
  +          
             #if ($files.file("$maven-docs-dest/clover").exists())
             <tr><td><a href="clover/index.html">Clover Test Coverage</a></td>
               <td>
  
  
  
  1.2       +10 -2     jakarta-turbine-maven/src/plugins-build/xdoc/templates/project-info.xml
  
  Index: project-info.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/xdoc/templates/project-info.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project-info.xml	14 Jul 2002 19:09:35 -0000	1.1
  +++ project-info.xml	31 Dec 2002 07:14:17 -0000	1.2
  @@ -38,8 +38,16 @@
                 information on each dependency.
               </td>
             </tr>
  +          
  +          <!-- 
  +          
  +          This is really bad that the url requires specification in two
  +          places. Makes pluggable reporting impossible. FIX
  +          
  +          -->
  +          
             #if ($project.repository.url)
  -          <tr><td><a href="$escape.getText($project.repository.url.toString().trim())">Source Repository</a></td>
  +          <tr><td><a href="cvs-usage.html">Source Repository</a></td>
               <td>
                 This is a link to the online source repository that can be
                 viewed via a web browser.
  @@ -47,7 +55,7 @@
             </tr>
             #end
             #if ($project.issueTrackingUrl)
  -          <tr><td><a href="$escape.getText($project.issueTrackingUrl.toString().trim())">Issue Tracking</a></td>
  +          <tr><td><a href="issue-tracking.html">Issue Tracking</a></td>
               <td>
                 This is a link to the issue tracking system for this
                 project.  Issues (bugs, features, change requests) can be
  
  
  
  1.1                  jakarta-turbine-maven/src/plugins-build/xdoc/templates/issue-tracking.xml
  
  Index: issue-tracking.xml
  ===================================================================
  <?xml version="1.0"?>
  <document>
    
    <properties>
      <author email="turbine-maven-dev@jakarta.apache.org">Maven</author>
      <title>Issue Tracking</title>
    </properties>
  
    <body>
      <section name="Issue Tracking">
        <p>
          #set ($url = $escape.getText($project.issueTrackingUrl))
          <a href="$url">$url</a>
        </p>
      </section>
    </body>
  </document>