Marc Philipp created SUREFIRE-1445: -------------------------------------- Summary: Properties from configuration POM are not passed to Provider on JDK 9 Key: SUREFIRE-1445 URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 Project: Maven Surefire Issue Type: Bug Components: Maven Failsafe Plugin, Maven Surefire Plugin Affects Versions: 2.20.1, 2.20, 2.19.1 Environment: JDK 9 Reporter: Marc Philipp Priority: Blocker
Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs on JDK 8 but not on JDK 9. The reason is that the constructor of {{SurefireProperties}} relies on an implementation detail of the class it extends, namely that {{putAll()}} will call {{put()}} for each entry. However, while {{Properties}} does that on JDK 8, it doesn't on JDK 9. Here's a link to the line in {{SurefireProperties}}: https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 {code:xml} <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>junit5</groupId> <artifactId>tagging</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <properties> <excludeTags>slow</excludeTags> </properties> </configuration> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.0.2</version> </dependency> </dependencies> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.0.2</version> <scope>test</scope> </dependency> </dependencies> </project> {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)