Add a docs module to create aggregate reports

The site pages have been updated to link to the aggregate javadoc
report.
This commit is contained in:
Alex Herbert 2022-12-21 23:36:47 +00:00
parent f554608841
commit 0e3634108a
12 changed files with 327 additions and 8 deletions

View File

@ -53,6 +53,12 @@
<artifactId>commons-numbers-core</artifactId>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

212
commons-math-docs/pom.xml Normal file
View File

@ -0,0 +1,212 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math-parent</artifactId>
<version>4.0-SNAPSHOT</version>
</parent>
<artifactId>commons-math-docs</artifactId>
<!-- do not set packaging to pom, because otherwise we will receive
"Not executing Javadoc as the project is not a Java classpath-capable package" -->
<name>Apache Commons Math Documentation</name>
<description>Aggregator module to genenerate Apache Commons Math documentation.</description>
<properties>
<checkstyle.skip>true</checkstyle.skip>
<animal.sniffer.skip>true</animal.sniffer.skip>
<!-- Workaround to avoid duplicating config files. -->
<math.parent.dir>${basedir}/..</math.parent.dir>
<!-- Skip the standard build plugins to avoid processing this 'jar' as an artifact. -->
<maven.resources.skip>true</maven.resources.skip>
<maven.source.skip>true</maven.source.skip>
<maven.main.skip>true</maven.main.skip>
<maven.test.skip>true</maven.test.skip>
<maven.install.skip>true</maven.install.skip>
<maven.deploy.skip>true</maven.deploy.skip>
<!-- Simple site -->
<pmd.skip>true</pmd.skip>
<cpd.skip>true</cpd.skip>
<spotbugs.skip>true</spotbugs.skip>
<checkstyle.skip>true</checkstyle.skip>
<changes.jira.skip>true</changes.jira.skip>
<skipSurefireReport>true</skipSurefireReport>
<!-- Disable javadoc errors so an aggregate is always created. -->
<doclint.javadoc.qualifier>-Xdoclint:none</doclint.javadoc.qualifier>
</properties>
<!-- Depend on all other modules -->
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-neuralnet</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-transform</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-legacy-exception</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-legacy-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math4-legacy</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<!-- This plugin has no skip property - use an invalid phase -->
<groupId>org.spdx</groupId>
<artifactId>spdx-maven-plugin</artifactId>
<executions>
<execution>
<id>build-spdx</id>
<goals>
<goal>createSPDX</goal>
</goals>
<phase>None</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<skipIfEmpty>true</skipIfEmpty>
</configuration>
</plugin>
<!-- Create aggregate javadoc jar using 'mvn javadoc:aggregate-jar' -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<reportOutputDirectory>${project.build.directory}/apidocs</reportOutputDirectory>
<includeDependencySources>true</includeDependencySources>
<doctitle>Apache Commons Math ${project.version}</doctitle>
<windowtitle>Apache Commons Math ${project.version}</windowtitle>
<use>true</use>
<version>false</version>
<!-- Do not configure groups as modules do not have sub-packages -->
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- Create aggregate javadoc site report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<reportOutputDirectory>${project.build.directory}/apidocs</reportOutputDirectory>
<includeDependencySources>true</includeDependencySources>
<doctitle>Apache Commons Math ${project.version}</doctitle>
<windowtitle>Apache Commons Math ${project.version}</windowtitle>
<use>true</use>
<version>false</version>
<groups>
<group>
<title>Core Package</title>
<packages>org.apache.commons.math4.core*</packages>
</group>
<group>
<title>Neural Network Package</title>
<packages>org.apache.commons.math4.neuralnet*</packages>
</group>
<group>
<title>Transform Package</title>
<packages>org.apache.commons.math4.transform*</packages>
</group>
<group>
<title>Legacy Package</title>
<packages>org.apache.commons.math4.legacy*</packages>
</group>
</groups>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Create an aggregate report from the *parent* directory using:
mvn jacoco:report-aggregate
Requires that tests have already been run with the jacoco user agent.
If executed within this directory then jacoco does not collect the
executions from the module dependencies. -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${commons.jacoco.version}</version>
<configuration>
<title>Apache Commons Math</title>
<footer>Code Coverage Report for Apache Commons Math ${project.version}</footer>
<includes>
<!-- Analyze class files only to exclude shaded agent JAR from report -->
<include>**/*.class</include>
</includes>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>report-aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
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.
-->
<project name="Math">
<bannerRight>
<name>Apache Commons Math</name>
</bannerRight>
<body>
<menu name="Math Documentation">
<item name="Overview" href="index.html"/>
<item name="Latest API docs"
href="apidocs/index.html"/>
</menu>
</body>
</project>

View File

@ -0,0 +1,41 @@
<?xml version="1.0"?>
<!--
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.
-->
<document>
<properties>
<title>Commons Math Documentation</title>
</properties>
<body>
<section name="Commons Math: The Apache Commons Mathematics Library" href="summary">
<p>
Commons Math is a library of lightweight, self-contained
mathematics and statistics components addressing the most common
problems not available in the Java programming language or Commons
Lang.
</p>
<p>
Browse the <a href="apidocs/index.html">Javadoc</a> for more information.
</p>
</section>
</body>
</document>

View File

@ -70,6 +70,12 @@
<artifactId>commons-rng-simple</artifactId>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -43,4 +43,14 @@
<math.jira.component>legacy-exception</math.jira.component>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -123,6 +123,12 @@
<artifactId>commons-math4-legacy-core</artifactId>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-geometry-euclidean</artifactId>

View File

@ -60,6 +60,12 @@
<artifactId>commons-rng-sampling</artifactId>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -55,6 +55,12 @@
<artifactId>commons-numbers-complex</artifactId>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-rng-simple</artifactId>

View File

@ -118,6 +118,7 @@
<module>commons-math-legacy</module>
<!-- 4. Modules that depend on "legacy" codes. -->
<module>commons-math-docs</module>
<module>commons-math-examples</module>
</modules>
@ -212,12 +213,6 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@ -31,7 +31,7 @@
<menu name="Math">
<item name="Overview" href="/index.html"/>
<item name="Downloads" href="http://commons.apache.org/math/download_math.cgi"/>
<item name="Latest API docs (development)" href="apidocs/index.html"/>
<item name="Latest API docs (development)" href="commons-math-docs/apidocs/index.html"/>
<item name="Javadoc (3.6.1 release)"
href="http://commons.apache.org/math/javadocs/api-3.6.1/index.html"/>
<item name="Javadoc (3.6 release)"

View File

@ -89,7 +89,7 @@
<li><a href="fitting.html">org.apache.commons.math4.fitting</a> - Curve Fitting</li>
<li><a href="ml.html">org.apache.commons.math4.ml</a> - Machine Learning</li>
</ul>
Package javadocs are <a href="../apidocs/index.html">here</a>
Package javadocs are <a href="../commons-math-docs/apidocs/index.html">here</a>.
</p>
</subsection>