aheritier    2004/08/25 12:48:48

  Modified:    javadoc  plugin.jelly
               javadoc/src/plugin-test/test07 project.xml
               javadoc/xdocs changes.xml
  Log:
  - Fix MPJAVADOC-40
  - Fix the init that was done several times (because there was dots in the var)
  
  Revision  Changes    Path
  1.60      +135 -134  maven-plugins/javadoc/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/maven-plugins/javadoc/plugin.jelly,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- plugin.jelly      24 Aug 2004 12:57:16 -0000      1.59
  +++ plugin.jelly      25 Aug 2004 19:48:48 -0000      1.60
  @@ -34,16 +34,18 @@
   
     <define:taglib uri="javadoc">
       <define:tag name="init">
  -      <j:if test="${maven.javadoc.debug}"><ant:echo>javadoc init</ant:echo></j:if>
         
  -      <!-- internal variables -->
  -      <j:set scope="parent" var="internal.javadoc.jar"          
value="${maven.build.dir}/${maven.final.name}_javadoc.jar"/>
  -      <j:set scope="parent" var="internal.javadoc.needed"       value="null"/>
  -      <j:set scope="parent" var="internal.javadoc.working.dir"  
value="${maven.build.dir}/javadoc"/>
  -      <j:set scope="parent" var="internal.javadoc.src.tmp"      
value="${internal.javadoc.working.dir}/src"/>
  -     
  -      <j:if test="${maven.javadoc.debug}">
  -        <ant:echo>
  +      <j:if test="${empty(internal_javadoc_needed)}">
  +    
  +        <j:if test="${maven.javadoc.debug}"><ant:echo>javadoc init</ant:echo></j:if>
  +        
  +        <!-- internal variables -->
  +        <j:set scope="parent" var="internal_javadoc_jar"          
value="${maven.build.dir}/${maven.final.name}_javadoc.jar"/>
  +        <j:set scope="parent" var="internal_javadoc_working_dir"  
value="${maven.build.dir}/javadoc"/>
  +        <j:set scope="parent" var="internal_javadoc_src_tmp"      
value="${internal_javadoc_working_dir}/src"/>
  +       
  +        <j:if test="${maven.javadoc.debug}">
  +          <ant:echo>
   ### Debug mode is on ###
   ==================================
   === java plugin properties     ===
  @@ -90,105 +92,95 @@
   ==================================
   === javadoc internal variables ===
   ==================================
  -internal.javadoc.jar              = [${internal.javadoc.jar}]
  -internal.javadoc.needed           = [${internal.javadoc.needed}]
  -internal.javadoc.working.dir      = [${internal.javadoc.working.dir}]
  -        </ant:echo>
  -      </j:if>
  -      <j:if test="not ${maven.javadoc.debug}">
  -        <ant:echo>
  +internal_javadoc_jar              = [${internal_javadoc_jar}]
  +internal_javadoc_needed           = [${internal_javadoc_needed}]
  +internal_javadoc_working_dir      = [${internal_javadoc_working_dir}]
  +          </ant:echo>
  +        </j:if>
  +        <j:if test="not ${maven.javadoc.debug}">
  +          <ant:echo>
   ### Debug mode is off ###
  -        </ant:echo>
  -      </j:if>
  -
  -      <ant:mkdir dir="${internal.javadoc.working.dir}"/>
  -      <ant:mkdir dir="${internal.javadoc.src.tmp}"/>
  -
  -      <j:choose>
  -      
  -        <j:when test="${internal.javadoc.needed != null}">
  -          <!-- We have already decided if javadoc is needed -->
  -          <j:if test="${maven.javadoc.debug}"><ant:echo>internal.javadoc.needed not 
null : ${internal.javadoc.needed}</ant:echo></j:if>
  -        </j:when>
  -                
  -        <j:otherwise>
  +          </ant:echo>
  +        </j:if>
  +  
  +        <ant:mkdir dir="${internal_javadoc_working_dir}"/>
  +        <ant:mkdir dir="${internal_javadoc_src_tmp}"/>
  +  
  +        <j:set var="internal_javadoc_needed" scope="parent" value="false" />
           
  -          <!-- test if sourceModifications are defined -->
  -          <j:if test="${pom.build.sourceModifications!=null and 
!pom.build.sourceModifications.isEmpty()}">
  -            <j:if test="${maven.javadoc.debug}"><ant:echo>sourceModifications 
