Skip to content

Change to scope of API Guardian dependency breaks builds with custom Gradle Configuration #2705

@sbrannen

Description

@sbrannen

Overview

The change in c5ee49d breaks existing Gradle builds.

For example, the Spring Framework is using Gradle 6.8.3, and when the build is upgraded to JUnit 5.8 snapshots the build fails with numerous errors similar to the following.

> Task :spring-test:compileJava FAILED
/Users/sbrannen/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.0-SNAPSHOT/617bb4ea90ad07de26681dd57932575b534ec15e/junit-jupiter-api-5.8.0-SNAPSHOT.jar(org/junit/jupiter/api/extension/ExtendWith.class): warning: Cannot find annotation method 'status()' in type 'API': class file for org.apiguardian.api.API not found
warning: unknown enum constant Status.STABLE
  reason: class file for org.apiguardian.api.API$Status not found

Workaround

Adding compileOnly("org.apiguardian:apiguardian-api") to spring-test allows the spring-test module to build.

Deliverables

  • Document as a potentially breaking change in the release notes.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions