blob: 4c8d218339d3b3d1144704969ed70a087c04eeef [file] [log] [blame]
------
Generate Javadoc without duplicate execution of phase generate-sources.
------
Mirko Friedenhagen
------
2014-03-19
------
~~ 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
Generate Javadoc without duplicate execution of phase generate-sources.
* The standard goals <<<javadoc>>> and <<<test-javadoc>>> invoke separate lifecyles
<<<generate-sources>>> and <<<generate-test-sources>>>.
* In a CI environment you now might execute something like <<<mvn clean deploy site site-deploy>>>.
* During <<<site>>> build the standard reports will trigger <<<generate-sources>>> or
<<<generate-test-sources>>> again, depending on your build this may take some time, because
stuff like <<<enforcer>>> or generating stubs from a WDSL will be invoked again, which may lead
to longer build times.
* See {{{https://issues.apache.org/jira/browse/MJAVADOC-369}MJAVADOC-369}} as well.
* As of version 2.10 two new reports are defined, <<<javadoc-no-fork>>> and <<<test-javadoc-no-fork>>>
which will not trigger above phases a second time.
* Configure this in your <<<reporting>>> section as follows:
+-----+
<project>
...
<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${project.version}</version>
<reportSets>
<reportSet>
<reports>
<report>javadoc-no-fork</report>
<report>test-javadoc-no-fork</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
...
</project>
+-----+
<<Note>>: These reports may not be used for aggregate reports. For those, see the example of
{{{./aggregate-nofork.html}generating aggregate Javadocs without execution of phase compile}}.