used.</ant:echo></j:if>
  -            <util:tokenize var="sources.dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
  -            <ant:copy todir="${internal.javadoc.src.tmp}">
  -              <j:forEach var="dir" items="${sources.dirs}">
  -                <ant:fileset dir="${dir}">
  -                  <ant:include name="**/*.java"/>
  -                  <ant:include name="**/doc-files/**/*"/>
  -                  <!-- handle source modifications -->
  -                  <j:forEach var="sm" items="${pom.build.sourceModifications}">
  -                    <ant:available property="classPresent" 
classname="${sm.className}"/>
  -                    <j:if test="${classPresent != 'true'}">
  -                      <j:forEach var="exclude" items="${sm.excludes}">
  -                        <ant:exclude name="${exclude}"/>
  -                      </j:forEach> <!-- end sourceModification exclude -->
  -                      <j:forEach var="include" items="${sm.includes}">
  -                        <ant:include name="${include}"/>
  -                      </j:forEach> <!-- end sourceModification include -->
  -                    </j:if>
  -                  </j:forEach> <!-- end sourceModification -->
  -                </ant:fileset>
  -              </j:forEach>
  -            </ant:copy>
  -            <ant:path id="internal.javadoc.sources">
  -              <ant:pathelement location="${internal.javadoc.src.tmp}"/>
  -            </ant:path>
  -          </j:if>
  -          <!-- test if sourceModifications aren't defined -->
  -          <j:if test="${pom.build.sourceModifications==null || 
pom.build.sourceModifications.isEmpty()}">
  -            <j:if test="${maven.javadoc.debug}"><ant:echo>sourceModifications not 
used.</ant:echo></j:if>
  -            <ant:path id="internal.javadoc.sources">
  -              <ant:pathelement 
path="${context.getAntProject().getReferences().get('maven.compile.src.set')}"/>
  -            </ant:path>
  +        <!-- test if sourceModifications are defined -->
  +        <j:if test="${not empty(pom.build.sourceModifications)}">
  +          <j:if test="${maven.javadoc.debug}"><ant:echo>sourceModifications 
used.</ant:echo></j:if>
  +          <util:tokenize var="sources_dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
  +          <ant:copy todir="${internal_javadoc_src_tmp}">
  +            <j:forEach var="dir" items="${sources_dirs}">
  +              <ant:fileset dir="${dir}">
  +                <ant:include name="**/*.java"/>
  +                <ant:include name="**/doc-files/**/*"/>
  +                <!-- handle source modifications -->
  +                <j:forEach var="sm" items="${pom.build.sourceModifications}">
  +                  <ant:available property="classPresent" 
classname="${sm.className}"/>
  +                  <j:if test="${classPresent != 'true'}">
  +                    <j:forEach var="exclude" items="${sm.excludes}">
  +                      <ant:exclude name="${exclude}"/>
  +                    </j:forEach> <!-- end sourceModification exclude -->
  +                    <j:forEach var="include" items="${sm.includes}">
  +                      <ant:include name="${include}"/>
  +                    </j:forEach> <!-- end sourceModification include -->
  +                  </j:if>
  +                </j:forEach> <!-- end sourceModification -->
  +              </ant:fileset>
  +            </j:forEach>
  +          </ant:copy>
  +          <ant:path id="internal_javadoc_sources">
  +            <ant:pathelement location="${internal_javadoc_src_tmp}"/>
  +          </ant:path>
  +        </j:if>
  +        <!-- test if sourceModifications aren't defined -->
  +        <j:if test="${empty(pom.build.sourceModifications)}">
  +          <j:if test="${maven.javadoc.debug}"><ant:echo>sourceModifications not 
used.</ant:echo></j:if>
  +          <ant:path id="internal_javadoc_sources">
  +            <ant:pathelement 
path="${context.getAntProject().getReferences().get('maven.compile.src.set')}"/>
  +          </ant:path>
  +        </j:if>
  +      
  +        <!-- Tokenize the set of directories -->
  +        <util:tokenize var="sources_dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('internal_javadoc_sources')}</util:tokenize>
  +            
  +        <!-- For each directory -->
  +        <j:forEach var="dir" items="${sources_dirs}">
  +          <!-- If we have not already find sources -->
  +          <j:if test="${internal_javadoc_needed != true}">
  +            <!-- We construct the fileset -->
  +            <util:replace var="packageDir" newChar="/" oldChar="." 
value="${pom.package}" />
  +            <j:if test="${!empty(packageDir)}">
  +              <j:set var="includes" value="${packageDir}/**/*.java" />
  +            </j:if>
  +            <j:if test="${empty(packageDir)}">
  +              <j:set var="includes" value="**/*.java" />
  +            </j:if>
  +            <ant:fileScanner var="sources">
  +              <ant:fileset dir="${dir}">
  +                <ant:include name="${includes}" />
  +              </ant:fileset>
  +            </ant:fileScanner>
  +  
  +            <j:set var="internal_javadoc_needed" scope="parent" 
  +               value="${sources.iterator().hasNext()}" />
             </j:if>
  -
  -          <!-- Tokenize the set of directories -->
  -          <util:tokenize var="sources.dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('internal.javadoc.sources')}</util:tokenize>
  -                 
  -          <!-- For each directory -->
  -          <j:forEach var="dir" items="${sources.dirs}">
  -            <!-- If we have not already find sources -->
  -            <j:if test="${internal.javadoc.needed != true}">
  -              <!-- We construct the fileset -->
  -              <util:replace var="packageDir" newChar="/" oldChar="." 
value="${pom.package}" />
  -              <j:if test="${!empty(packageDir)}">
  -                <j:set var="includes" value="${packageDir}/**/*.java" />
  -              </j:if>
  -              <j:if test="${empty(packageDir)}">
  -                <j:set var="includes" value="**/*.java" />
  -              </j:if>
  -              <ant:fileScanner var="sources">
  -                <ant:fileset dir="${dir}">
  -                  <ant:include name="${includes}" />
  -                </ant:fileset>
  -              </ant:fileScanner>
  -    
  -              <j:set var="internal.javadoc.needed" scope="parent" 
  -                 value="${sources.iterator().hasNext()}" />
  +        </j:forEach> <!-- dir in internal.javadoc.src.set -->
     
  -            </j:if>
  -          </j:forEach> <!-- dir in internal.javadoc.src.set -->
  -
  -        </j:otherwise>
  -      </j:choose>
  -
  -      <j:if test="${maven.javadoc.debug}">
  -        <ant:echo>internal.javadoc.needed is ${internal.javadoc.needed}</ant:echo>
  +        <j:if test="${maven.javadoc.debug}">
  +          <ant:echo>internal_javadoc_needed is ${internal_javadoc_needed}</ant:echo>
  +        </j:if>
         </j:if>
  -      
       </define:tag>
  +    
       <define:jellybean
         name="javadocwarnings"
         className="org.apache.maven.javadoc.JavadocWarningsTextToXml"
         method="build"
  -    />    
  +    />
     </define:taglib>
   
   
  @@ -200,7 +192,7 @@
   
       <javadoc:init/>
   
  -    <j:if test="${internal.javadoc.needed}">
  +    <j:if test="${internal_javadoc_needed}">
         <doc:registerReport 
           name="JavaDocs" 
           pluginName="maven-javadoc-plugin"
  @@ -227,7 +219,7 @@
   
       <javadoc:init/>
   
  -    <j:if test="${internal.javadoc.needed}">
  +    <j:if test="${internal_javadoc_needed}">
     
         <doc:deregisterReport name="JavaDocs"/>
         <doc:deregisterReport name="JavaDoc Report"/>
  @@ -245,9 +237,9 @@
   
       <javadoc:init/>
       
  -    <ant:mkdir dir="${maven.javadoc.destdir}"/>
  -    
  -    <j:if test="${internal.javadoc.needed}">
  +    <j:if test="${internal_javadoc_needed}">
  +
  +      <ant:mkdir dir="${maven.javadoc.destdir}"/>
   
         <!-- Get the year to display in the Javadocs -->
         <ant:tstamp>
  @@ -287,8 +279,8 @@
   
         <j:set var="maxMemory" value="${maven.javadoc.maxmemory}" />
   
  -      <ant:mkdir dir="${internal.javadoc.working.dir}" />
  -      <ant:record name="${internal.javadoc.working.dir}/report.txt" action="start" 
/>
  +      <ant:mkdir dir="${internal_javadoc_working_dir}" />
  +      <ant:record name="${internal_javadoc_working_dir}/report.txt" action="start" 
/>
   
         <j:choose>
           <j:when test="${pom.package != null and !pom.package.equals('')}">
  @@ -317,12 +309,12 @@
           >
   
           <ant:sourcepath>
  -          <ant:path refid="internal.javadoc.sources"/>
  +          <ant:path refid="internal_javadoc_sources"/>
           </ant:sourcepath>
   
           <j:if test="${pom.package == null or pom.package.equals('')}">
  -          <util:tokenize var="sources.dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
  -          <j:forEach var="dir" items="${sources.dirs}">
  +          <util:tokenize var="sources_dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
  +          <j:forEach var="dir" items="${sources_dirs}">
               <ant:fileset dir="${dir}">
                 <ant:include name="*.java"/>
               </ant:fileset>
  @@ -436,9 +428,9 @@
           -->
           <ant:copy todir="${maven.javadoc.destdir}">
             
  -        <util:tokenize var="sources.dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
  +        <util:tokenize var="sources_dirs" 
delim="${path.separator}">${context.getAntProject().getReferences().get('maven.compile.src.set')}</util:tokenize>
             
  -          <j:forEach var="dir" items="${sources.dirs}">      
  +          <j:forEach var="dir" items="${sources_dirs}">      
               <ant:fileset dir="${dir}">
                 <ant:include name="**/doc-files/**/*"/>
               </ant:fileset>
  @@ -446,12 +438,12 @@
           </ant:copy>
         </j:if>
         
  -      <ant:record name="${internal.javadoc.working.dir}/report.txt" action="stop" />
  +      <ant:record name="${internal_javadoc_working_dir}/report.txt" action="stop" />
   
         <j:set var="genDocs" value="${maven.gen.docs}" />
         
         <!-- load file in order to remove absolute paths -->
  -      <util:file name="${internal.javadoc.working.dir}/report.txt" 
var="inputFileObject"/>
  +      <util:file name="${internal_javadoc_working_dir}/report.txt" 
var="inputFileObject"/>
         <util:loadText var="inputText" file="${inputFileObject}"/>
       
         <!-- remove [javadoc] prefix from rows -->
  @@ -485,12 +477,12 @@
   
         <javadoc:javadocwarnings
           verbose="${maven.javadoc.debug}"
  -        inputFileName="${internal.javadoc.working.dir}/report.txt"
  -        outputFileName="${internal.javadoc.working.dir}/javadoc-warnings.xml"
  +        inputFileName="${internal_javadoc_working_dir}/report.txt"
  +        outputFileName="${internal_javadoc_working_dir}/javadoc-warnings.xml"
           outputEncoding="${maven.docs.outputencoding}"
           />
         <doc:jsl
  -        input="${internal.javadoc.working.dir}/javadoc-warnings.xml"
  +        input="${internal_javadoc_working_dir}/javadoc-warnings.xml"
           output="javadoc-warnings-report.xml"
           stylesheet="${plugin.resources}/javadoc-warnings.jsl"
           encoding="${maven.docs.outputencoding}"
  @@ -498,12 +490,14 @@
           prettyPrint="true"
         />
         
  -      <ant:delete dir="${internal.javadoc.src.tmp}"/>
  +      <ant:delete dir="${internal_javadoc_src_tmp}"/>
         
       </j:if>
   
  -    <j:if test="not ${internal.javadoc.needed}">
  -      <ant:echo>No sources found. Javadoc not created !</ant:echo>
  +    <j:if test="${not internal_javadoc_needed}">
  +      <ant:echo>*******************************************</ant:echo>
  +      <ant:echo>* No sources found. Javadoc not created ! *</ant:echo>
  +      <ant:echo>*******************************************</ant:echo>
       </j:if>
     </goal>
   
  @@ -515,13 +509,16 @@
     <!-- Create a jar file containing the javadoc                         -->
     <!--==================================================================-->      
     <goal name="javadoc:jar" prereqs="javadoc">
  -    <j:set var="maven.javadoc.final.name" 
  -           value="${internal.javadoc.jar}" />   
  -    <ant:jar 
  -         destfile="${maven.javadoc.final.name}"
  -         basedir="${maven.javadoc.destdir}"         
  -         update="true">
  -    </ant:jar>
  +  
  +    <j:if test="${internal_javadoc_needed}">
  +      <j:set var="maven.javadoc.final.name" 
  +             value="${internal_javadoc_jar}" />   
  +      <ant:jar 
  +           destfile="${maven.javadoc.final.name}"
  +           basedir="${maven.javadoc.destdir}"         
  +           update="true">
  +      </ant:jar>
  +    </j:if>
     </goal>
     
     <!--==================================================================-->
  @@ -530,12 +527,13 @@
     <goal name="javadoc:install"
           prereqs="javadoc:jar"
           description="Install the jar containing javadoc in the local repository">
  -     
  -     <artifact:install
  +
  +    <j:if test="${internal_javadoc_needed}">
  +      <artifact:install
           artifact="${maven.javadoc.final.name}"
           type="javadoc.jar"
           project="${pom}"/> 
  -  
  +    </j:if>
     </goal>
     
     <!--==================================================================-->
  @@ -544,12 +542,13 @@
     <goal name="javadoc:install-snapshot"
           prereqs="javadoc:jar" 
           description="Install the snapshot version of the jar containing javadoc in 
the local repository">
  -        
  +
  +    <j:if test="${internal_javadoc_needed}">
         <artifact:install-snapshot
           artifact="${maven.javadoc.final.name}"
           type="javadoc.jar"
           project="${pom}"/> 
  -        
  +    </j:if>
     </goal>
   
     <!--==================================================================-->
  @@ -559,11 +558,12 @@
           prereqs="javadoc:jar" 
           description="Deploys the jar containing javadoc to the remote repository">
   
  -     <artifact:deploy
  +    <j:if test="${internal_javadoc_needed}">
  +      <artifact:deploy
           artifact="${maven.javadoc.final.name}"
           type="javadoc.jar"
           project="${pom}"/>   
  -        
  +    </j:if>
     </goal>      
           
     <!--==================================================================-->
  @@ -573,11 +573,12 @@
           prereqs="javadoc:jar"
           description="Deploys the snapshot version of jar containing javadoc to 
remote repository">  
   
  -     <artifact:deploy-snapshot
  +    <j:if test="${internal_javadoc_needed}">
  +      <artifact:deploy-snapshot
           artifact="${maven.javadoc.final.name}"
           type="javadoc.jar"
           project="${pom}"/>    
  -        
  +    </j:if>
     </goal>
   
     <!-- ================================================================== -->
  
  
  
  1.2       +2 -2      maven-plugins/javadoc/src/plugin-test/test07/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/maven-plugins/javadoc/src/plugin-test/test07/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml       24 Aug 2004 13:04:31 -0000      1.1
  +++ project.xml       25 Aug 2004 19:48:48 -0000      1.2
  @@ -31,8 +31,8 @@
     </organization>
     <inceptionYear>2001</inceptionYear>
     <logo>http://maven.apache.org/images/maven.jpg</logo>
  -  <description>MPJAVADOC-40</description>
  -  <shortDescription>MPJAVADOC-40</shortDescription>
  +  <description>javadoc:jar fails if project doesn't have source files</description>
  +  <shortDescription>javadoc:jar fails if project doesn't have source 
files</shortDescription>
     <url>http://maven.apache.org/reference/plugins/javadoc/index.html</url>
     <siteDirectory>/www/maven.apache.org/reference/plugins/javadoc/</siteDirectory>
     <repository>
  
  
  
  1.49      +1 -0      maven-plugins/javadoc/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/maven-plugins/javadoc/xdocs/changes.xml,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- changes.xml       21 Aug 2004 23:25:37 -0000      1.48
  +++ changes.xml       25 Aug 2004 19:48:48 -0000      1.49
  @@ -27,6 +27,7 @@
     </properties>
     <body>
       <release version="1.7-SNAPSHOT" date="In CVS">
  +      <action dev="aheritier" type="fix" issue="MPJAVADOC-40">javadoc:jar fails if 
project doesn't have source files.</action>
         <action dev="aheritier" type="fix" issue="MPJAVADOC-38">The type for the 
javadoc is "javadoc.jar" when it is deployed on a repository.</action>
         <action dev="aheritier" type="add" issue="MPJAVADOC-35" due-to="Steven 
Caswell">Add javadoc warning report formatted similar to Checkstyle report.</action>   
 
         <action dev="carlos" type="add" issue="MPJAVADOC-39">Added 
maven.javadoc.bottom property</action>
  
  
  

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

Reply via email to