| ------ |
| Grouping Packages |
| ------ |
| Vincent Siveton |
| Maria Odea Ching |
| ------ |
| 2009-09-12 |
| ------ |
| |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/doxia/references/apt-format.html |
| |
| Grouping Packages |
| |
| To set a grouping for different packages, use the {{{../javadoc-mojo.html#groups}\<groups/\>}} parameter as shown |
| below. Each group will be consist of a \<title/\> and a \<packages/\> (as String). The \<packages/\> element supports |
| wildcard (*) to allow subpackages. If more than one package is to be included, each package name must be separated |
| colon (:) separated (similar to the |
| {{{http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#group}Javadoc Tool}}). |
| |
| For instance, with the following packages: |
| |
| +-----+ |
| com.mycompany.myapp |
| com.mycompany.myapp.package1 |
| com.mycompany.myapp.package1.subpackage1 |
| com.mycompany.myapp.package1.subpackage2 |
| com.mycompany.myapp.package1.subpackage3 |
| com.mycompany.myapp.package1.util |
| com.mycompany.myapp.package2 |
| com.mycompany.myapp.package2.subpackage4 |
| com.mycompany.myapp.package2.subpackage5 |
| com.mycompany.myapp.package2.util |
| +-----+ |
| |
| You could have the following configuration: |
| |
| +-----+ |
| <project> |
| ... |
| <reporting> (or <build>) |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${project.version}</version> |
| <configuration> |
| <groups> |
| <group> |
| <title>Example 1 - Group Packages</title> |
| <!-- |
| Include packages: |
| com.mycompany.myapp |
| com.mycompany.myapp.package1 |
| BUT exclude all subpackages |
| --> |
| <packages>com.mycompany.myapp:com.mycompany.myapp.package1</packages> |
| </group> |
| <group> |
| <title>Example 2 - Group Packages</title> |
| <!-- |
| Include packages: |
| com.mycompany.myapp.package1.subpackage1 |
| com.mycompany.myapp.package1.subpackage2 |
| com.mycompany.myapp.package1.subpackage3 |
| com.mycompany.myapp.package1.util |
| BUT exclude the root package: |
| com.mycompany.myapp.package1 |
| --> |
| <packages>com.mycompany.myapp.package1.*</packages> |
| </group> |
| <group> |
| <title>Example 3 - Group Packages</title> |
| <!-- |
| Include packages: |
| com.mycompany.myapp.package1 |
| com.mycompany.myapp.package1.subpackage1 |
| com.mycompany.myapp.package1.subpackage2 |
| com.mycompany.myapp.package1.subpackage3 |
| com.mycompany.myapp.package1.util |
| --> |
| <packages>com.mycompany.myapp.package1*</packages> |
| </group> |
| <group> |
| <title>Example 4 - Group Packages</title> |
| <!-- |
| Include packages: |
| com.mycompany.myapp.package1 |
| com.mycompany.myapp.package1.subpackage1 |
| com.mycompany.myapp.package1.subpackage2 |
| com.mycompany.myapp.package1.subpackage3 |
| com.mycompany.myapp.package1.util |
| com.mycompany.myapp.package2 |
| com.mycompany.myapp.package2.subpackage4 |
| com.mycompany.myapp.package2.subpackage5 |
| com.mycompany.myapp.package2.util |
| --> |
| <packages>com.mycompany.myapp.package*</packages> |
| </group> |
| <group> |
| <title>Example 5 - Group Packages</title> |
| <!-- |
| Include packages: |
| com.mycompany.myapp.package1.subpackage1 |
| com.mycompany.myapp.package1.subpackage2 |
| com.mycompany.myapp.package1.subpackage3 |
| com.mycompany.myapp.package1.util |
| com.mycompany.myapp.package2.subpackage4 |
| com.mycompany.myapp.package2.subpackage5 |
| com.mycompany.myapp.package2.util |
| BUT exclude the root packages: |
| com.mycompany.myapp.package1 |
| com.mycompany.myapp.package2 |
| --> |
| <packages>com.mycompany.myapp.package1.*:com.mycompany.myapp.package2.*</packages> |
| </group> |
| <group> |
| <title>Example 6 - Group Packages</title> |
| <!-- |
| Include nothing. |
| The packages com.mycompany.myapp.package1.util and com.mycompany.myapp.package2.util |
| will be in "Other Packages" group |
| --> |
| <packages>*.util.*</packages> |
| </group> |
| </groups> |
| ... |
| </configuration> |
| </plugin> |
| ... |
| </plugins> |
| ... |
| </reporting> (or </build>) |
| ... |
| </project> |
| +-----+ |