You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Paul Mealor (JIRA)" <ji...@codehaus.org> on 2010/10/27 15:07:05 UTC

[jira] Created: (MJAVADOC-299) excludePackageNames has no effect if subpackages is specified

excludePackageNames has no effect if subpackages is specified
-------------------------------------------------------------

                 Key: MJAVADOC-299
                 URL: http://jira.codehaus.org/browse/MJAVADOC-299
             Project: Maven 2.x Javadoc Plugin
          Issue Type: Bug
    Affects Versions: 2.7
            Reporter: Paul Mealor
            Priority: Minor


I am using a configuration something like the following:

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>foo.bar.api</subpackages>
              <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>

When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.

If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.

It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.

My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>none</subpackages>
              <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MJAVADOC-299) excludePackageNames has no effect if subpackages is specified

Posted by "Igor Sereda (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MJAVADOC-299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=253498#action_253498 ] 

Igor Sereda commented on MJAVADOC-299:
--------------------------------------

This also works as a workaround: <additionalparam>-exclude foo.bar.internal</additionalparam>

> excludePackageNames has no effect if subpackages is specified
> -------------------------------------------------------------
>
>                 Key: MJAVADOC-299
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-299
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.7
>            Reporter: Paul Mealor
>            Priority: Minor
>         Attachments: MJAVADOC-299.zip, MJAVADOC-299_IT_Test.patch
>
>
> I am using a configuration something like the following:
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>foo.bar.api</subpackages>
>               <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>
> When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.
> If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.
> It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.
> My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>none</subpackages>
>               <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MJAVADOC-299) excludePackageNames has no effect if subpackages is specified

Posted by "Herve Boutemy (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MJAVADOC-299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Herve Boutemy updated MJAVADOC-299:
-----------------------------------

    Description: 
I am using a configuration something like the following:

{code:xml}  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>foo.bar.api</subpackages>
              <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>{code}

When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.

If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.

It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.

My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event

{code:xml}  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>none</subpackages>
              <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>{code}


  was:
I am using a configuration something like the following:

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>foo.bar.api</subpackages>
              <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>

When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.

If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.

It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.

My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <executions>
          <execution>
            <configuration>
              <subpackages>none</subpackages>
              <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
              <debug>true</debug>
            </configuration>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>



> excludePackageNames has no effect if subpackages is specified
> -------------------------------------------------------------
>
>                 Key: MJAVADOC-299
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-299
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.7
>            Reporter: Paul Mealor
>            Priority: Minor
>         Attachments: MJAVADOC-299.zip, MJAVADOC-299_IT_Test.patch
>
>
> I am using a configuration something like the following:
> {code:xml}  <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>foo.bar.api</subpackages>
>               <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>{code}
> When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.
> If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.
> It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.
> My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event
> {code:xml}  <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>none</subpackages>
>               <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>{code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MJAVADOC-299) excludePackageNames has no effect if subpackages is specified

Posted by "Sebastian Annies (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MJAVADOC-299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastian Annies updated MJAVADOC-299:
--------------------------------------

    Attachment: MJAVADOC-299.zip
                MJAVADOC-299_IT_Test.patch

An integrationtest to reproduce the described behavior as patch and as standalone zip with invoker testcase

> excludePackageNames has no effect if subpackages is specified
> -------------------------------------------------------------
>
>                 Key: MJAVADOC-299
>                 URL: http://jira.codehaus.org/browse/MJAVADOC-299
>             Project: Maven 2.x Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.7
>            Reporter: Paul Mealor
>            Priority: Minor
>         Attachments: MJAVADOC-299.zip, MJAVADOC-299_IT_Test.patch
>
>
> I am using a configuration something like the following:
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>foo.bar.api</subpackages>
>               <excludePackageNames>foo.bar.api.impl:*impl:*.impl</excludePackageNames>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>
> When I do this, every package under subpackages is included in my Javadoc, including foo.bar.api.impl. The @options file includes "-subpackages foo.bar.api", but does not include "-exclude". No @packages file is created.
> If I do not include <subpackages/>, the <excludePackageNames/> works as desired: an @packages file is produced that excludes every package named like *.impl. Unfortunately, in my case, this means that packages like foo.bar.qux is included in the Javadoc, and I do not want that included.
> It would seem sensible if <subpackages/> was used to generate the @packages file, the same as if no packages are specified. Then <excludePackageNames/> could be applied to the list of packages in that file.
> My best workaround so far is to do the following, which tricks Javadoc and the plugin into building only foo.bar.api and foo.bar.api.event
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-javadoc-plugin</artifactId>
>         <version>2.7</version>
>         <executions>
>           <execution>
>             <configuration>
>               <subpackages>none</subpackages>
>               <additionalparam>foo.bar.api foo.bar.api.event</additionalparam>
>               <debug>true</debug>
>             </configuration>
>             <goals>
>               <goal>jar</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
>     </plugins>
>   </build>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira