tinkerpop-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From spmalle...@apache.org
Subject [1/7] tinkerpop git commit: Introduce Revapi API checks into the build.
Date Thu, 12 Jan 2017 13:25:33 GMT
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1443 [created] fa2b00585


Introduce Revapi API checks into the build.

The API checker is set up to only check classes in org.apache.tinkerpop
package (and sub packages) and is set up to ignore breaking changes
on a minor version increase.

It always reports non-public classes that leak into the API though.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f35041fe
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f35041fe
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f35041fe

Branch: refs/heads/TINKERPOP-1443
Commit: f35041fe52173f4ce73ad4385d1ad011306e3df1
Parents: fbefd8c
Author: Lukas Krejci <lkrejci@redhat.com>
Authored: Mon Nov 14 23:55:23 2016 +0100
Committer: Lukas Krejci <lkrejci@redhat.com>
Committed: Mon Nov 14 23:55:23 2016 +0100

----------------------------------------------------------------------
 gremlin-groovy-test/pom.xml |  3 +++
 gremlin-python/pom.xml      |  1 +
 gremlin-test/pom.xml        |  3 +++
 pom.xml                     | 50 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 57 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35041fe/gremlin-groovy-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/pom.xml b/gremlin-groovy-test/pom.xml
index 1df9a88..6f0423a 100644
--- a/gremlin-groovy-test/pom.xml
+++ b/gremlin-groovy-test/pom.xml
@@ -25,6 +25,9 @@ limitations under the License.
     </parent>
     <artifactId>gremlin-groovy-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy Test</name>
+    <properties>
+        <revapi.skip>true</revapi.skip>
+    </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35041fe/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 923380d..f9c47cd 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -75,6 +75,7 @@
         <maven.test.skip>false</maven.test.skip>
         <skipTests>${maven.test.skip}</skipTests>
         <gremlin.server.dir>${project.parent.basedir}/gremlin-server</gremlin.server.dir>
+        <revapi.skip>true</revapi.skip>
     </properties>
     <build>
         <directory>${basedir}/target</directory>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35041fe/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index cdea5c9..eb05a9c 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -25,6 +25,9 @@ limitations under the License.
     </parent>
     <artifactId>gremlin-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Test</name>
+    <properties>
+        <revapi.skip>true</revapi.skip>
+    </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f35041fe/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e58bf07..9af0ab6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -314,6 +314,56 @@ limitations under the License.
                     </dependency>
                 </dependencies>
             </plugin>
+            <plugin>
+                <groupId>org.revapi</groupId>
+                <artifactId>revapi-maven-plugin</artifactId>
+                <version>0.7.0</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.revapi</groupId>
+                        <artifactId>revapi-java</artifactId>
+                        <version>0.11.2</version>  
+                    </dependency> 
+                </dependencies>
+                <configuration>
+
+                    <analysisConfiguration><![CDATA[
+                    {
+                      "revapi": {
+                        "java": {
+                          "filter": {
+                            //gremlin-shaded includes a lot of stuff from 3rd party libraries
that break their API between
+                            //versions. Let's just not consider them part of Tinkerpop API.
-->
+                            "packages": {
+                              "regex": true,
+                              "exclude": ["org\\.apache\\.tinkerpop\\.shaded(\\..+)?"],
+                              "include": ["org\\.apache\\.tinkerpop(\\..+)?"]
+                            }
+                          }
+                        },
+                        "semver": {
+                          "ignore": {
+                            "enabled": true,
+                            "versionIncreaseAllows": {
+                              "major": "breaking",
+                              "minor": "breaking",
+                              "patch": "nonBreaking"
+                            },
+                            "passThroughDifferences": ["java.class.nonPublicPartOfAPI"]
+                          }
+                        }                  
+                      }
+                    }
+                    ]]></analysisConfiguration>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>check</goal>
+                        </goals> 
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>


Mime
View raw message