Modified: maven/website/components/plugins-archives/maven-javadoc-plugin-LATEST/xref/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.html ============================================================================== --- maven/website/components/plugins-archives/maven-javadoc-plugin-LATEST/xref/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.html (original) +++ maven/website/components/plugins-archives/maven-javadoc-plugin-LATEST/xref/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.html Wed Jul 17 13:36:14 2024 @@ -1661,2045 +1661,2045 @@ <a class="jxr_linenumber" name="L1653" href="#L1653">1653</a> @Parameter(defaultValue = <span class="jxr_string">"${project.build.outputTimestamp}"</span>) <a class="jxr_linenumber" name="L1654" href="#L1654">1654</a> <strong class="jxr_keyword">protected</strong> String outputTimestamp; <a class="jxr_linenumber" name="L1655" href="#L1655">1655</a> -<a class="jxr_linenumber" name="L1656" href="#L1656">1656</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1657" href="#L1657">1657</a> <em class="jxr_comment">// protected methods</em> -<a class="jxr_linenumber" name="L1658" href="#L1658">1658</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1659" href="#L1659">1659</a> -<a class="jxr_linenumber" name="L1660" href="#L1660">1660</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1661" href="#L1661">1661</a> <em class="jxr_javadoccomment"> * Indicates whether this goal is flagged with <code>@aggregator</code>.</em> -<a class="jxr_linenumber" name="L1662" href="#L1662">1662</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L1663" href="#L1663">1663</a> <em class="jxr_javadoccomment"> * @return <code>true</code> if the goal is designed as an aggregator, <code>false</code> otherwise.</em> -<a class="jxr_linenumber" name="L1664" href="#L1664">1664</a> <em class="jxr_javadoccomment"> * @see AggregatorJavadocReport</em> -<a class="jxr_linenumber" name="L1665" href="#L1665">1665</a> <em class="jxr_javadoccomment"> * @see AggregatorTestJavadocReport</em> -<a class="jxr_linenumber" name="L1666" href="#L1666">1666</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1667" href="#L1667">1667</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isAggregator() { -<a class="jxr_linenumber" name="L1668" href="#L1668">1668</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L1669" href="#L1669">1669</a> } +<a class="jxr_linenumber" name="L1656" href="#L1656">1656</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1657" href="#L1657">1657</a> <em class="jxr_javadoccomment"> * Forces the Javadoc JVM locale to be {@link Locale#ROOT}. This will force the Javadoc output</em> +<a class="jxr_linenumber" name="L1658" href="#L1658">1658</a> <em class="jxr_javadoccomment"> * on {@code stdout} and {@code stderr} to be in English only and the generated HTML content in</em> +<a class="jxr_linenumber" name="L1659" href="#L1659">1659</a> <em class="jxr_javadoccomment"> * English as well. If you need the generated HTML content in another supported language use</em> +<a class="jxr_linenumber" name="L1660" href="#L1660">1660</a> <em class="jxr_javadoccomment"> * {@link #locale}.</em> +<a class="jxr_linenumber" name="L1661" href="#L1661">1661</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L1662" href="#L1662">1662</a> <em class="jxr_javadoccomment"> * @since 3.8.0</em> +<a class="jxr_linenumber" name="L1663" href="#L1663">1663</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1664" href="#L1664">1664</a> @Parameter(property = <span class="jxr_string">"forceRootLocale"</span>, defaultValue = <span class="jxr_string">"true"</span>) +<a class="jxr_linenumber" name="L1665" href="#L1665">1665</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> forceRootLocale; +<a class="jxr_linenumber" name="L1666" href="#L1666">1666</a> +<a class="jxr_linenumber" name="L1667" href="#L1667">1667</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1668" href="#L1668">1668</a> <em class="jxr_comment">// protected methods</em> +<a class="jxr_linenumber" name="L1669" href="#L1669">1669</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> <a class="jxr_linenumber" name="L1670" href="#L1670">1670</a> <a class="jxr_linenumber" name="L1671" href="#L1671">1671</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1672" href="#L1672">1672</a> <em class="jxr_javadoccomment"> * Indicates whether this goal generates documentation for the <code>Java Test code</code>.</em> +<a class="jxr_linenumber" name="L1672" href="#L1672">1672</a> <em class="jxr_javadoccomment"> * Indicates whether this goal is flagged with <code>@aggregator</code>.</em> <a class="jxr_linenumber" name="L1673" href="#L1673">1673</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L1674" href="#L1674">1674</a> <em class="jxr_javadoccomment"> * @return <code>true</code> if the goal generates Test Javadocs, <code>false</code> otherwise.</em> -<a class="jxr_linenumber" name="L1675" href="#L1675">1675</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1676" href="#L1676">1676</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTest() { -<a class="jxr_linenumber" name="L1677" href="#L1677">1677</a> <strong class="jxr_keyword">return</strong> false; -<a class="jxr_linenumber" name="L1678" href="#L1678">1678</a> } -<a class="jxr_linenumber" name="L1679" href="#L1679">1679</a> -<a class="jxr_linenumber" name="L1680" href="#L1680">1680</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1681" href="#L1681">1681</a> <em class="jxr_javadoccomment"> * @return the output directory</em> -<a class="jxr_linenumber" name="L1682" href="#L1682">1682</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1683" href="#L1683">1683</a> <strong class="jxr_keyword">protected</strong> String getOutputDirectory() { -<a class="jxr_linenumber" name="L1684" href="#L1684">1684</a> <strong class="jxr_keyword">return</strong> outputDirectory.getAbsoluteFile().toString(); -<a class="jxr_linenumber" name="L1685" href="#L1685">1685</a> } -<a class="jxr_linenumber" name="L1686" href="#L1686">1686</a> -<a class="jxr_linenumber" name="L1687" href="#L1687">1687</a> <strong class="jxr_keyword">protected</strong> MavenProject getProject() { -<a class="jxr_linenumber" name="L1688" href="#L1688">1688</a> <strong class="jxr_keyword">return</strong> project; +<a class="jxr_linenumber" name="L1674" href="#L1674">1674</a> <em class="jxr_javadoccomment"> * @return <code>true</code> if the goal is designed as an aggregator, <code>false</code> otherwise.</em> +<a class="jxr_linenumber" name="L1675" href="#L1675">1675</a> <em class="jxr_javadoccomment"> * @see AggregatorJavadocReport</em> +<a class="jxr_linenumber" name="L1676" href="#L1676">1676</a> <em class="jxr_javadoccomment"> * @see AggregatorTestJavadocReport</em> +<a class="jxr_linenumber" name="L1677" href="#L1677">1677</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1678" href="#L1678">1678</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isAggregator() { +<a class="jxr_linenumber" name="L1679" href="#L1679">1679</a> <strong class="jxr_keyword">return</strong> false; +<a class="jxr_linenumber" name="L1680" href="#L1680">1680</a> } +<a class="jxr_linenumber" name="L1681" href="#L1681">1681</a> +<a class="jxr_linenumber" name="L1682" href="#L1682">1682</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1683" href="#L1683">1683</a> <em class="jxr_javadoccomment"> * Indicates whether this goal generates documentation for the <code>Java Test code</code>.</em> +<a class="jxr_linenumber" name="L1684" href="#L1684">1684</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L1685" href="#L1685">1685</a> <em class="jxr_javadoccomment"> * @return <code>true</code> if the goal generates Test Javadocs, <code>false</code> otherwise.</em> +<a class="jxr_linenumber" name="L1686" href="#L1686">1686</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1687" href="#L1687">1687</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isTest() { +<a class="jxr_linenumber" name="L1688" href="#L1688">1688</a> <strong class="jxr_keyword">return</strong> false; <a class="jxr_linenumber" name="L1689" href="#L1689">1689</a> } <a class="jxr_linenumber" name="L1690" href="#L1690">1690</a> <a class="jxr_linenumber" name="L1691" href="#L1691">1691</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1692" href="#L1692">1692</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> -<a class="jxr_linenumber" name="L1693" href="#L1693">1693</a> <em class="jxr_javadoccomment"> * @return the list of directories where compiled classes are placed for the given project. These dirs are</em> -<a class="jxr_linenumber" name="L1694" href="#L1694">1694</a> <em class="jxr_javadoccomment"> * added to the javadoc classpath.</em> -<a class="jxr_linenumber" name="L1695" href="#L1695">1695</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1696" href="#L1696">1696</a> <strong class="jxr_keyword">protected</strong> List<File> getProjectBuildOutputDirs(MavenProject p) { -<a class="jxr_linenumber" name="L1697" href="#L1697">1697</a> <strong class="jxr_keyword">if</strong> (StringUtils.isEmpty(p.getBuild().getOutputDirectory())) { -<a class="jxr_linenumber" name="L1698" href="#L1698">1698</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); -<a class="jxr_linenumber" name="L1699" href="#L1699">1699</a> } -<a class="jxr_linenumber" name="L1700" href="#L1700">1700</a> -<a class="jxr_linenumber" name="L1701" href="#L1701">1701</a> <strong class="jxr_keyword">return</strong> Collections.singletonList(<strong class="jxr_keyword">new</strong> File(p.getBuild().getOutputDirectory())); -<a class="jxr_linenumber" name="L1702" href="#L1702">1702</a> } -<a class="jxr_linenumber" name="L1703" href="#L1703">1703</a> -<a class="jxr_linenumber" name="L1704" href="#L1704">1704</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1705" href="#L1705">1705</a> <em class="jxr_javadoccomment"> * @param project the project in which to find a classes file</em> -<a class="jxr_linenumber" name="L1706" href="#L1706">1706</a> <em class="jxr_javadoccomment"> * @return null, the attached artifact file, or outputDirectory.</em> -<a class="jxr_linenumber" name="L1707" href="#L1707">1707</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1708" href="#L1708">1708</a> <strong class="jxr_keyword">protected</strong> File getClassesFile(MavenProject project) { -<a class="jxr_linenumber" name="L1709" href="#L1709">1709</a> <strong class="jxr_keyword">if</strong> (!isAggregator() && isTest()) { -<a class="jxr_linenumber" name="L1710" href="#L1710">1710</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; -<a class="jxr_linenumber" name="L1711" href="#L1711">1711</a> } -<a class="jxr_linenumber" name="L1712" href="#L1712">1712</a> -<a class="jxr_linenumber" name="L1713" href="#L1713">1713</a> <strong class="jxr_keyword">if</strong> (project.getArtifact() != <strong class="jxr_keyword">null</strong> && project.getArtifact().getFile() != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1714" href="#L1714">1714</a> File artifactFile = project.getArtifact().getFile(); -<a class="jxr_linenumber" name="L1715" href="#L1715">1715</a> <strong class="jxr_keyword">if</strong> (artifactFile.isDirectory() || artifactFile.getName().endsWith(<span class="jxr_string">".jar"</span>)) { -<a class="jxr_linenumber" name="L1716" href="#L1716">1716</a> <strong class="jxr_keyword">return</strong> artifactFile; -<a class="jxr_linenumber" name="L1717" href="#L1717">1717</a> } -<a class="jxr_linenumber" name="L1718" href="#L1718">1718</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (project.getExecutionProject() != <strong class="jxr_keyword">null</strong> -<a class="jxr_linenumber" name="L1719" href="#L1719">1719</a> && project.getExecutionProject().getArtifact() != <strong class="jxr_keyword">null</strong> -<a class="jxr_linenumber" name="L1720" href="#L1720">1720</a> && project.getExecutionProject().getArtifact().getFile() != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1721" href="#L1721">1721</a> File artifactFile = project.getExecutionProject().getArtifact().getFile(); -<a class="jxr_linenumber" name="L1722" href="#L1722">1722</a> <strong class="jxr_keyword">if</strong> (artifactFile.isDirectory() || artifactFile.getName().endsWith(<span class="jxr_string">".jar"</span>)) { -<a class="jxr_linenumber" name="L1723" href="#L1723">1723</a> <strong class="jxr_keyword">return</strong> artifactFile; -<a class="jxr_linenumber" name="L1724" href="#L1724">1724</a> } -<a class="jxr_linenumber" name="L1725" href="#L1725">1725</a> } -<a class="jxr_linenumber" name="L1726" href="#L1726">1726</a> -<a class="jxr_linenumber" name="L1727" href="#L1727">1727</a> <strong class="jxr_keyword">if</strong> (project.getBuild().getOutputDirectory() != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1728" href="#L1728">1728</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File(project.getBuild().getOutputDirectory()); -<a class="jxr_linenumber" name="L1729" href="#L1729">1729</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L1730" href="#L1730">1730</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; -<a class="jxr_linenumber" name="L1731" href="#L1731">1731</a> } -<a class="jxr_linenumber" name="L1732" href="#L1732">1732</a> } -<a class="jxr_linenumber" name="L1733" href="#L1733">1733</a> -<a class="jxr_linenumber" name="L1734" href="#L1734">1734</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1735" href="#L1735">1735</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> -<a class="jxr_linenumber" name="L1736" href="#L1736">1736</a> <em class="jxr_javadoccomment"> * @return the list of source paths for the given project</em> -<a class="jxr_linenumber" name="L1737" href="#L1737">1737</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1738" href="#L1738">1738</a> <strong class="jxr_keyword">protected</strong> List<String> getProjectSourceRoots(MavenProject p) { -<a class="jxr_linenumber" name="L1739" href="#L1739">1739</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"pom"</span>.equals(p.getPackaging().toLowerCase())) { -<a class="jxr_linenumber" name="L1740" href="#L1740">1740</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); -<a class="jxr_linenumber" name="L1741" href="#L1741">1741</a> } -<a class="jxr_linenumber" name="L1742" href="#L1742">1742</a> -<a class="jxr_linenumber" name="L1743" href="#L1743">1743</a> <strong class="jxr_keyword">return</strong> p.getCompileSourceRoots() == <strong class="jxr_keyword">null</strong> -<a class="jxr_linenumber" name="L1744" href="#L1744">1744</a> ? Collections.<String>emptyList() -<a class="jxr_linenumber" name="L1745" href="#L1745">1745</a> : <strong class="jxr_keyword">new</strong> LinkedList<>(p.getCompileSourceRoots()); -<a class="jxr_linenumber" name="L1746" href="#L1746">1746</a> } -<a class="jxr_linenumber" name="L1747" href="#L1747">1747</a> -<a class="jxr_linenumber" name="L1748" href="#L1748">1748</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1749" href="#L1749">1749</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> -<a class="jxr_linenumber" name="L1750" href="#L1750">1750</a> <em class="jxr_javadoccomment"> * @return the list of source paths for the execution project of the given project</em> -<a class="jxr_linenumber" name="L1751" href="#L1751">1751</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1752" href="#L1752">1752</a> <strong class="jxr_keyword">protected</strong> List<String> getExecutionProjectSourceRoots(MavenProject p) { -<a class="jxr_linenumber" name="L1753" href="#L1753">1753</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"pom"</span>.equals(p.getExecutionProject().getPackaging().toLowerCase())) { -<a class="jxr_linenumber" name="L1754" href="#L1754">1754</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); -<a class="jxr_linenumber" name="L1755" href="#L1755">1755</a> } -<a class="jxr_linenumber" name="L1756" href="#L1756">1756</a> -<a class="jxr_linenumber" name="L1757" href="#L1757">1757</a> <strong class="jxr_keyword">return</strong> p.getExecutionProject().getCompileSourceRoots() == <strong class="jxr_keyword">null</strong> -<a class="jxr_linenumber" name="L1758" href="#L1758">1758</a> ? Collections.<String>emptyList() -<a class="jxr_linenumber" name="L1759" href="#L1759">1759</a> : <strong class="jxr_keyword">new</strong> LinkedList<>(p.getExecutionProject().getCompileSourceRoots()); -<a class="jxr_linenumber" name="L1760" href="#L1760">1760</a> } -<a class="jxr_linenumber" name="L1761" href="#L1761">1761</a> -<a class="jxr_linenumber" name="L1762" href="#L1762">1762</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1763" href="#L1763">1763</a> <em class="jxr_javadoccomment"> * @return the current javadoc directory</em> -<a class="jxr_linenumber" name="L1764" href="#L1764">1764</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1765" href="#L1765">1765</a> <strong class="jxr_keyword">protected</strong> File getJavadocDirectory() { -<a class="jxr_linenumber" name="L1766" href="#L1766">1766</a> <strong class="jxr_keyword">return</strong> javadocDirectory; -<a class="jxr_linenumber" name="L1767" href="#L1767">1767</a> } -<a class="jxr_linenumber" name="L1768" href="#L1768">1768</a> -<a class="jxr_linenumber" name="L1769" href="#L1769">1769</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1770" href="#L1770">1770</a> <em class="jxr_javadoccomment"> * @return the doclint specific checks configuration</em> -<a class="jxr_linenumber" name="L1771" href="#L1771">1771</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1772" href="#L1772">1772</a> <strong class="jxr_keyword">protected</strong> String getDoclint() { -<a class="jxr_linenumber" name="L1773" href="#L1773">1773</a> <strong class="jxr_keyword">return</strong> doclint; -<a class="jxr_linenumber" name="L1774" href="#L1774">1774</a> } -<a class="jxr_linenumber" name="L1775" href="#L1775">1775</a> -<a class="jxr_linenumber" name="L1776" href="#L1776">1776</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1777" href="#L1777">1777</a> <em class="jxr_javadoccomment"> * @return the title to be placed near the top of the overview summary file</em> -<a class="jxr_linenumber" name="L1778" href="#L1778">1778</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1779" href="#L1779">1779</a> <strong class="jxr_keyword">protected</strong> String getDoctitle() { -<a class="jxr_linenumber" name="L1780" href="#L1780">1780</a> <strong class="jxr_keyword">return</strong> doctitle; -<a class="jxr_linenumber" name="L1781" href="#L1781">1781</a> } -<a class="jxr_linenumber" name="L1782" href="#L1782">1782</a> -<a class="jxr_linenumber" name="L1783" href="#L1783">1783</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1784" href="#L1784">1784</a> <em class="jxr_javadoccomment"> * @return the overview documentation file from the user parameter or from the <code>javadocdirectory</code></em> -<a class="jxr_linenumber" name="L1785" href="#L1785">1785</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1786" href="#L1786">1786</a> <strong class="jxr_keyword">protected</strong> File getOverview() { -<a class="jxr_linenumber" name="L1787" href="#L1787">1787</a> <strong class="jxr_keyword">return</strong> overview; -<a class="jxr_linenumber" name="L1788" href="#L1788">1788</a> } -<a class="jxr_linenumber" name="L1789" href="#L1789">1789</a> -<a class="jxr_linenumber" name="L1790" href="#L1790">1790</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1791" href="#L1791">1791</a> <em class="jxr_javadoccomment"> * @return the title to be placed in the HTML title tag</em> -<a class="jxr_linenumber" name="L1792" href="#L1792">1792</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1793" href="#L1793">1793</a> <strong class="jxr_keyword">protected</strong> String getWindowtitle() { -<a class="jxr_linenumber" name="L1794" href="#L1794">1794</a> <strong class="jxr_keyword">return</strong> windowtitle; -<a class="jxr_linenumber" name="L1795" href="#L1795">1795</a> } -<a class="jxr_linenumber" name="L1796" href="#L1796">1796</a> -<a class="jxr_linenumber" name="L1797" href="#L1797">1797</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1798" href="#L1798">1798</a> <em class="jxr_javadoccomment"> * @return the charset attribute or the value of {@link #getDocencoding()} if <code>null</code>.</em> -<a class="jxr_linenumber" name="L1799" href="#L1799">1799</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1800" href="#L1800">1800</a> <strong class="jxr_keyword">private</strong> String getCharset() { -<a class="jxr_linenumber" name="L1801" href="#L1801">1801</a> <strong class="jxr_keyword">return</strong> (charset == <strong class="jxr_keyword">null</strong> || charset.isEmpty()) ? getDocencoding() : charset; -<a class="jxr_linenumber" name="L1802" href="#L1802">1802</a> } -<a class="jxr_linenumber" name="L1803" href="#L1803">1803</a> -<a class="jxr_linenumber" name="L1804" href="#L1804">1804</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1805" href="#L1805">1805</a> <em class="jxr_javadoccomment"> * @return the docencoding attribute or <code>UTF-8</code> if <code>null</code>.</em> -<a class="jxr_linenumber" name="L1806" href="#L1806">1806</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1807" href="#L1807">1807</a> <strong class="jxr_keyword">private</strong> String getDocencoding() { -<a class="jxr_linenumber" name="L1808" href="#L1808">1808</a> <strong class="jxr_keyword">return</strong> (docencoding == <strong class="jxr_keyword">null</strong> || docencoding.isEmpty()) ? ReaderFactory.UTF_8 : docencoding; -<a class="jxr_linenumber" name="L1809" href="#L1809">1809</a> } -<a class="jxr_linenumber" name="L1810" href="#L1810">1810</a> -<a class="jxr_linenumber" name="L1811" href="#L1811">1811</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1812" href="#L1812">1812</a> <em class="jxr_javadoccomment"> * @return the encoding attribute or the value of <code>file.encoding</code> system property if <code>null</code>.</em> -<a class="jxr_linenumber" name="L1813" href="#L1813">1813</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1814" href="#L1814">1814</a> <strong class="jxr_keyword">private</strong> String getEncoding() { -<a class="jxr_linenumber" name="L1815" href="#L1815">1815</a> <strong class="jxr_keyword">return</strong> (encoding == <strong class="jxr_keyword">null</strong> || encoding.isEmpty()) ? ReaderFactory.FILE_ENCODING : encoding; -<a class="jxr_linenumber" name="L1816" href="#L1816">1816</a> } -<a class="jxr_linenumber" name="L1817" href="#L1817">1817</a> -<a class="jxr_linenumber" name="L1818" href="#L1818">1818</a> @Override -<a class="jxr_linenumber" name="L1819" href="#L1819">1819</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException { -<a class="jxr_linenumber" name="L1820" href="#L1820">1820</a> verifyRemovedParameter(<span class="jxr_string">"aggregator"</span>); -<a class="jxr_linenumber" name="L1821" href="#L1821">1821</a> verifyRemovedParameter(<span class="jxr_string">"proxyHost"</span>); -<a class="jxr_linenumber" name="L1822" href="#L1822">1822</a> verifyRemovedParameter(<span class="jxr_string">"proxyPort"</span>); -<a class="jxr_linenumber" name="L1823" href="#L1823">1823</a> verifyReplacedParameter(<span class="jxr_string">"additionalparam"</span>, <span class="jxr_string">"additionalOptions"</span>); -<a class="jxr_linenumber" name="L1824" href="#L1824">1824</a> -<a class="jxr_linenumber" name="L1825" href="#L1825">1825</a> doExecute(); -<a class="jxr_linenumber" name="L1826" href="#L1826">1826</a> } -<a class="jxr_linenumber" name="L1827" href="#L1827">1827</a> -<a class="jxr_linenumber" name="L1828" href="#L1828">1828</a> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> doExecute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException; -<a class="jxr_linenumber" name="L1829" href="#L1829">1829</a> -<a class="jxr_linenumber" name="L1830" href="#L1830">1830</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> verifyRemovedParameter(String paramName) { -<a class="jxr_linenumber" name="L1831" href="#L1831">1831</a> Xpp3Dom configDom = mojoExecution.getConfiguration(); -<a class="jxr_linenumber" name="L1832" href="#L1832">1832</a> <strong class="jxr_keyword">if</strong> (configDom != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1833" href="#L1833">1833</a> <strong class="jxr_keyword">if</strong> (configDom.getChild(paramName) != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1834" href="#L1834">1834</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( -<a class="jxr_linenumber" name="L1835" href="#L1835">1835</a> <span class="jxr_string">"parameter '"</span> + paramName + <span class="jxr_string">"' has been removed from the plugin, please verify documentation."</span>); -<a class="jxr_linenumber" name="L1836" href="#L1836">1836</a> } -<a class="jxr_linenumber" name="L1837" href="#L1837">1837</a> } -<a class="jxr_linenumber" name="L1838" href="#L1838">1838</a> } -<a class="jxr_linenumber" name="L1839" href="#L1839">1839</a> -<a class="jxr_linenumber" name="L1840" href="#L1840">1840</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> verifyReplacedParameter(String oldParamName, String newParamNew) { -<a class="jxr_linenumber" name="L1841" href="#L1841">1841</a> Xpp3Dom configDom = mojoExecution.getConfiguration(); -<a class="jxr_linenumber" name="L1842" href="#L1842">1842</a> <strong class="jxr_keyword">if</strong> (configDom != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1843" href="#L1843">1843</a> <strong class="jxr_keyword">if</strong> (configDom.getChild(oldParamName) != <strong class="jxr_keyword">null</strong>) { -<a class="jxr_linenumber" name="L1844" href="#L1844">1844</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"parameter '"</span> + oldParamName + <span class="jxr_string">"' has been replaced with "</span> -<a class="jxr_linenumber" name="L1845" href="#L1845">1845</a> + newParamNew + <span class="jxr_string">", please verify documentation."</span>); -<a class="jxr_linenumber" name="L1846" href="#L1846">1846</a> } -<a class="jxr_linenumber" name="L1847" href="#L1847">1847</a> } -<a class="jxr_linenumber" name="L1848" href="#L1848">1848</a> } -<a class="jxr_linenumber" name="L1849" href="#L1849">1849</a> -<a class="jxr_linenumber" name="L1850" href="#L1850">1850</a> <em class="jxr_javadoccomment">/**</em> -<a class="jxr_linenumber" name="L1851" href="#L1851">1851</a> <em class="jxr_javadoccomment"> * The <a href="package-summary.html">package documentation</a> details the</em> -<a class="jxr_linenumber" name="L1852" href="#L1852">1852</a> <em class="jxr_javadoccomment"> * Javadoc Options used by this Plugin.</em> -<a class="jxr_linenumber" name="L1853" href="#L1853">1853</a> <em class="jxr_javadoccomment"> *</em> -<a class="jxr_linenumber" name="L1854" href="#L1854">1854</a> <em class="jxr_javadoccomment"> * @param unusedLocale the wanted locale (actually unused).</em> -<a class="jxr_linenumber" name="L1855" href="#L1855">1855</a> <em class="jxr_javadoccomment"> * @throws MavenReportException if any</em> -<a class="jxr_linenumber" name="L1856" href="#L1856">1856</a> <em class="jxr_javadoccomment"> */</em> -<a class="jxr_linenumber" name="L1857" href="#L1857">1857</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> executeReport(Locale unusedLocale) <strong class="jxr_keyword">throws</strong> MavenReportException { -<a class="jxr_linenumber" name="L1858" href="#L1858">1858</a> <strong class="jxr_keyword">if</strong> (skip) { -<a class="jxr_linenumber" name="L1859" href="#L1859">1859</a> getLog().info(<span class="jxr_string">"Skipping javadoc generation"</span>); -<a class="jxr_linenumber" name="L1860" href="#L1860">1860</a> <strong class="jxr_keyword">return</strong>; -<a class="jxr_linenumber" name="L1861" href="#L1861">1861</a> } -<a class="jxr_linenumber" name="L1862" href="#L1862">1862</a> -<a class="jxr_linenumber" name="L1863" href="#L1863">1863</a> <strong class="jxr_keyword">if</strong> (getLog().isDebugEnabled()) { -<a class="jxr_linenumber" name="L1864" href="#L1864">1864</a> <strong class="jxr_keyword">this</strong>.debug = <strong class="jxr_keyword">true</strong>; -<a class="jxr_linenumber" name="L1865" href="#L1865">1865</a> } -<a class="jxr_linenumber" name="L1866" href="#L1866">1866</a> -<a class="jxr_linenumber" name="L1867" href="#L1867">1867</a> <em class="jxr_comment">// NOTE: Always generate this file, to allow javadocs from modules to be aggregated via</em> -<a class="jxr_linenumber" name="L1868" href="#L1868">1868</a> <em class="jxr_comment">// useDependencySources in a distro module build.</em> -<a class="jxr_linenumber" name="L1869" href="#L1869">1869</a> <strong class="jxr_keyword">try</strong> { -<a class="jxr_linenumber" name="L1870" href="#L1870">1870</a> buildJavadocOptions(); -<a class="jxr_linenumber" name="L1871" href="#L1871">1871</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { -<a class="jxr_linenumber" name="L1872" href="#L1872">1872</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"Failed to generate javadoc options file: "</span> + e.getMessage(), e); -<a class="jxr_linenumber" name="L1873" href="#L1873">1873</a> } -<a class="jxr_linenumber" name="L1874" href="#L1874">1874</a> -<a class="jxr_linenumber" name="L1875" href="#L1875">1875</a> Collection<JavadocModule> sourcePaths = getSourcePaths(); -<a class="jxr_linenumber" name="L1876" href="#L1876">1876</a> -<a class="jxr_linenumber" name="L1877" href="#L1877">1877</a> Collection<Path> collectedSourcePaths = -<a class="jxr_linenumber" name="L1878" href="#L1878">1878</a> sourcePaths.stream().flatMap(e -> e.getSourcePaths().stream()).collect(Collectors.toList()); -<a class="jxr_linenumber" name="L1879" href="#L1879">1879</a> -<a class="jxr_linenumber" name="L1880" href="#L1880">1880</a> Map<Path, Collection<String>> files = getFiles(collectedSourcePaths); -<a class="jxr_linenumber" name="L1881" href="#L1881">1881</a> <strong class="jxr_keyword">if</strong> (!canGenerateReport(files)) { -<a class="jxr_linenumber" name="L1882" href="#L1882">1882</a> <strong class="jxr_keyword">return</strong>; -<a class="jxr_linenumber" name="L1883" href="#L1883">1883</a> } -<a class="jxr_linenumber" name="L1884" href="#L1884">1884</a> -<a class="jxr_linenumber" name="L1885" href="#L1885">1885</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1886" href="#L1886">1886</a> <em class="jxr_comment">// Find the javadoc executable and version</em> -<a class="jxr_linenumber" name="L1887" href="#L1887">1887</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1888" href="#L1888">1888</a> -<a class="jxr_linenumber" name="L1889" href="#L1889">1889</a> String jExecutable; -<a class="jxr_linenumber" name="L1890" href="#L1890">1890</a> <strong class="jxr_keyword">try</strong> { -<a class="jxr_linenumber" name="L1891" href="#L1891">1891</a> jExecutable = getJavadocExecutable(); -<a class="jxr_linenumber" name="L1892" href="#L1892">1892</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { -<a class="jxr_linenumber" name="L1893" href="#L1893">1893</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"Unable to find javadoc command: "</span> + e.getMessage(), e); +<a class="jxr_linenumber" name="L1692" href="#L1692">1692</a> <em class="jxr_javadoccomment"> * @return the output directory</em> +<a class="jxr_linenumber" name="L1693" href="#L1693">1693</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1694" href="#L1694">1694</a> <strong class="jxr_keyword">protected</strong> String getOutputDirectory() { +<a class="jxr_linenumber" name="L1695" href="#L1695">1695</a> <strong class="jxr_keyword">return</strong> outputDirectory.getAbsoluteFile().toString(); +<a class="jxr_linenumber" name="L1696" href="#L1696">1696</a> } +<a class="jxr_linenumber" name="L1697" href="#L1697">1697</a> +<a class="jxr_linenumber" name="L1698" href="#L1698">1698</a> <strong class="jxr_keyword">protected</strong> MavenProject getProject() { +<a class="jxr_linenumber" name="L1699" href="#L1699">1699</a> <strong class="jxr_keyword">return</strong> project; +<a class="jxr_linenumber" name="L1700" href="#L1700">1700</a> } +<a class="jxr_linenumber" name="L1701" href="#L1701">1701</a> +<a class="jxr_linenumber" name="L1702" href="#L1702">1702</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1703" href="#L1703">1703</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> +<a class="jxr_linenumber" name="L1704" href="#L1704">1704</a> <em class="jxr_javadoccomment"> * @return the list of directories where compiled classes are placed for the given project. These dirs are</em> +<a class="jxr_linenumber" name="L1705" href="#L1705">1705</a> <em class="jxr_javadoccomment"> * added to the javadoc classpath.</em> +<a class="jxr_linenumber" name="L1706" href="#L1706">1706</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1707" href="#L1707">1707</a> <strong class="jxr_keyword">protected</strong> List<File> getProjectBuildOutputDirs(MavenProject p) { +<a class="jxr_linenumber" name="L1708" href="#L1708">1708</a> <strong class="jxr_keyword">if</strong> (StringUtils.isEmpty(p.getBuild().getOutputDirectory())) { +<a class="jxr_linenumber" name="L1709" href="#L1709">1709</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); +<a class="jxr_linenumber" name="L1710" href="#L1710">1710</a> } +<a class="jxr_linenumber" name="L1711" href="#L1711">1711</a> +<a class="jxr_linenumber" name="L1712" href="#L1712">1712</a> <strong class="jxr_keyword">return</strong> Collections.singletonList(<strong class="jxr_keyword">new</strong> File(p.getBuild().getOutputDirectory())); +<a class="jxr_linenumber" name="L1713" href="#L1713">1713</a> } +<a class="jxr_linenumber" name="L1714" href="#L1714">1714</a> +<a class="jxr_linenumber" name="L1715" href="#L1715">1715</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1716" href="#L1716">1716</a> <em class="jxr_javadoccomment"> * @param project the project in which to find a classes file</em> +<a class="jxr_linenumber" name="L1717" href="#L1717">1717</a> <em class="jxr_javadoccomment"> * @return null, the attached artifact file, or outputDirectory.</em> +<a class="jxr_linenumber" name="L1718" href="#L1718">1718</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1719" href="#L1719">1719</a> <strong class="jxr_keyword">protected</strong> File getClassesFile(MavenProject project) { +<a class="jxr_linenumber" name="L1720" href="#L1720">1720</a> <strong class="jxr_keyword">if</strong> (!isAggregator() && isTest()) { +<a class="jxr_linenumber" name="L1721" href="#L1721">1721</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a class="jxr_linenumber" name="L1722" href="#L1722">1722</a> } +<a class="jxr_linenumber" name="L1723" href="#L1723">1723</a> +<a class="jxr_linenumber" name="L1724" href="#L1724">1724</a> <strong class="jxr_keyword">if</strong> (project.getArtifact() != <strong class="jxr_keyword">null</strong> && project.getArtifact().getFile() != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1725" href="#L1725">1725</a> File artifactFile = project.getArtifact().getFile(); +<a class="jxr_linenumber" name="L1726" href="#L1726">1726</a> <strong class="jxr_keyword">if</strong> (artifactFile.isDirectory() || artifactFile.getName().endsWith(<span class="jxr_string">".jar"</span>)) { +<a class="jxr_linenumber" name="L1727" href="#L1727">1727</a> <strong class="jxr_keyword">return</strong> artifactFile; +<a class="jxr_linenumber" name="L1728" href="#L1728">1728</a> } +<a class="jxr_linenumber" name="L1729" href="#L1729">1729</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (project.getExecutionProject() != <strong class="jxr_keyword">null</strong> +<a class="jxr_linenumber" name="L1730" href="#L1730">1730</a> && project.getExecutionProject().getArtifact() != <strong class="jxr_keyword">null</strong> +<a class="jxr_linenumber" name="L1731" href="#L1731">1731</a> && project.getExecutionProject().getArtifact().getFile() != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1732" href="#L1732">1732</a> File artifactFile = project.getExecutionProject().getArtifact().getFile(); +<a class="jxr_linenumber" name="L1733" href="#L1733">1733</a> <strong class="jxr_keyword">if</strong> (artifactFile.isDirectory() || artifactFile.getName().endsWith(<span class="jxr_string">".jar"</span>)) { +<a class="jxr_linenumber" name="L1734" href="#L1734">1734</a> <strong class="jxr_keyword">return</strong> artifactFile; +<a class="jxr_linenumber" name="L1735" href="#L1735">1735</a> } +<a class="jxr_linenumber" name="L1736" href="#L1736">1736</a> } +<a class="jxr_linenumber" name="L1737" href="#L1737">1737</a> +<a class="jxr_linenumber" name="L1738" href="#L1738">1738</a> <strong class="jxr_keyword">if</strong> (project.getBuild().getOutputDirectory() != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1739" href="#L1739">1739</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> File(project.getBuild().getOutputDirectory()); +<a class="jxr_linenumber" name="L1740" href="#L1740">1740</a> } <strong class="jxr_keyword">else</strong> { +<a class="jxr_linenumber" name="L1741" href="#L1741">1741</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>; +<a class="jxr_linenumber" name="L1742" href="#L1742">1742</a> } +<a class="jxr_linenumber" name="L1743" href="#L1743">1743</a> } +<a class="jxr_linenumber" name="L1744" href="#L1744">1744</a> +<a class="jxr_linenumber" name="L1745" href="#L1745">1745</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1746" href="#L1746">1746</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> +<a class="jxr_linenumber" name="L1747" href="#L1747">1747</a> <em class="jxr_javadoccomment"> * @return the list of source paths for the given project</em> +<a class="jxr_linenumber" name="L1748" href="#L1748">1748</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1749" href="#L1749">1749</a> <strong class="jxr_keyword">protected</strong> List<String> getProjectSourceRoots(MavenProject p) { +<a class="jxr_linenumber" name="L1750" href="#L1750">1750</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"pom"</span>.equals(p.getPackaging().toLowerCase())) { +<a class="jxr_linenumber" name="L1751" href="#L1751">1751</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); +<a class="jxr_linenumber" name="L1752" href="#L1752">1752</a> } +<a class="jxr_linenumber" name="L1753" href="#L1753">1753</a> +<a class="jxr_linenumber" name="L1754" href="#L1754">1754</a> <strong class="jxr_keyword">return</strong> p.getCompileSourceRoots() == <strong class="jxr_keyword">null</strong> +<a class="jxr_linenumber" name="L1755" href="#L1755">1755</a> ? Collections.<String>emptyList() +<a class="jxr_linenumber" name="L1756" href="#L1756">1756</a> : <strong class="jxr_keyword">new</strong> LinkedList<>(p.getCompileSourceRoots()); +<a class="jxr_linenumber" name="L1757" href="#L1757">1757</a> } +<a class="jxr_linenumber" name="L1758" href="#L1758">1758</a> +<a class="jxr_linenumber" name="L1759" href="#L1759">1759</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1760" href="#L1760">1760</a> <em class="jxr_javadoccomment"> * @param p not null maven project</em> +<a class="jxr_linenumber" name="L1761" href="#L1761">1761</a> <em class="jxr_javadoccomment"> * @return the list of source paths for the execution project of the given project</em> +<a class="jxr_linenumber" name="L1762" href="#L1762">1762</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1763" href="#L1763">1763</a> <strong class="jxr_keyword">protected</strong> List<String> getExecutionProjectSourceRoots(MavenProject p) { +<a class="jxr_linenumber" name="L1764" href="#L1764">1764</a> <strong class="jxr_keyword">if</strong> (<span class="jxr_string">"pom"</span>.equals(p.getExecutionProject().getPackaging().toLowerCase())) { +<a class="jxr_linenumber" name="L1765" href="#L1765">1765</a> <strong class="jxr_keyword">return</strong> Collections.emptyList(); +<a class="jxr_linenumber" name="L1766" href="#L1766">1766</a> } +<a class="jxr_linenumber" name="L1767" href="#L1767">1767</a> +<a class="jxr_linenumber" name="L1768" href="#L1768">1768</a> <strong class="jxr_keyword">return</strong> p.getExecutionProject().getCompileSourceRoots() == <strong class="jxr_keyword">null</strong> +<a class="jxr_linenumber" name="L1769" href="#L1769">1769</a> ? Collections.<String>emptyList() +<a class="jxr_linenumber" name="L1770" href="#L1770">1770</a> : <strong class="jxr_keyword">new</strong> LinkedList<>(p.getExecutionProject().getCompileSourceRoots()); +<a class="jxr_linenumber" name="L1771" href="#L1771">1771</a> } +<a class="jxr_linenumber" name="L1772" href="#L1772">1772</a> +<a class="jxr_linenumber" name="L1773" href="#L1773">1773</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1774" href="#L1774">1774</a> <em class="jxr_javadoccomment"> * @return the current javadoc directory</em> +<a class="jxr_linenumber" name="L1775" href="#L1775">1775</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1776" href="#L1776">1776</a> <strong class="jxr_keyword">protected</strong> File getJavadocDirectory() { +<a class="jxr_linenumber" name="L1777" href="#L1777">1777</a> <strong class="jxr_keyword">return</strong> javadocDirectory; +<a class="jxr_linenumber" name="L1778" href="#L1778">1778</a> } +<a class="jxr_linenumber" name="L1779" href="#L1779">1779</a> +<a class="jxr_linenumber" name="L1780" href="#L1780">1780</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1781" href="#L1781">1781</a> <em class="jxr_javadoccomment"> * @return the doclint specific checks configuration</em> +<a class="jxr_linenumber" name="L1782" href="#L1782">1782</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1783" href="#L1783">1783</a> <strong class="jxr_keyword">protected</strong> String getDoclint() { +<a class="jxr_linenumber" name="L1784" href="#L1784">1784</a> <strong class="jxr_keyword">return</strong> doclint; +<a class="jxr_linenumber" name="L1785" href="#L1785">1785</a> } +<a class="jxr_linenumber" name="L1786" href="#L1786">1786</a> +<a class="jxr_linenumber" name="L1787" href="#L1787">1787</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1788" href="#L1788">1788</a> <em class="jxr_javadoccomment"> * @return the title to be placed near the top of the overview summary file</em> +<a class="jxr_linenumber" name="L1789" href="#L1789">1789</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1790" href="#L1790">1790</a> <strong class="jxr_keyword">protected</strong> String getDoctitle() { +<a class="jxr_linenumber" name="L1791" href="#L1791">1791</a> <strong class="jxr_keyword">return</strong> doctitle; +<a class="jxr_linenumber" name="L1792" href="#L1792">1792</a> } +<a class="jxr_linenumber" name="L1793" href="#L1793">1793</a> +<a class="jxr_linenumber" name="L1794" href="#L1794">1794</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1795" href="#L1795">1795</a> <em class="jxr_javadoccomment"> * @return the overview documentation file from the user parameter or from the <code>javadocdirectory</code></em> +<a class="jxr_linenumber" name="L1796" href="#L1796">1796</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1797" href="#L1797">1797</a> <strong class="jxr_keyword">protected</strong> File getOverview() { +<a class="jxr_linenumber" name="L1798" href="#L1798">1798</a> <strong class="jxr_keyword">return</strong> overview; +<a class="jxr_linenumber" name="L1799" href="#L1799">1799</a> } +<a class="jxr_linenumber" name="L1800" href="#L1800">1800</a> +<a class="jxr_linenumber" name="L1801" href="#L1801">1801</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1802" href="#L1802">1802</a> <em class="jxr_javadoccomment"> * @return the title to be placed in the HTML title tag</em> +<a class="jxr_linenumber" name="L1803" href="#L1803">1803</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1804" href="#L1804">1804</a> <strong class="jxr_keyword">protected</strong> String getWindowtitle() { +<a class="jxr_linenumber" name="L1805" href="#L1805">1805</a> <strong class="jxr_keyword">return</strong> windowtitle; +<a class="jxr_linenumber" name="L1806" href="#L1806">1806</a> } +<a class="jxr_linenumber" name="L1807" href="#L1807">1807</a> +<a class="jxr_linenumber" name="L1808" href="#L1808">1808</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1809" href="#L1809">1809</a> <em class="jxr_javadoccomment"> * @return the charset attribute or the value of {@link #getDocencoding()} if <code>null</code>.</em> +<a class="jxr_linenumber" name="L1810" href="#L1810">1810</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1811" href="#L1811">1811</a> <strong class="jxr_keyword">private</strong> String getCharset() { +<a class="jxr_linenumber" name="L1812" href="#L1812">1812</a> <strong class="jxr_keyword">return</strong> (charset == <strong class="jxr_keyword">null</strong> || charset.isEmpty()) ? getDocencoding() : charset; +<a class="jxr_linenumber" name="L1813" href="#L1813">1813</a> } +<a class="jxr_linenumber" name="L1814" href="#L1814">1814</a> +<a class="jxr_linenumber" name="L1815" href="#L1815">1815</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1816" href="#L1816">1816</a> <em class="jxr_javadoccomment"> * @return the docencoding attribute or <code>UTF-8</code> if <code>null</code>.</em> +<a class="jxr_linenumber" name="L1817" href="#L1817">1817</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1818" href="#L1818">1818</a> <strong class="jxr_keyword">private</strong> String getDocencoding() { +<a class="jxr_linenumber" name="L1819" href="#L1819">1819</a> <strong class="jxr_keyword">return</strong> (docencoding == <strong class="jxr_keyword">null</strong> || docencoding.isEmpty()) ? ReaderFactory.UTF_8 : docencoding; +<a class="jxr_linenumber" name="L1820" href="#L1820">1820</a> } +<a class="jxr_linenumber" name="L1821" href="#L1821">1821</a> +<a class="jxr_linenumber" name="L1822" href="#L1822">1822</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1823" href="#L1823">1823</a> <em class="jxr_javadoccomment"> * @return the encoding attribute or the value of <code>file.encoding</code> system property if <code>null</code>.</em> +<a class="jxr_linenumber" name="L1824" href="#L1824">1824</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1825" href="#L1825">1825</a> <strong class="jxr_keyword">private</strong> String getEncoding() { +<a class="jxr_linenumber" name="L1826" href="#L1826">1826</a> <strong class="jxr_keyword">return</strong> (encoding == <strong class="jxr_keyword">null</strong> || encoding.isEmpty()) ? ReaderFactory.FILE_ENCODING : encoding; +<a class="jxr_linenumber" name="L1827" href="#L1827">1827</a> } +<a class="jxr_linenumber" name="L1828" href="#L1828">1828</a> +<a class="jxr_linenumber" name="L1829" href="#L1829">1829</a> @Override +<a class="jxr_linenumber" name="L1830" href="#L1830">1830</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> execute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException { +<a class="jxr_linenumber" name="L1831" href="#L1831">1831</a> verifyRemovedParameter(<span class="jxr_string">"aggregator"</span>); +<a class="jxr_linenumber" name="L1832" href="#L1832">1832</a> verifyRemovedParameter(<span class="jxr_string">"proxyHost"</span>); +<a class="jxr_linenumber" name="L1833" href="#L1833">1833</a> verifyRemovedParameter(<span class="jxr_string">"proxyPort"</span>); +<a class="jxr_linenumber" name="L1834" href="#L1834">1834</a> verifyReplacedParameter(<span class="jxr_string">"additionalparam"</span>, <span class="jxr_string">"additionalOptions"</span>); +<a class="jxr_linenumber" name="L1835" href="#L1835">1835</a> +<a class="jxr_linenumber" name="L1836" href="#L1836">1836</a> doExecute(); +<a class="jxr_linenumber" name="L1837" href="#L1837">1837</a> } +<a class="jxr_linenumber" name="L1838" href="#L1838">1838</a> +<a class="jxr_linenumber" name="L1839" href="#L1839">1839</a> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> doExecute() <strong class="jxr_keyword">throws</strong> MojoExecutionException, MojoFailureException; +<a class="jxr_linenumber" name="L1840" href="#L1840">1840</a> +<a class="jxr_linenumber" name="L1841" href="#L1841">1841</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">void</strong> verifyRemovedParameter(String paramName) { +<a class="jxr_linenumber" name="L1842" href="#L1842">1842</a> Xpp3Dom configDom = mojoExecution.getConfiguration(); +<a class="jxr_linenumber" name="L1843" href="#L1843">1843</a> <strong class="jxr_keyword">if</strong> (configDom != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1844" href="#L1844">1844</a> <strong class="jxr_keyword">if</strong> (configDom.getChild(paramName) != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1845" href="#L1845">1845</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( +<a class="jxr_linenumber" name="L1846" href="#L1846">1846</a> <span class="jxr_string">"parameter '"</span> + paramName + <span class="jxr_string">"' has been removed from the plugin, please verify documentation."</span>); +<a class="jxr_linenumber" name="L1847" href="#L1847">1847</a> } +<a class="jxr_linenumber" name="L1848" href="#L1848">1848</a> } +<a class="jxr_linenumber" name="L1849" href="#L1849">1849</a> } +<a class="jxr_linenumber" name="L1850" href="#L1850">1850</a> +<a class="jxr_linenumber" name="L1851" href="#L1851">1851</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> verifyReplacedParameter(String oldParamName, String newParamNew) { +<a class="jxr_linenumber" name="L1852" href="#L1852">1852</a> Xpp3Dom configDom = mojoExecution.getConfiguration(); +<a class="jxr_linenumber" name="L1853" href="#L1853">1853</a> <strong class="jxr_keyword">if</strong> (configDom != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1854" href="#L1854">1854</a> <strong class="jxr_keyword">if</strong> (configDom.getChild(oldParamName) != <strong class="jxr_keyword">null</strong>) { +<a class="jxr_linenumber" name="L1855" href="#L1855">1855</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"parameter '"</span> + oldParamName + <span class="jxr_string">"' has been replaced with "</span> +<a class="jxr_linenumber" name="L1856" href="#L1856">1856</a> + newParamNew + <span class="jxr_string">", please verify documentation."</span>); +<a class="jxr_linenumber" name="L1857" href="#L1857">1857</a> } +<a class="jxr_linenumber" name="L1858" href="#L1858">1858</a> } +<a class="jxr_linenumber" name="L1859" href="#L1859">1859</a> } +<a class="jxr_linenumber" name="L1860" href="#L1860">1860</a> +<a class="jxr_linenumber" name="L1861" href="#L1861">1861</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L1862" href="#L1862">1862</a> <em class="jxr_javadoccomment"> * The <a href="package-summary.html">package documentation</a> details the</em> +<a class="jxr_linenumber" name="L1863" href="#L1863">1863</a> <em class="jxr_javadoccomment"> * Javadoc Options used by this Plugin.</em> +<a class="jxr_linenumber" name="L1864" href="#L1864">1864</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L1865" href="#L1865">1865</a> <em class="jxr_javadoccomment"> * @param unusedLocale the wanted locale (actually unused).</em> +<a class="jxr_linenumber" name="L1866" href="#L1866">1866</a> <em class="jxr_javadoccomment"> * @throws MavenReportException if any</em> +<a class="jxr_linenumber" name="L1867" href="#L1867">1867</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L1868" href="#L1868">1868</a> <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> executeReport(Locale unusedLocale) <strong class="jxr_keyword">throws</strong> MavenReportException { +<a class="jxr_linenumber" name="L1869" href="#L1869">1869</a> <strong class="jxr_keyword">if</strong> (skip) { +<a class="jxr_linenumber" name="L1870" href="#L1870">1870</a> getLog().info(<span class="jxr_string">"Skipping javadoc generation"</span>); +<a class="jxr_linenumber" name="L1871" href="#L1871">1871</a> <strong class="jxr_keyword">return</strong>; +<a class="jxr_linenumber" name="L1872" href="#L1872">1872</a> } +<a class="jxr_linenumber" name="L1873" href="#L1873">1873</a> +<a class="jxr_linenumber" name="L1874" href="#L1874">1874</a> <strong class="jxr_keyword">if</strong> (getLog().isDebugEnabled()) { +<a class="jxr_linenumber" name="L1875" href="#L1875">1875</a> <strong class="jxr_keyword">this</strong>.debug = <strong class="jxr_keyword">true</strong>; +<a class="jxr_linenumber" name="L1876" href="#L1876">1876</a> } +<a class="jxr_linenumber" name="L1877" href="#L1877">1877</a> +<a class="jxr_linenumber" name="L1878" href="#L1878">1878</a> <em class="jxr_comment">// NOTE: Always generate this file, to allow javadocs from modules to be aggregated via</em> +<a class="jxr_linenumber" name="L1879" href="#L1879">1879</a> <em class="jxr_comment">// useDependencySources in a distro module build.</em> +<a class="jxr_linenumber" name="L1880" href="#L1880">1880</a> <strong class="jxr_keyword">try</strong> { +<a class="jxr_linenumber" name="L1881" href="#L1881">1881</a> buildJavadocOptions(); +<a class="jxr_linenumber" name="L1882" href="#L1882">1882</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a class="jxr_linenumber" name="L1883" href="#L1883">1883</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"Failed to generate javadoc options file: "</span> + e.getMessage(), e); +<a class="jxr_linenumber" name="L1884" href="#L1884">1884</a> } +<a class="jxr_linenumber" name="L1885" href="#L1885">1885</a> +<a class="jxr_linenumber" name="L1886" href="#L1886">1886</a> Collection<JavadocModule> sourcePaths = getSourcePaths(); +<a class="jxr_linenumber" name="L1887" href="#L1887">1887</a> +<a class="jxr_linenumber" name="L1888" href="#L1888">1888</a> Collection<Path> collectedSourcePaths = +<a class="jxr_linenumber" name="L1889" href="#L1889">1889</a> sourcePaths.stream().flatMap(e -> e.getSourcePaths().stream()).collect(Collectors.toList()); +<a class="jxr_linenumber" name="L1890" href="#L1890">1890</a> +<a class="jxr_linenumber" name="L1891" href="#L1891">1891</a> Map<Path, Collection<String>> files = getFiles(collectedSourcePaths); +<a class="jxr_linenumber" name="L1892" href="#L1892">1892</a> <strong class="jxr_keyword">if</strong> (!canGenerateReport(files)) { +<a class="jxr_linenumber" name="L1893" href="#L1893">1893</a> <strong class="jxr_keyword">return</strong>; <a class="jxr_linenumber" name="L1894" href="#L1894">1894</a> } -<a class="jxr_linenumber" name="L1895" href="#L1895">1895</a> setFJavadocVersion(<strong class="jxr_keyword">new</strong> File(jExecutable)); -<a class="jxr_linenumber" name="L1896" href="#L1896">1896</a> -<a class="jxr_linenumber" name="L1897" href="#L1897">1897</a> Collection<String> packageNames; -<a class="jxr_linenumber" name="L1898" href="#L1898">1898</a> <strong class="jxr_keyword">if</strong> (javadocRuntimeVersion.isAtLeast(<span class="jxr_string">"9"</span>)) { -<a class="jxr_linenumber" name="L1899" href="#L1899">1899</a> packageNames = getPackageNamesRespectingJavaModules(sourcePaths); -<a class="jxr_linenumber" name="L1900" href="#L1900">1900</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L1901" href="#L1901">1901</a> packageNames = getPackageNames(files); -<a class="jxr_linenumber" name="L1902" href="#L1902">1902</a> } -<a class="jxr_linenumber" name="L1903" href="#L1903">1903</a> -<a class="jxr_linenumber" name="L1904" href="#L1904">1904</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1905" href="#L1905">1905</a> <em class="jxr_comment">// Javadoc output directory as File</em> -<a class="jxr_linenumber" name="L1906" href="#L1906">1906</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1895" href="#L1895">1895</a> +<a class="jxr_linenumber" name="L1896" href="#L1896">1896</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1897" href="#L1897">1897</a> <em class="jxr_comment">// Find the javadoc executable and version</em> +<a class="jxr_linenumber" name="L1898" href="#L1898">1898</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1899" href="#L1899">1899</a> +<a class="jxr_linenumber" name="L1900" href="#L1900">1900</a> String jExecutable; +<a class="jxr_linenumber" name="L1901" href="#L1901">1901</a> <strong class="jxr_keyword">try</strong> { +<a class="jxr_linenumber" name="L1902" href="#L1902">1902</a> jExecutable = getJavadocExecutable(); +<a class="jxr_linenumber" name="L1903" href="#L1903">1903</a> } <strong class="jxr_keyword">catch</strong> (IOException e) { +<a class="jxr_linenumber" name="L1904" href="#L1904">1904</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"Unable to find javadoc command: "</span> + e.getMessage(), e); +<a class="jxr_linenumber" name="L1905" href="#L1905">1905</a> } +<a class="jxr_linenumber" name="L1906" href="#L1906">1906</a> setFJavadocVersion(<strong class="jxr_keyword">new</strong> File(jExecutable)); <a class="jxr_linenumber" name="L1907" href="#L1907">1907</a> -<a class="jxr_linenumber" name="L1908" href="#L1908">1908</a> File javadocOutputDirectory = <strong class="jxr_keyword">new</strong> File(getOutputDirectory()); -<a class="jxr_linenumber" name="L1909" href="#L1909">1909</a> <strong class="jxr_keyword">if</strong> (javadocOutputDirectory.exists() && !javadocOutputDirectory.isDirectory()) { -<a class="jxr_linenumber" name="L1910" href="#L1910">1910</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"IOException: "</span> + getOutputDirectory() + <span class="jxr_string">" is not a directory."</span>); -<a class="jxr_linenumber" name="L1911" href="#L1911">1911</a> } -<a class="jxr_linenumber" name="L1912" href="#L1912">1912</a> <strong class="jxr_keyword">if</strong> (javadocOutputDirectory.exists() && !javadocOutputDirectory.canWrite()) { -<a class="jxr_linenumber" name="L1913" href="#L1913">1913</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"IOException: "</span> + getOutputDirectory() + <span class="jxr_string">" is not writable."</span>); -<a class="jxr_linenumber" name="L1914" href="#L1914">1914</a> } -<a class="jxr_linenumber" name="L1915" href="#L1915">1915</a> javadocOutputDirectory.mkdirs(); -<a class="jxr_linenumber" name="L1916" href="#L1916">1916</a> +<a class="jxr_linenumber" name="L1908" href="#L1908">1908</a> Collection<String> packageNames; +<a class="jxr_linenumber" name="L1909" href="#L1909">1909</a> <strong class="jxr_keyword">if</strong> (javadocRuntimeVersion.isAtLeast(<span class="jxr_string">"9"</span>)) { +<a class="jxr_linenumber" name="L1910" href="#L1910">1910</a> packageNames = getPackageNamesRespectingJavaModules(sourcePaths); +<a class="jxr_linenumber" name="L1911" href="#L1911">1911</a> } <strong class="jxr_keyword">else</strong> { +<a class="jxr_linenumber" name="L1912" href="#L1912">1912</a> packageNames = getPackageNames(files); +<a class="jxr_linenumber" name="L1913" href="#L1913">1913</a> } +<a class="jxr_linenumber" name="L1914" href="#L1914">1914</a> +<a class="jxr_linenumber" name="L1915" href="#L1915">1915</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1916" href="#L1916">1916</a> <em class="jxr_comment">// Javadoc output directory as File</em> <a class="jxr_linenumber" name="L1917" href="#L1917">1917</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1918" href="#L1918">1918</a> <em class="jxr_comment">// Copy all resources</em> -<a class="jxr_linenumber" name="L1919" href="#L1919">1919</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1920" href="#L1920">1920</a> -<a class="jxr_linenumber" name="L1921" href="#L1921">1921</a> copyAllResources(javadocOutputDirectory); -<a class="jxr_linenumber" name="L1922" href="#L1922">1922</a> -<a class="jxr_linenumber" name="L1923" href="#L1923">1923</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1924" href="#L1924">1924</a> <em class="jxr_comment">// Create command line for Javadoc</em> -<a class="jxr_linenumber" name="L1925" href="#L1925">1925</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1926" href="#L1926">1926</a> -<a class="jxr_linenumber" name="L1927" href="#L1927">1927</a> Commandline cmd = <strong class="jxr_keyword">new</strong> Commandline(); -<a class="jxr_linenumber" name="L1928" href="#L1928">1928</a> cmd.getShell().setQuotedArgumentsEnabled(false); <em class="jxr_comment">// for Javadoc JVM args</em> -<a class="jxr_linenumber" name="L1929" href="#L1929">1929</a> cmd.setWorkingDirectory(javadocOutputDirectory.getAbsolutePath()); -<a class="jxr_linenumber" name="L1930" href="#L1930">1930</a> cmd.setExecutable(jExecutable); +<a class="jxr_linenumber" name="L1918" href="#L1918">1918</a> +<a class="jxr_linenumber" name="L1919" href="#L1919">1919</a> File javadocOutputDirectory = <strong class="jxr_keyword">new</strong> File(getOutputDirectory()); +<a class="jxr_linenumber" name="L1920" href="#L1920">1920</a> <strong class="jxr_keyword">if</strong> (javadocOutputDirectory.exists() && !javadocOutputDirectory.isDirectory()) { +<a class="jxr_linenumber" name="L1921" href="#L1921">1921</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"IOException: "</span> + getOutputDirectory() + <span class="jxr_string">" is not a directory."</span>); +<a class="jxr_linenumber" name="L1922" href="#L1922">1922</a> } +<a class="jxr_linenumber" name="L1923" href="#L1923">1923</a> <strong class="jxr_keyword">if</strong> (javadocOutputDirectory.exists() && !javadocOutputDirectory.canWrite()) { +<a class="jxr_linenumber" name="L1924" href="#L1924">1924</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> MavenReportException(<span class="jxr_string">"IOException: "</span> + getOutputDirectory() + <span class="jxr_string">" is not writable."</span>); +<a class="jxr_linenumber" name="L1925" href="#L1925">1925</a> } +<a class="jxr_linenumber" name="L1926" href="#L1926">1926</a> javadocOutputDirectory.mkdirs(); +<a class="jxr_linenumber" name="L1927" href="#L1927">1927</a> +<a class="jxr_linenumber" name="L1928" href="#L1928">1928</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1929" href="#L1929">1929</a> <em class="jxr_comment">// Copy all resources</em> +<a class="jxr_linenumber" name="L1930" href="#L1930">1930</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> <a class="jxr_linenumber" name="L1931" href="#L1931">1931</a> -<a class="jxr_linenumber" name="L1932" href="#L1932">1932</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1933" href="#L1933">1933</a> <em class="jxr_comment">// Wrap Javadoc JVM args</em> +<a class="jxr_linenumber" name="L1932" href="#L1932">1932</a> copyAllResources(javadocOutputDirectory); +<a class="jxr_linenumber" name="L1933" href="#L1933">1933</a> <a class="jxr_linenumber" name="L1934" href="#L1934">1934</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1935" href="#L1935">1935</a> -<a class="jxr_linenumber" name="L1936" href="#L1936">1936</a> addMemoryArg(cmd, <span class="jxr_string">"-Xmx"</span>, <strong class="jxr_keyword">this</strong>.maxmemory); -<a class="jxr_linenumber" name="L1937" href="#L1937">1937</a> addMemoryArg(cmd, <span class="jxr_string">"-Xms"</span>, <strong class="jxr_keyword">this</strong>.minmemory); -<a class="jxr_linenumber" name="L1938" href="#L1938">1938</a> addProxyArg(cmd); -<a class="jxr_linenumber" name="L1939" href="#L1939">1939</a> -<a class="jxr_linenumber" name="L1940" href="#L1940">1940</a> <strong class="jxr_keyword">if</strong> (additionalJOption != <strong class="jxr_keyword">null</strong> && !additionalJOption.isEmpty()) { -<a class="jxr_linenumber" name="L1941" href="#L1941">1941</a> cmd.createArg().setValue(additionalJOption); -<a class="jxr_linenumber" name="L1942" href="#L1942">1942</a> } -<a class="jxr_linenumber" name="L1943" href="#L1943">1943</a> -<a class="jxr_linenumber" name="L1944" href="#L1944">1944</a> <strong class="jxr_keyword">if</strong> (additionalJOptions != <strong class="jxr_keyword">null</strong> && additionalJOptions.length != 0) { -<a class="jxr_linenumber" name="L1945" href="#L1945">1945</a> <strong class="jxr_keyword">for</strong> (String jo : additionalJOptions) { -<a class="jxr_linenumber" name="L1946" href="#L1946">1946</a> cmd.createArg().setValue(jo); -<a class="jxr_linenumber" name="L1947" href="#L1947">1947</a> } -<a class="jxr_linenumber" name="L1948" href="#L1948">1948</a> } -<a class="jxr_linenumber" name="L1949" href="#L1949">1949</a> -<a class="jxr_linenumber" name="L1950" href="#L1950">1950</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1951" href="#L1951">1951</a> <em class="jxr_comment">// Wrap Standard doclet Options</em> -<a class="jxr_linenumber" name="L1952" href="#L1952">1952</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1953" href="#L1953">1953</a> List<String> standardDocletArguments = <strong class="jxr_keyword">new</strong> ArrayList<>(); -<a class="jxr_linenumber" name="L1954" href="#L1954">1954</a> -<a class="jxr_linenumber" name="L1955" href="#L1955">1955</a> Set<OfflineLink> offlineLinks; -<a class="jxr_linenumber" name="L1956" href="#L1956">1956</a> <strong class="jxr_keyword">if</strong> ((doclet == <strong class="jxr_keyword">null</strong> || doclet.isEmpty()) || useStandardDocletOptions) { -<a class="jxr_linenumber" name="L1957" href="#L1957">1957</a> offlineLinks = getLinkofflines(); -<a class="jxr_linenumber" name="L1958" href="#L1958">1958</a> addStandardDocletOptions(javadocOutputDirectory, standardDocletArguments, offlineLinks); -<a class="jxr_linenumber" name="L1959" href="#L1959">1959</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L1960" href="#L1960">1960</a> offlineLinks = Collections.emptySet(); -<a class="jxr_linenumber" name="L1961" href="#L1961">1961</a> } -<a class="jxr_linenumber" name="L1962" href="#L1962">1962</a> -<a class="jxr_linenumber" name="L1963" href="#L1963">1963</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1964" href="#L1964">1964</a> <em class="jxr_comment">// Wrap Javadoc options</em> -<a class="jxr_linenumber" name="L1965" href="#L1965">1965</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1966" href="#L1966">1966</a> List<String> javadocArguments = <strong class="jxr_keyword">new</strong> ArrayList<>(); -<a class="jxr_linenumber" name="L1967" href="#L1967">1967</a> -<a class="jxr_linenumber" name="L1968" href="#L1968">1968</a> addJavadocOptions(javadocOutputDirectory, javadocArguments, sourcePaths, offlineLinks); -<a class="jxr_linenumber" name="L1969" href="#L1969">1969</a> -<a class="jxr_linenumber" name="L1970" href="#L1970">1970</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1971" href="#L1971">1971</a> <em class="jxr_comment">// Write options file and include it in the command line</em> -<a class="jxr_linenumber" name="L1972" href="#L1972">1972</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1973" href="#L1973">1973</a> -<a class="jxr_linenumber" name="L1974" href="#L1974">1974</a> List<String> arguments = <strong class="jxr_keyword">new</strong> ArrayList<>(javadocArguments.size() + standardDocletArguments.size()); -<a class="jxr_linenumber" name="L1975" href="#L1975">1975</a> arguments.addAll(javadocArguments); -<a class="jxr_linenumber" name="L1976" href="#L1976">1976</a> arguments.addAll(standardDocletArguments); -<a class="jxr_linenumber" name="L1977" href="#L1977">1977</a> -<a class="jxr_linenumber" name="L1978" href="#L1978">1978</a> <strong class="jxr_keyword">if</strong> (arguments.size() > 0) { -<a class="jxr_linenumber" name="L1979" href="#L1979">1979</a> addCommandLineOptions(cmd, arguments, javadocOutputDirectory); -<a class="jxr_linenumber" name="L1980" href="#L1980">1980</a> } -<a class="jxr_linenumber" name="L1981" href="#L1981">1981</a> -<a class="jxr_linenumber" name="L1982" href="#L1982">1982</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L1983" href="#L1983">1983</a> <em class="jxr_comment">// Write packages file and include it in the command line</em> -<a class="jxr_linenumber" name="L1984" href="#L1984">1984</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1935" href="#L1935">1935</a> <em class="jxr_comment">// Create command line for Javadoc</em> +<a class="jxr_linenumber" name="L1936" href="#L1936">1936</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1937" href="#L1937">1937</a> +<a class="jxr_linenumber" name="L1938" href="#L1938">1938</a> Commandline cmd = <strong class="jxr_keyword">new</strong> Commandline(); +<a class="jxr_linenumber" name="L1939" href="#L1939">1939</a> cmd.getShell().setQuotedArgumentsEnabled(false); <em class="jxr_comment">// for Javadoc JVM args</em> +<a class="jxr_linenumber" name="L1940" href="#L1940">1940</a> cmd.setWorkingDirectory(javadocOutputDirectory.getAbsolutePath()); +<a class="jxr_linenumber" name="L1941" href="#L1941">1941</a> cmd.setExecutable(jExecutable); +<a class="jxr_linenumber" name="L1942" href="#L1942">1942</a> +<a class="jxr_linenumber" name="L1943" href="#L1943">1943</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1944" href="#L1944">1944</a> <em class="jxr_comment">// Wrap Javadoc JVM args</em> +<a class="jxr_linenumber" name="L1945" href="#L1945">1945</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1946" href="#L1946">1946</a> +<a class="jxr_linenumber" name="L1947" href="#L1947">1947</a> addMemoryArg(cmd, <span class="jxr_string">"-Xmx"</span>, <strong class="jxr_keyword">this</strong>.maxmemory); +<a class="jxr_linenumber" name="L1948" href="#L1948">1948</a> addMemoryArg(cmd, <span class="jxr_string">"-Xms"</span>, <strong class="jxr_keyword">this</strong>.minmemory); +<a class="jxr_linenumber" name="L1949" href="#L1949">1949</a> addProxyArg(cmd); +<a class="jxr_linenumber" name="L1950" href="#L1950">1950</a> +<a class="jxr_linenumber" name="L1951" href="#L1951">1951</a> <strong class="jxr_keyword">if</strong> (forceRootLocale) { +<a class="jxr_linenumber" name="L1952" href="#L1952">1952</a> cmd.createArg().setValue(<span class="jxr_string">"-J-Duser.language="</span>); +<a class="jxr_linenumber" name="L1953" href="#L1953">1953</a> cmd.createArg().setValue(<span class="jxr_string">"-J-Duser.country="</span>); +<a class="jxr_linenumber" name="L1954" href="#L1954">1954</a> } +<a class="jxr_linenumber" name="L1955" href="#L1955">1955</a> +<a class="jxr_linenumber" name="L1956" href="#L1956">1956</a> <strong class="jxr_keyword">if</strong> (additionalJOption != <strong class="jxr_keyword">null</strong> && !additionalJOption.isEmpty()) { +<a class="jxr_linenumber" name="L1957" href="#L1957">1957</a> cmd.createArg().setValue(additionalJOption); +<a class="jxr_linenumber" name="L1958" href="#L1958">1958</a> } +<a class="jxr_linenumber" name="L1959" href="#L1959">1959</a> +<a class="jxr_linenumber" name="L1960" href="#L1960">1960</a> <strong class="jxr_keyword">if</strong> (additionalJOptions != <strong class="jxr_keyword">null</strong> && additionalJOptions.length != 0) { +<a class="jxr_linenumber" name="L1961" href="#L1961">1961</a> <strong class="jxr_keyword">for</strong> (String jo : additionalJOptions) { +<a class="jxr_linenumber" name="L1962" href="#L1962">1962</a> cmd.createArg().setValue(jo); +<a class="jxr_linenumber" name="L1963" href="#L1963">1963</a> } +<a class="jxr_linenumber" name="L1964" href="#L1964">1964</a> } +<a class="jxr_linenumber" name="L1965" href="#L1965">1965</a> +<a class="jxr_linenumber" name="L1966" href="#L1966">1966</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1967" href="#L1967">1967</a> <em class="jxr_comment">// Wrap Standard doclet Options</em> +<a class="jxr_linenumber" name="L1968" href="#L1968">1968</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1969" href="#L1969">1969</a> List<String> standardDocletArguments = <strong class="jxr_keyword">new</strong> ArrayList<>(); +<a class="jxr_linenumber" name="L1970" href="#L1970">1970</a> +<a class="jxr_linenumber" name="L1971" href="#L1971">1971</a> Set<OfflineLink> offlineLinks; +<a class="jxr_linenumber" name="L1972" href="#L1972">1972</a> <strong class="jxr_keyword">if</strong> ((doclet == <strong class="jxr_keyword">null</strong> || doclet.isEmpty()) || useStandardDocletOptions) { +<a class="jxr_linenumber" name="L1973" href="#L1973">1973</a> offlineLinks = getLinkofflines(); +<a class="jxr_linenumber" name="L1974" href="#L1974">1974</a> addStandardDocletOptions(javadocOutputDirectory, standardDocletArguments, offlineLinks); +<a class="jxr_linenumber" name="L1975" href="#L1975">1975</a> } <strong class="jxr_keyword">else</strong> { +<a class="jxr_linenumber" name="L1976" href="#L1976">1976</a> offlineLinks = Collections.emptySet(); +<a class="jxr_linenumber" name="L1977" href="#L1977">1977</a> } +<a class="jxr_linenumber" name="L1978" href="#L1978">1978</a> +<a class="jxr_linenumber" name="L1979" href="#L1979">1979</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1980" href="#L1980">1980</a> <em class="jxr_comment">// Wrap Javadoc options</em> +<a class="jxr_linenumber" name="L1981" href="#L1981">1981</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> +<a class="jxr_linenumber" name="L1982" href="#L1982">1982</a> List<String> javadocArguments = <strong class="jxr_keyword">new</strong> ArrayList<>(); +<a class="jxr_linenumber" name="L1983" href="#L1983">1983</a> +<a class="jxr_linenumber" name="L1984" href="#L1984">1984</a> addJavadocOptions(javadocOutputDirectory, javadocArguments, sourcePaths, offlineLinks); <a class="jxr_linenumber" name="L1985" href="#L1985">1985</a> -<a class="jxr_linenumber" name="L1986" href="#L1986">1986</a> <em class="jxr_comment">// MJAVADOC-365 if includes/excludes are specified, these take precedence over the default</em> -<a class="jxr_linenumber" name="L1987" href="#L1987">1987</a> <em class="jxr_comment">// package-based mode and force javadoc into file-based mode unless subpackages are</em> -<a class="jxr_linenumber" name="L1988" href="#L1988">1988</a> <em class="jxr_comment">// specified. Subpackages take precedence over file-based include/excludes. Why? Because</em> -<a class="jxr_linenumber" name="L1989" href="#L1989">1989</a> <em class="jxr_comment">// getFiles(...) returns an empty list when subpackages are specified.</em> -<a class="jxr_linenumber" name="L1990" href="#L1990">1990</a> <strong class="jxr_keyword">boolean</strong> includesExcludesActive = (sourceFileIncludes != <strong class="jxr_keyword">null</strong> && !sourceFileIncludes.isEmpty()) -<a class="jxr_linenumber" name="L1991" href="#L1991">1991</a> || (sourceFileExcludes != <strong class="jxr_keyword">null</strong> && !sourceFileExcludes.isEmpty()); -<a class="jxr_linenumber" name="L1992" href="#L1992">1992</a> <strong class="jxr_keyword">if</strong> (includesExcludesActive && !(subpackages == <strong class="jxr_keyword">null</strong> || subpackages.isEmpty())) { -<a class="jxr_linenumber" name="L1993" href="#L1993">1993</a> getLog().warn(<span class="jxr_string">"sourceFileIncludes and sourceFileExcludes have no effect when subpackages are specified!"</span>); -<a class="jxr_linenumber" name="L1994" href="#L1994">1994</a> includesExcludesActive = false; -<a class="jxr_linenumber" name="L1995" href="#L1995">1995</a> } -<a class="jxr_linenumber" name="L1996" href="#L1996">1996</a> <strong class="jxr_keyword">if</strong> (!packageNames.isEmpty() && !includesExcludesActive) { -<a class="jxr_linenumber" name="L1997" href="#L1997">1997</a> addCommandLinePackages(cmd, javadocOutputDirectory, packageNames); -<a class="jxr_linenumber" name="L1998" href="#L1998">1998</a> -<a class="jxr_linenumber" name="L1999" href="#L1999">1999</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L2000" href="#L2000">2000</a> <em class="jxr_comment">// Write argfile file and include it in the command line</em> -<a class="jxr_linenumber" name="L2001" href="#L2001">2001</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L2002" href="#L2002">2002</a> -<a class="jxr_linenumber" name="L2003" href="#L2003">2003</a> List<String> specialFiles = getSpecialFiles(files); -<a class="jxr_linenumber" name="L2004" href="#L2004">2004</a> -<a class="jxr_linenumber" name="L2005" href="#L2005">2005</a> <strong class="jxr_keyword">if</strong> (!specialFiles.isEmpty()) { -<a class="jxr_linenumber" name="L2006" href="#L2006">2006</a> addCommandLineArgFile(cmd, javadocOutputDirectory, specialFiles); -<a class="jxr_linenumber" name="L2007" href="#L2007">2007</a> } -<a class="jxr_linenumber" name="L2008" href="#L2008">2008</a> } <strong class="jxr_keyword">else</strong> { -<a class="jxr_linenumber" name="L2009" href="#L2009">2009</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L2010" href="#L2010">2010</a> <em class="jxr_comment">// Write argfile file and include it in the command line</em> -<a class="jxr_linenumber" name="L2011" href="#L2011">2011</a> <em class="jxr_comment">// ----------------------------------------------------------------------</em> -<a class="jxr_linenumber" name="L2012" href="#L2012">2012</a>
[... 8142 lines stripped ...]