Maven 1.x Javadoc Plugin
  1. Maven 1.x Javadoc Plugin
  2. MPJAVADOC-40

javadoc:jar fails if project doesn't have source files

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6, 1.6.1
    • Fix Version/s: 1.7
    • Labels:
      None
    • Number of attachments :
      0

      Description

      If your project doesn't have source files, javadoc:jar (and goals that depends on it, like javadoc:deploy) fails, even though javadoc itself suceeds.
      You can reproduce this bug on the maven-plugins root:

      $ maven javadoc
      __ __

      \/ __ Apache_ ___
        \/ / ` \ V / -) ' \ ~ intelligent projects ~
      _   _,_ _/___ _ _ v. 1.0-cpqd-1.0.0

      BUILD SUCCESSFUL
      Total time: 26 seconds
      Finished at: Mon Aug 23 14:53:19 BRT 2004

      $ maven javadoc:jar
      __ __

      \/ __ Apache_ ___
        \/ / ` \ V / -) ' \ ~ intelligent projects ~
      _   _,_ _/___ _ _ v. 1.0-cpqd-1.0.0

      build:start:

      xdoc:init:
      [mkdir] Created dir: D:\cvs\maven-plugins\target\generated-xdocs
      [mkdir] Created dir: D:\cvs\maven-plugins\target\docs

      maven-javadoc-plugin:report:
      [mkdir] Created dir: D:\cvs\maven-plugins\target\javadoc
      [mkdir] Created dir: D:\cvs\maven-plugins\target\javadoc\src

      BUILD FAILED
      File...... C:\Documents and
      Settings\t_fl01\.maven\cache\maven-javadoc-plugin-1.7-snapshot-cpqd\plugin.jelly
      Element... ant:jar
      Line...... 464
      Column.... 24
      D:\cvs\maven-plugins\target\docs\apidocs not found.
      Total time: 38 seconds
      Finished at: Mon Aug 23 14:51:35 BRT 2004

      It shouldn't be hard to fix this one - I will try a patch once I'm back
      from my 'break'

      – Felipe

        Activity

        Hide
        Felipe Leme added a comment -

        Hi Arnaud,

        Thanks for opening this issue (I couldn't, as Jira was bug).

        Anyway, the fix is pretty simple: it's just a matter of callign mkdir before the <j:if> statement:

        Before it was:
        <goal name="maven-javadoc-plugin:report"
        description="Generate API documentation" prereqs="xdoc:init">

        <javadoc:init/>
        <j:if test="$

        {internal.javadoc.needed}">
        <ant:mkdir dir="${maven.javadoc.destdir}"/>

        Now it should be:

        <ant:mkdir dir="${maven.javadoc.destdir}"/>
        <j:if test="${internal.javadoc.needed}

        ">

        I'll provide a patch...

        Felipe

        Show
        Felipe Leme added a comment - Hi Arnaud, Thanks for opening this issue (I couldn't, as Jira was bug). Anyway, the fix is pretty simple: it's just a matter of callign mkdir before the <j:if> statement: Before it was: <goal name="maven-javadoc-plugin:report" description="Generate API documentation" prereqs="xdoc:init"> <javadoc:init/> <j:if test="$ {internal.javadoc.needed}"> <ant:mkdir dir="${maven.javadoc.destdir}"/> Now it should be: <ant:mkdir dir="${maven.javadoc.destdir}"/> <j:if test="${internal.javadoc.needed} "> I'll provide a patch... Felipe
        Hide
        Arnaud Heritier added a comment -

        If we do this, won't we create an empty jar ?

        Show
        Arnaud Heritier added a comment - If we do this, won't we create an empty jar ?
        Hide
        Felipe Leme added a comment -

        Yes, it will.

        But I think it's better then getting an exception. Anyway, the current behavior is not consistent, as javadoc:generate works. So we either change javadoc:jar to work too or change javadoc:generate to fail as well.

        Another option would be enclosing the javadoc:install (and others) tags into a <util:available> tag. That way the jar won't be created and the goal won't fail.

        Anyway, it's just a matter of style (I, for instance, prefer a empty jar than nothing at all). So, whatever we decide, I can create a patch.

        Felipe

        Show
        Felipe Leme added a comment - Yes, it will. But I think it's better then getting an exception. Anyway, the current behavior is not consistent, as javadoc:generate works. So we either change javadoc:jar to work too or change javadoc:generate to fail as well. Another option would be enclosing the javadoc:install (and others) tags into a <util:available> tag. That way the jar won't be created and the goal won't fail. Anyway, it's just a matter of style (I, for instance, prefer a empty jar than nothing at all). So, whatever we decide, I can create a patch. Felipe
        Hide
        Arnaud Heritier added a comment -

        Temporarly I commited the fix with the mkdir before the test.
        I'll do somethink better with util:available to definitively close this issue.

        Show
        Arnaud Heritier added a comment - Temporarly I commited the fix with the mkdir before the test. I'll do somethink better with util:available to definitively close this issue.
        Hide
        Felipe Leme added a comment -

        Test case 07 is failing:
        maven-javadoc-plugin:report:
        [mkdir] Created dir: /home/felipeal/cvs/maven/maven-plugins/javadoc/src/plugin-test/test07/target/javadoc
        [mkdir] Created dir: /home/felipeal/cvs/maven/maven-plugins/javadoc/src/plugin-test/test07/target/javadoc/src

        BUILD FAILED
        File...... /home/felipeal/.maven/cache/maven-javadoc-plugin-1.7-SNAPSHOT/plugin.jelly
        Element... ant:copy
        Line...... 115
        Column.... 57
        Specify at least one source - a file or a fileset.
        Total time: 9 seconds
        Finished at: Wed Sep 01 23:52:49 BRT 2004

        Show
        Felipe Leme added a comment - Test case 07 is failing: maven-javadoc-plugin:report: [mkdir] Created dir: /home/felipeal/cvs/maven/maven-plugins/javadoc/src/plugin-test/test07/target/javadoc [mkdir] Created dir: /home/felipeal/cvs/maven/maven-plugins/javadoc/src/plugin-test/test07/target/javadoc/src BUILD FAILED File...... /home/felipeal/.maven/cache/maven-javadoc-plugin-1.7-SNAPSHOT/plugin.jelly Element... ant:copy Line...... 115 Column.... 57 Specify at least one source - a file or a fileset. Total time: 9 seconds Finished at: Wed Sep 01 23:52:49 BRT 2004
        Hide
        Arnaud Heritier added a comment -

        it is the same problem as MPJAVADOC-43

        Show
        Arnaud Heritier added a comment - it is the same problem as MPJAVADOC-43

          People

          • Assignee:
            Arnaud Heritier
            Reporter:
            Arnaud Heritier
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: