Could not generate a decorated class for class: ClassNotFound

Hi folks,

I’m in the process of developing a Gradle plugin with a few (necessary) external dependencies. I’ve created the plugin (source at https://github.com/sunshower-io/zephyr/tree/ZEPHYR-57/zephyr-gradle-plugin/tools/gradle-plugin), but when I apply it, I get the following exception:

A problem occurred evaluating project ':aire:aire-core'.
> Failed to apply plugin [id 'io.zephyr.gradle']
   > Could not create task ':aire:aire-core:zephyrDev'.
      > Could not create task of type 'DevelopmentTask'.
         > Could not generate a decorated class for class io.zephyr.gradle.DevelopmentTask.
            > io/zephyr/cli/Zephyr

I’m applying the plugin from my local maven repository as:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath "io.zephyr:gradle-plugin:2.0.0-SNAPSHOT"
    }

And I’ve tried every dependency configuration in the plugin to include its transitive dependencies to the project to which the plugin’s applied with the same result. I even tried adding all of the plugin’s dependencies to the buildscript of the project where it’s applied–no luck.

System information:
Linux 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
Java Version:

openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment Zulu12.3+11-CA (build 12.0.2+3)
OpenJDK 64-Bit Server VM Zulu12.3+11-CA (build 12.0.2+3, mixed mode, sharing)

Gradle version:

------------------------------------------------------------
Gradle 6.0
------------------------------------------------------------

Build time:   2019-11-08 18:12:12 UTC
Revision:     0a5b531749138f2f983f7c888fa7790bfc52d88a

Kotlin:       1.3.50
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          12.0.2 (Azul Systems, Inc. 12.0.2+3)
OS:           Linux 4.9.0-6-amd64 amd64

I’ve tried deleting my .gradle folders (project and user), which didn’t solve anything.

Thanks!

Josiah

Hi folks,

I realized that the project that this plugin depended on, io.zephyr:synchronous-api generated 2 artifacts, a WAR and a JAR, and defaulted to the WAR in its dependencies, causing this problem. Adding ‘ext:“jar”’ to depend on the JAR fixed this issue.

Josiah