You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2016/08/05 17:57:45 UTC

[3/4] flink git commit: [FLINK-4310] [build] Selectively run API compatibility checks in API projects.

[FLINK-4310] [build] Selectively run API compatibility checks in API projects.

This moves the API compatibility checks into the API projects that use stability annotations.
Previously, every project ran the tests, regardless of whether it contained public API classes or not.

This closes #2334


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

Branch: refs/heads/master
Commit: e629b2e8eb21b6223335a8a0c2ff1a4d6413597b
Parents: 119364c
Author: Stephan Ewen <se...@apache.org>
Authored: Thu Aug 4 18:08:14 2016 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri Aug 5 16:03:58 2016 +0200

----------------------------------------------------------------------
 flink-annotations/pom.xml                       |  11 --
 .../flink-hadoop-compatibility/pom.xml          |  12 ++
 flink-core/pom.xml                              |  11 +-
 flink-java/pom.xml                              |   7 +
 flink-metrics/flink-metrics-core/pom.xml        |  10 ++
 flink-scala/pom.xml                             |   7 +
 flink-shaded-curator/pom.xml                    |  12 --
 flink-shaded-hadoop/pom.xml                     |   8 -
 flink-streaming-java/pom.xml                    |   8 +
 flink-streaming-scala/pom.xml                   |   3 +-
 pom.xml                                         | 154 +++++++++----------
 11 files changed, 120 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-annotations/pom.xml
----------------------------------------------------------------------
diff --git a/flink-annotations/pom.xml b/flink-annotations/pom.xml
index 19af246..effa659 100644
--- a/flink-annotations/pom.xml
+++ b/flink-annotations/pom.xml
@@ -34,15 +34,4 @@ under the License.
 
 	<packaging>jar</packaging>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>com.github.siom79.japicmp</groupId>
-				<artifactId>japicmp-maven-plugin</artifactId>
-				<configuration>
-					<skip>true</skip>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
 </project>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-batch-connectors/flink-hadoop-compatibility/pom.xml
----------------------------------------------------------------------
diff --git a/flink-batch-connectors/flink-hadoop-compatibility/pom.xml b/flink-batch-connectors/flink-hadoop-compatibility/pom.xml
index 6e69cfb..5bc1852 100644
--- a/flink-batch-connectors/flink-hadoop-compatibility/pom.xml
+++ b/flink-batch-connectors/flink-hadoop-compatibility/pom.xml
@@ -74,4 +74,16 @@ under the License.
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
+
+
+	<build>
+		<plugins>
+			<!-- activate API compatibility checks -->
+			<plugin>
+				<groupId>com.github.siom79.japicmp</groupId>
+				<artifactId>japicmp-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-core/pom.xml
----------------------------------------------------------------------
diff --git a/flink-core/pom.xml b/flink-core/pom.xml
index 3c9e61e..7389ef4 100644
--- a/flink-core/pom.xml
+++ b/flink-core/pom.xml
@@ -108,7 +108,8 @@ under the License.
 
 	<build>
 		<plugins>
-			<!-- Exclude removed CONFIG_KEY from ccheck -->
+
+			<!-- activate API compatibility checks -->
 			<plugin>
 				<groupId>com.github.siom79.japicmp</groupId>
 				<artifactId>japicmp-maven-plugin</artifactId>
@@ -119,14 +120,6 @@ under the License.
 						</excludes>
 					</parameter>
 				</configuration>
-				<executions>
-					<execution>
-						<phase>verify</phase>
-						<goals>
-							<goal>cmp</goal>
-						</goals>
-					</execution>
-				</executions>
 			</plugin>
 
 			<!-- publish some test base classes -->

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-java/pom.xml
----------------------------------------------------------------------
diff --git a/flink-java/pom.xml b/flink-java/pom.xml
index df320b4..6924da8 100644
--- a/flink-java/pom.xml
+++ b/flink-java/pom.xml
@@ -77,6 +77,13 @@ under the License.
 
 	<build>
 		<plugins>
+
+			<!-- activate API compatibility checks -->
+			<plugin>
+				<groupId>com.github.siom79.japicmp</groupId>
+				<artifactId>japicmp-maven-plugin</artifactId>
+			</plugin>
+
 			<!-- Because flink-scala and flink-avro uses it in tests -->
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-metrics/flink-metrics-core/pom.xml
----------------------------------------------------------------------
diff --git a/flink-metrics/flink-metrics-core/pom.xml b/flink-metrics/flink-metrics-core/pom.xml
index a61c6d3..2383fb6 100644
--- a/flink-metrics/flink-metrics-core/pom.xml
+++ b/flink-metrics/flink-metrics-core/pom.xml
@@ -32,4 +32,14 @@ under the License.
 	<artifactId>flink-metrics-core</artifactId>
 	<name>flink-metrics-core</name>
 
+	<build>
+		<plugins>
+			<!-- activate API compatibility checks -->
+			<plugin>
+				<groupId>com.github.siom79.japicmp</groupId>
+				<artifactId>japicmp-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-scala/pom.xml
----------------------------------------------------------------------
diff --git a/flink-scala/pom.xml b/flink-scala/pom.xml
index 18b4e37..88f49e5 100644
--- a/flink-scala/pom.xml
+++ b/flink-scala/pom.xml
@@ -106,6 +106,13 @@ under the License.
 
 	<build>
 		<plugins>
