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/10/24 22:04:59 UTC

[commons-rng] 01/03: Activate RevAPI plugin using a profile

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-rng.git

commit a5bac367bc57ef44cf2a6d95f6f4e2364110c8de
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Mon Oct 24 22:41:39 2022 +0100

    Activate RevAPI plugin using a profile
    
    Only activate for core packages. This allows example modules to avoid a
    blank site report entry.
---
 .../src/site/resources/profile.revapi              | 17 ++++
 commons-rng-core/src/site/resources/profile.revapi | 17 ++++
 commons-rng-examples/pom.xml                       |  8 --
 .../src/site/resources/profile.revapi              | 17 ++++
 .../src/site/resources/profile.revapi              | 17 ++++
 pom.xml                                            | 92 ++++++++++++++--------
 6 files changed, 125 insertions(+), 43 deletions(-)

diff --git a/commons-rng-client-api/src/site/resources/profile.revapi b/commons-rng-client-api/src/site/resources/profile.revapi
new file mode 100644
index 00000000..6382ad79
--- /dev/null
+++ b/commons-rng-client-api/src/site/resources/profile.revapi
@@ -0,0 +1,17 @@
+# 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.
+# -----------------------------------------------------------------------------
+#
+# Empty file used to automatically trigger RevAPI profile from RNG parent pom
diff --git a/commons-rng-core/src/site/resources/profile.revapi b/commons-rng-core/src/site/resources/profile.revapi
new file mode 100644
index 00000000..6382ad79
--- /dev/null
+++ b/commons-rng-core/src/site/resources/profile.revapi
@@ -0,0 +1,17 @@
+# 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.
+# -----------------------------------------------------------------------------
+#
+# Empty file used to automatically trigger RevAPI profile from RNG parent pom
diff --git a/commons-rng-examples/pom.xml b/commons-rng-examples/pom.xml
index 3b9daa70..880038fe 100644
--- a/commons-rng-examples/pom.xml
+++ b/commons-rng-examples/pom.xml
@@ -95,14 +95,6 @@
           <failOnViolation>false</failOnViolation>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>org.revapi</groupId>
-        <artifactId>revapi-maven-plugin</artifactId>
-        <version>${rng.revapi.version}</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
     </plugins>
   </build>
 
diff --git a/commons-rng-sampling/src/site/resources/profile.revapi b/commons-rng-sampling/src/site/resources/profile.revapi
new file mode 100644
index 00000000..6382ad79
--- /dev/null
+++ b/commons-rng-sampling/src/site/resources/profile.revapi
@@ -0,0 +1,17 @@
+# 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.
+# -----------------------------------------------------------------------------
+#
+# Empty file used to automatically trigger RevAPI profile from RNG parent pom
diff --git a/commons-rng-simple/src/site/resources/profile.revapi b/commons-rng-simple/src/site/resources/profile.revapi
new file mode 100644
index 00000000..6382ad79
--- /dev/null
+++ b/commons-rng-simple/src/site/resources/profile.revapi
@@ -0,0 +1,17 @@
+# 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.
+# -----------------------------------------------------------------------------
+#
+# Empty file used to automatically trigger RevAPI profile from RNG parent pom
diff --git a/pom.xml b/pom.xml
index b4a18439..7be8084f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -304,13 +304,6 @@
             </configurationFile>
           </analysisConfigurationFiles>
         </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
       </plugin>
       <plugin>
         <groupId>org.apache.rat</groupId>
@@ -455,34 +448,6 @@
           </reportSet>
         </reportSets>
       </plugin>
-      <plugin>
-        <groupId>org.revapi</groupId>
-        <artifactId>revapi-maven-plugin</artifactId>
-        <version>${rng.revapi.version}</version>
-        <configuration>
-          <!-- For reporting do not ignore the "intentional-api-changes" so they are included -->
-          <analysisConfigurationFiles>
-            <configurationFile>
-              <path>${rng.parent.dir}/src/main/resources/revapi/api-changes.json</path>
-              <roots>
-                <!-- Path(s) to configuration in the JSON config file -->
-                <root>1.5</root>
-              </roots>
-            </configurationFile>
-          </analysisConfigurationFiles>
-          <!-- Note: Property 'reportSeverity' is deprecated but newer 'reportCriticality'
-               does work as documented. -->
-          <reportSeverity>equivalent</reportSeverity>
-          <reportCriticality>allowed</reportCriticality>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
       <plugin>
         <!-- NOTE: javadoc config must also be set under <build> -->
         <groupId>org.apache.maven.plugins</groupId>
@@ -678,6 +643,63 @@ This is avoided by creating an empty directory when svn is not available.
         </plugins>
       </build>
     </profile>
+    <profile>
+      <!-- RevAPI only activated in modules requiring binary compatibility -->
+      <id>revapi</id>
+      <activation>
+        <file>
+          <exists>src/site/resources/profile.revapi</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.revapi</groupId>
+            <artifactId>revapi-maven-plugin</artifactId>
+            <version>${rng.revapi.version}</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.revapi</groupId>
+            <artifactId>revapi-maven-plugin</artifactId>
+            <version>${rng.revapi.version}</version>
+            <configuration>
+              <!-- For reporting do not ignore the "intentional-api-changes" so they are included -->
+              <analysisConfigurationFiles>
+                <configurationFile>
+                  <path>${rng.parent.dir}/src/main/resources/revapi/api-changes.json</path>
+                  <roots>
+                    <!-- Path(s) to configuration in the JSON config file -->
+                    <root>1.5</root>
+                  </roots>
+                </configurationFile>
+              </analysisConfigurationFiles>
+              <!-- Note: Property 'reportSeverity' is deprecated but newer 'reportCriticality'
+                   does work as documented. -->
+              <reportSeverity>equivalent</reportSeverity>
+              <reportCriticality>allowed</reportCriticality>
+            </configuration>
+            <reportSets>
+              <reportSet>
+                <reports>
+                  <report>report</report>
+                </reports>
+              </reportSet>
+            </reportSets>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
 
     <!--
         Profiles for modules with special requirements.