Kelvin Chung
06/20/2024, 11:21 PMCaused by: org.gradle.internal.instantiation.ClassGenerationException: Could not generate a decorated class for type MyTask
at org.gradle.internal.instantiation.generator.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:245)
...
Caused by: java.lang.IllegalArgumentException: Cannot have abstract method MyTask.getServices().
at org.gradle.internal.instantiation.generator.AbstractClassGenerator.assertNotAbstract(AbstractClassGenerator.java:386)
at org.gradle.internal.instantiation.generator.AbstractClassGenerator.inspectType(AbstractClassGenerator.java:312)
at org.gradle.internal.instantiation.generator.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:214)
This is really odd, since MyTask is basically
abstract class MyTask @Inject constructor() : DefaultTask() {
@get:Internal
abstract val services: ListProperty<String>
init {
services.convention(listOf("foobar"))
}
// ... rest of file
}
This is from Gradle 7.5; is there a reason why Gradle would have a problem with services, given that it has worked every other time this same pattern is used?ephemient
06/20/2024, 11:24 PMservices because that collides with an internal methodephemient
06/20/2024, 11:26 PMabstract class Foo {
abstract fun getServices()
}
abstract class Bar : Foo() {
abstract val services: Unit
}
compile at all, though. 🤷Kelvin Chung
06/20/2024, 11:27 PMThomas Broyer
06/21/2024, 7:49 AM