+
+			<!-- activate API compatibility checks -->
+			<plugin>
+				<groupId>com.github.siom79.japicmp</groupId>
+				<artifactId>japicmp-maven-plugin</artifactId>
+			</plugin>
+
 			<!-- Scala Compiler -->
 			<plugin>
 				<groupId>net.alchim31.maven</groupId>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-shaded-curator/pom.xml
----------------------------------------------------------------------
diff --git a/flink-shaded-curator/pom.xml b/flink-shaded-curator/pom.xml
index 6142873..274082c 100644
--- a/flink-shaded-curator/pom.xml
+++ b/flink-shaded-curator/pom.xml
@@ -38,16 +38,4 @@
 
 	<packaging>pom</packaging>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>com.github.siom79.japicmp</groupId>
-				<artifactId>japicmp-maven-plugin</artifactId>
-				<configuration>
-					<skip>true</skip>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-
 </project>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-shaded-hadoop/pom.xml
----------------------------------------------------------------------
diff --git a/flink-shaded-hadoop/pom.xml b/flink-shaded-hadoop/pom.xml
index f8fa38e..9564bdd 100644
--- a/flink-shaded-hadoop/pom.xml
+++ b/flink-shaded-hadoop/pom.xml
@@ -163,14 +163,6 @@ under the License.
 				</executions>
 			</plugin>
 
-			<plugin>
-				<groupId>com.github.siom79.japicmp</groupId>
-				<artifactId>japicmp-maven-plugin</artifactId>
-				<configuration>
-					<skip>true</skip>
-				</configuration>
-			</plugin>
-
 		</plugins>
 	</build>
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-streaming-java/pom.xml
----------------------------------------------------------------------
diff --git a/flink-streaming-java/pom.xml b/flink-streaming-java/pom.xml
index 45fb0cf..9ca3e92 100644
--- a/flink-streaming-java/pom.xml
+++ b/flink-streaming-java/pom.xml
@@ -95,6 +95,13 @@ under the License.
 
 	<build>
 		<plugins>
+
+			<!-- activate API compatibility checks -->
+			<plugin>
+				<groupId>com.github.siom79.japicmp</groupId>
+				<artifactId>japicmp-maven-plugin</artifactId>
+			</plugin>
+
 			<!-- disable fork reuse for the streaming project, because of
 			incorrect declaration of tests -->
 			<plugin>
@@ -104,6 +111,7 @@ under the License.
 					<reuseForks>false</reuseForks>
 				</configuration>
 			</plugin>
+
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-jar-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/flink-streaming-scala/pom.xml
----------------------------------------------------------------------
diff --git a/flink-streaming-scala/pom.xml b/flink-streaming-scala/pom.xml
index d86bb60..26f7cc2 100644
--- a/flink-streaming-scala/pom.xml
+++ b/flink-streaming-scala/pom.xml
@@ -215,13 +215,14 @@ under the License.
 				</configuration>
 			</plugin>
 
-			<!-- Exclude generated classes from api compatibility checks -->
+			<!-- activate API compatibility checks -->
 			<plugin>
 				<groupId>com.github.siom79.japicmp</groupId>
 				<artifactId>japicmp-maven-plugin</artifactId>
 				<configuration>
 					<parameter>
 						<excludes>
+							<!-- Exclude generated classes from api compatibility checks -->
 							<exclude>*\$\$anon\$*</exclude>
 						</excludes>
 					</parameter>

http://git-wip-us.apache.org/repos/asf/flink/blob/e629b2e8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 93d3b78..32e7730 100644
--- a/pom.xml
+++ b/pom.xml
@@ -766,63 +766,6 @@ under the License.
 	<build>
 		<plugins>
 			<plugin>
-				<groupId>com.github.siom79.japicmp</groupId>
-				<artifactId>japicmp-maven-plugin</artifactId>
-				<version>0.7.0</version>
-				<configuration>
-					<oldVersion>
-						<dependency>
-							<groupId>org.apache.flink</groupId>
-							<artifactId>${project.artifactId}</artifactId>
-							<version>1.0.0</version>
-							<type>${project.packaging}</type>
-						</dependency>
-					</oldVersion>
-					<newVersion>
-						<file>
-							<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
-						</file>
-					</newVersion>
-					<parameter>
-						<onlyModified>true</onlyModified>
-						<includes>
-							<include>@org.apache.flink.annotation.Public</include>
-						</includes>
-						<excludes>
-							<exclude>@org.apache.flink.annotation.PublicEvolving</exclude>
-							<exclude>@org.apache.flink.annotation.Internal</exclude>
-						</excludes>
-						<accessModifier>public</accessModifier>
-						<breakBuildOnModifications>false</breakBuildOnModifications>
-						<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
-						<breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
-						<onlyBinaryIncompatible>false</onlyBinaryIncompatible>
-						<includeSynthetic>true</includeSynthetic>
-						<ignoreMissingClasses>false</ignoreMissingClasses>
-						<skipPomModules>true</skipPomModules>
-						<!-- Don't break build on newly added maven modules -->
-						<ignoreNonResolvableArtifacts>true</ignoreNonResolvableArtifacts>
-					</parameter>
-					<skip>false</skip>
-					<dependencies>
-						<dependency>
-							<groupId>org.apache.flink</groupId>
-							<artifactId>flink-annotations</artifactId>
-							<version>${project.version}</version>
-						</dependency>
-					</dependencies>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>verify</phase>
-						<goals>
-							<goal>cmp</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-
-			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-jar-plugin</artifactId>
 				<version>2.4</version><!--$NO-MVN-MAN-VER$-->
@@ -1128,20 +1071,19 @@ under the License.
 
 		</plugins>
 
-		<!--
-		Disable git-commit-id-plugin in eclipse
-		See https://github.com/stratosphere/stratosphere/pull/231#issuecomment-27896187
-		-->
+		<!-- Plugin configurations for plugins activated in sub-projects --> 
+
 		<pluginManagement>
 			<plugins>
-				<!--set maven shade plugin version-->
+
+				<!-- Pin the version of the maven shade plugin -->
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-shade-plugin</artifactId>
 					<version>2.4.1</version>
 				</plugin>
-				<!--This plugin's configuration is used to store Eclipse m2e settings
-					only. It has no influence on the Maven build itself. -->
+				
+				<!-- Disable certain plugins in Eclipse -->
 				<plugin>
 					<groupId>org.eclipse.m2e</groupId>
 					<artifactId>lifecycle-mapping</artifactId>
@@ -1151,15 +1093,9 @@ under the License.
 							<pluginExecutions>
 								<pluginExecution>
 									<pluginExecutionFilter>
-										<groupId>
-											pl.project13.maven
-										</groupId>
-										<artifactId>
-											git-commit-id-plugin
-										</artifactId>
-										<versionRange>
-											[2.1.5,)
-										</versionRange>
+										<groupId>pl.project13.maven</groupId>
+										<artifactId>git-commit-id-plugin</artifactId>
+										<versionRange>[2.1.5,)</versionRange>
 										<goals>
 											<goal>revision</goal>
 										</goals>
@@ -1170,15 +1106,9 @@ under the License.
 								</pluginExecution>
 								<pluginExecution>
 									<pluginExecutionFilter>
-										<groupId>
-											org.apache.maven.plugins
-										</groupId>
-										<artifactId>
-											maven-checkstyle-plugin
-										</artifactId>
-										<versionRange>
-											[2.12.1,)
-										</versionRange>
+										<groupId>org.apache.maven.plugins</groupId>
+										<artifactId>maven-checkstyle-plugin</artifactId>
+										<versionRange>[2.12.1,)</versionRange>
 										<goals>
 											<goal>check</goal>
 										</goals>
@@ -1248,7 +1178,67 @@ under the License.
 					<artifactId>scala-maven-plugin</artifactId>
 					<version>3.2.2</version>
 				</plugin>
+
+				<!-- Configuration for the binary compatibility checker -->
+				<plugin>
+					<groupId>com.github.siom79.japicmp</groupId>
+					<artifactId>japicmp-maven-plugin</artifactId>
+					<version>0.7.0</version>
+					<configuration>
+						<oldVersion>
+							<dependency>
+								<groupId>org.apache.flink</groupId>
+								<artifactId>${project.artifactId}</artifactId>
+								<version>1.0.0</version>
+								<type>${project.packaging}</type>
+							</dependency>
+						</oldVersion>
+						<newVersion>
+							<file>
+								<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
+							</file>
+						</newVersion>
+						<parameter>
+							<onlyModified>true</onlyModified>
+							<includes>
+								<include>@org.apache.flink.annotation.Public</include>
+							</includes>
+							<excludes>
+								<exclude>@org.apache.flink.annotation.PublicEvolving</exclude>
+								<exclude>@org.apache.flink.annotation.Internal</exclude>
+							</excludes>
+							<accessModifier>public</accessModifier>
+							<breakBuildOnModifications>false</breakBuildOnModifications>
+							<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
+							<breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
+							<onlyBinaryIncompatible>false</onlyBinaryIncompatible>
+							<includeSynthetic>true</includeSynthetic>
+							<ignoreMissingClasses>false</ignoreMissingClasses>
+							<skipPomModules>true</skipPomModules>
+							<!-- Don't break build on newly added maven modules -->
+							<ignoreNonResolvableArtifacts>true</ignoreNonResolvableArtifacts>
+						</parameter>
+						<skip>false</skip>
+						<dependencies>
+							<dependency>
+								<groupId>org.apache.flink</groupId>
+								<artifactId>flink-annotations</artifactId>
+								<version>${project.version}</version>
+							</dependency>
+						</dependencies>
+					</configuration>
+					<executions>
+						<execution>
+							<phase>verify</phase>
+							<goals>
+								<goal>cmp</goal>
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+
 			</plugins>
 		</pluginManagement>
 	</build>
+
 </project>