This is an automated email from the ASF dual-hosted git repository.
martijnvisser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new ff20dbc9179 [FLINK-27064][test] move ArchUnit rules for production
code to the source folder and build a ProductCodeArchitectureBase which can be
used by other test outside this module and even in the other repo via
dependency.
ff20dbc9179 is described below
commit ff20dbc9179989449780b5cb5c673c43315d9f2b
Author: Jing Ge <[email protected]>
AuthorDate: Tue Apr 5 23:51:08 2022 +0200
[FLINK-27064][test] move ArchUnit rules for production code to the source
folder and build a ProductCodeArchitectureBase which can be used by other test
outside this module and even in the other repo via dependency.
---
.../flink-architecture-tests-production/pom.xml | 6 ++++++
.../architecture/ProductCodeArchitectureBase.java} | 19 +++++++------------
.../flink/architecture/rules/ApiAnnotationRules.java | 0
.../flink/architecture/rules/TableApiRules.java | 0
.../apache/flink/architecture/ArchitectureTest.java | 7 ++-----
5 files changed, 15 insertions(+), 17 deletions(-)
diff --git
a/flink-architecture-tests/flink-architecture-tests-production/pom.xml
b/flink-architecture-tests/flink-architecture-tests-production/pom.xml
index 2b858b02558..ee279774b30 100644
--- a/flink-architecture-tests/flink-architecture-tests-production/pom.xml
+++ b/flink-architecture-tests/flink-architecture-tests-production/pom.xml
@@ -39,21 +39,25 @@ under the License.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-architecture-tests-base</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-annotations</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
+ <scope>compile</scope>
</dependency>
<!-- Tested Flink modules -->
@@ -61,6 +65,7 @@ under the License.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-core</artifactId>
+ <scope>compile</scope>
</dependency>
<!-- Table API & SQL -->
@@ -68,6 +73,7 @@ under the License.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-common</artifactId>
+ <scope>compile</scope>
</dependency>
<dependency>
diff --git
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
b/flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/ProductCodeArchitectureBase.java
similarity index 72%
copy from
flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
copy to
flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/ProductCodeArchitectureBase.java
index 3eae3e2ab9f..f24a915cdc3 100644
---
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
+++
b/flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/ProductCodeArchitectureBase.java
@@ -18,24 +18,19 @@
package org.apache.flink.architecture;
-import org.apache.flink.architecture.common.ImportOptions;
import org.apache.flink.architecture.rules.ApiAnnotationRules;
import org.apache.flink.architecture.rules.TableApiRules;
-import com.tngtech.archunit.core.importer.ImportOption;
-import com.tngtech.archunit.junit.AnalyzeClasses;
import com.tngtech.archunit.junit.ArchTest;
import com.tngtech.archunit.junit.ArchTests;
-/** Architecture tests. */
-@AnalyzeClasses(
- packages = "org.apache.flink",
- importOptions = {
- ImportOption.DoNotIncludeTests.class,
- ImportOptions.ExcludeScalaImportOption.class,
- ImportOptions.ExcludeShadedImportOption.class
- })
-public class ArchitectureTest {
+/**
+ * Central setup of architectural tests for the production code.
+ *
+ * <p>Architectural tests should include this class via {@link
ArchTests#in(Class)} to cover the
+ * common part.
+ */
+public class ProductCodeArchitectureBase {
@ArchTest
public static final ArchTests API_ANNOTATIONS =
ArchTests.in(ApiAnnotationRules.class);
diff --git
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/rules/ApiAnnotationRules.java
b/flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/rules/ApiAnnotationRules.java
similarity index 100%
rename from
flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/rules/ApiAnnotationRules.java
rename to
flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/rules/ApiAnnotationRules.java
diff --git
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/rules/TableApiRules.java
b/flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/rules/TableApiRules.java
similarity index 100%
rename from
flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/rules/TableApiRules.java
rename to
flink-architecture-tests/flink-architecture-tests-production/src/main/java/org/apache/flink/architecture/rules/TableApiRules.java
diff --git
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
b/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
index 3eae3e2ab9f..5c1e788bcce 100644
---
a/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
+++
b/flink-architecture-tests/flink-architecture-tests-production/src/test/java/org/apache/flink/architecture/ArchitectureTest.java
@@ -19,8 +19,6 @@
package org.apache.flink.architecture;
import org.apache.flink.architecture.common.ImportOptions;
-import org.apache.flink.architecture.rules.ApiAnnotationRules;
-import org.apache.flink.architecture.rules.TableApiRules;
import com.tngtech.archunit.core.importer.ImportOption;
import com.tngtech.archunit.junit.AnalyzeClasses;
@@ -36,8 +34,7 @@ import com.tngtech.archunit.junit.ArchTests;
ImportOptions.ExcludeShadedImportOption.class
})
public class ArchitectureTest {
- @ArchTest
- public static final ArchTests API_ANNOTATIONS =
ArchTests.in(ApiAnnotationRules.class);
- @ArchTest public static final ArchTests TABLE_API =
ArchTests.in(TableApiRules.class);
+ @ArchTest
+ public static final ArchTests COMMON_TESTS =
ArchTests.in(ProductCodeArchitectureBase.class);
}