[
https://issues.apache.org/jira/browse/FLINK-38473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Nuyanzin updated FLINK-38473:
------------------------------------
Description:
ASM 9.8 (which has support for java 25[1]) came only with ArchUnit 1.4.1 [2]
With current ArchUnit(1.2.0) in case of jdk25 it fails
{noformat}
mvn clean install -DskipTests -Dfast -Pjava25-target
mvn verify -pl flink-architecture-tests/flink-architecture-tests-production/
-Darchunit.freeze.store.default.allowStoreUpdate=false
{noformat}
like
{noformat}
[ERROR] TableApiRules.CONNECTOR_OPTIONS_PACKAGE -- Time elapsed: 0.004 s <<<
FAILURE!
java.lang.AssertionError: Rule 'Options for connectors and formats should
reside in a consistent package and be public API.' failed to check any classes.
This means either that no classes have been passed to the rule at all, or that
no classes passed to the rule matched the `that()` clause. To allow rules being
evaluated without checking any classes you can either use
`ArchRule.allowEmptyShould(true)` on a single rule or set the configuration
property `archRule.failOnEmptyShould = false` to change the behavior globally.
at
com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.verifyNoEmptyShouldIfEnabled(ArchRule.java:201)
at
com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.evaluate(ArchRule.java:181)
at
com.tngtech.archunit.library.freeze.FreezingArchRule.evaluate(FreezingArchRule.java:123)
at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:84)
at
com.tngtech.archunit.library.freeze.FreezingArchRule.check(FreezingArchRule.java:97)
at
com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:166)
at
com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:149)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
{noformat}
[1] https://asm.ow2.io/versions.html#9.8
[2] https://github.com/TNG/ArchUnit/releases/tag/v1.4.1
was:
ASM 9.8 (which has support for java 25[1]) came only with ArchUnit 1.4.1 [2]
With current ArchUnit(1.2.0) in case of jdk25 it fails
{noformat}
mvn clean install -DskipTests -Dfast -Pjava22-target
mvn verify -pl flink-architecture-tests/flink-architecture-tests-production/
-Darchunit.freeze.store.default.allowStoreUpdate=false
{noformat}
like
{noformat}
[ERROR] TableApiRules.CONNECTOR_OPTIONS_PACKAGE -- Time elapsed: 0.004 s <<<
FAILURE!
java.lang.AssertionError: Rule 'Options for connectors and formats should
reside in a consistent package and be public API.' failed to check any classes.
This means either that no classes have been passed to the rule at all, or that
no classes passed to the rule matched the `that()` clause. To allow rules being
evaluated without checking any classes you can either use
`ArchRule.allowEmptyShould(true)` on a single rule or set the configuration
property `archRule.failOnEmptyShould = false` to change the behavior globally.
at
com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.verifyNoEmptyShouldIfEnabled(ArchRule.java:201)
at
com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.evaluate(ArchRule.java:181)
at
com.tngtech.archunit.library.freeze.FreezingArchRule.evaluate(FreezingArchRule.java:123)
at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:84)
at
com.tngtech.archunit.library.freeze.FreezingArchRule.check(FreezingArchRule.java:97)
at
com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:166)
at
com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:149)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
{noformat}
[1] https://asm.ow2.io/versions.html#9.8
[2] https://github.com/TNG/ArchUnit/releases/tag/v1.4.1
> Upgrade Archunit to 1.4.1
> -------------------------
>
> Key: FLINK-38473
> URL: https://issues.apache.org/jira/browse/FLINK-38473
> Project: Flink
> Issue Type: Sub-task
> Components: Tests
> Reporter: Sergey Nuyanzin
> Assignee: Sergey Nuyanzin
> Priority: Major
>
> ASM 9.8 (which has support for java 25[1]) came only with ArchUnit 1.4.1 [2]
> With current ArchUnit(1.2.0) in case of jdk25 it fails
> {noformat}
> mvn clean install -DskipTests -Dfast -Pjava25-target
> mvn verify -pl flink-architecture-tests/flink-architecture-tests-production/
> -Darchunit.freeze.store.default.allowStoreUpdate=false
> {noformat}
> like
> {noformat}
> [ERROR] TableApiRules.CONNECTOR_OPTIONS_PACKAGE -- Time elapsed: 0.004 s <<<
> FAILURE!
> java.lang.AssertionError: Rule 'Options for connectors and formats should
> reside in a consistent package and be public API.' failed to check any
> classes. This means either that no classes have been passed to the rule at
> all, or that no classes passed to the rule matched the `that()` clause. To
> allow rules being evaluated without checking any classes you can either use
> `ArchRule.allowEmptyShould(true)` on a single rule or set the configuration
> property `archRule.failOnEmptyShould = false` to change the behavior globally.
> at
> com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.verifyNoEmptyShouldIfEnabled(ArchRule.java:201)
> at
> com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.evaluate(ArchRule.java:181)
> at
> com.tngtech.archunit.library.freeze.FreezingArchRule.evaluate(FreezingArchRule.java:123)
> at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:84)
> at
> com.tngtech.archunit.library.freeze.FreezingArchRule.check(FreezingArchRule.java:97)
> at
> com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:166)
> at
> com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitRuleDescriptor.execute(ArchUnitTestDescriptor.java:149)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
> {noformat}
> [1] https://asm.ow2.io/versions.html#9.8
> [2] https://github.com/TNG/ArchUnit/releases/tag/v1.4.1
--
This message was sent by Atlassian Jira
(v8.20.10#820010)