TNG / JGiven

Behavior-Driven Development in plain Java
http://jgiven.org
Apache License 2.0
437 stars 98 forks source link

Support Gradle 8.11 #1788

Open catchin opened 1 week ago

catchin commented 1 week ago

We're successfully running JGiven version 1.3.1 on gradle 8.10.2.

However, when upgrading to gradle 8.11, the build fails due to

org.gradle.api.plugins.InvalidPluginException: An exception occurred applying plugin request [id: 'com.tngtech.jgiven.gradle-plugin', version: '1.3.1']
...
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin 'com.tngtech.jgiven.gradle-plugin'.
...
Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':jgivenTestReport'.
...
Caused by: org.gradle.api.tasks.TaskInstantiationException: Could not create task of type 'JGivenReportTask'.
...
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/reporting/internal/TaskReportContainer
...

It seems the plugin is using a reference to the Gradle internal TaskReportContainer which is not present in the new version anymore.

l-1squared commented 1 week ago

Oh this is going to be fun ...

l-1squared commented 7 hours ago

Turns out I already tried fixing this, but implementing 20 methods just doesn't feel right. I'm going to ask the gradle community for a better solution