You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2022/12/21 23:37:00 UTC

[commons-math] branch master updated: Add a docs module to create aggregate reports

This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git


The following commit(s) were added to refs/heads/master by this push:
     new 0e3634108 Add a docs module to create aggregate  reports
0e3634108 is described below

commit 0e3634108a90d9d3db9df4bb8dc4adb102232560
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Wed Dec 21 23:36:47 2022 +0000

    Add a docs module to create aggregate  reports
    
    The site pages have been updated to link to the aggregate javadoc
    report.
---
 commons-math-core/pom.xml                 |   6 +
 commons-math-docs/pom.xml                 | 212 ++++++++++++++++++++++++++++++
 commons-math-docs/src/site/site.xml       |  31 +++++
 commons-math-docs/src/site/xdoc/index.xml |  41 ++++++
 commons-math-legacy-core/pom.xml          |   6 +
 commons-math-legacy-exception/pom.xml     |  10 ++
 commons-math-legacy/pom.xml               |   6 +
 commons-math-neuralnet/pom.xml            |   6 +
 commons-math-transform/pom.xml            |   6 +
 pom.xml                                   |   7 +-
 src/site/site.xml                         |   2 +-
 src/site/xdoc/userguide/overview.xml      |   2 +-
 12 files changed, 327 insertions(+), 8 deletions(-)

diff --git a/commons-math-core/pom.xml b/commons-math-core/pom.xml
index 7add89143..367a57bac 100644
--- a/commons-math-core/pom.xml
+++ b/commons-math-core/pom.xml
@@ -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>
diff --git a/commons-math-docs/pom.xml b/commons-math-docs/pom.xml
new file mode 100644
index 000000000..4d83de835
--- /dev/null
+++ b/commons-math-docs/pom.xml
@@ -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>
diff --git a/commons-math-docs/src/site/site.xml b/commons-math-docs/src/site/site.xml
new file mode 100644
index 000000000..b339bc15b
--- /dev/null
+++ b/commons-math-docs/src/site/site.xml
@@ -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>
diff --git a/commons-math-docs/src/site/xdoc/index.xml b/commons-math-docs/src/site/xdoc/index.xml
new file mode 100644
index 000000000..8ad2cf2e6
--- /dev/null
+++ b/commons-math-docs/src/site/xdoc/index.xml
@@ -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>
diff --git a/commons-math-legacy-core/pom.xml b/commons-math-legacy-core/pom.xml
index e6cfb4a6a..f511a463d 100644
--- a/commons-math-legacy-core/pom.xml
+++ b/commons-math-legacy-core/pom.xml
@@ -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>
diff --git a/commons-math-legacy-exception/pom.xml b/commons-math-legacy-exception/pom.xml
index 4b68915b1..4dd00ac86 100644
--- a/commons-math-legacy-exception/pom.xml
+++ b/commons-math-legacy-exception/pom.xml
@@ -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>
diff --git a/commons-math-legacy/pom.xml b/commons-math-legacy/pom.xml
index 25a96106b..f2a4615ea 100644
--- a/commons-math-legacy/pom.xml
+++ b/commons-math-legacy/pom.xml
@@ -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>
diff --git a/commons-math-neuralnet/pom.xml b/commons-math-neuralnet/pom.xml
index 52a78069c..68866ca0d 100644
--- a/commons-math-neuralnet/pom.xml
+++ b/commons-math-neuralnet/pom.xml
@@ -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>
diff --git a/commons-math-transform/pom.xml b/commons-math-transform/pom.xml
index 853cea535..3d3a6bdd7 100644
--- a/commons-math-transform/pom.xml
+++ b/commons-math-transform/pom.xml
@@ -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>
diff --git a/pom.xml b/pom.xml
index 8212c3636..cd06520ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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>
diff --git a/src/site/site.xml b/src/site/site.xml
index f65930663..fe3167754 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -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)"
diff --git a/src/site/xdoc/userguide/overview.xml b/src/site/xdoc/userguide/overview.xml
index b0158ca6f..b1ea29278 100644
--- a/src/site/xdoc/userguide/overview.xml
+++ b/src/site/xdoc/userguide/overview.xml
@@ -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>