streem/pbandk

Using dependencies from a service generator

Closed this issue · 1 comments

Hi,

I am trying to use a dependency, kotlin-poet, from a custom service generator. However, when I add kotlin-poet as a dependency to my generator module, running a build throws a class not found exception even though the class resolves fine in the IDE (Android Studio). I am running a build using gradle/android studio. Without kotlin poet my custom generator runs fine and generates code as expected. Is there a special way to add dependencies for for classes we want to use in our generator?

 Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
  Caused by: java.lang.NoClassDefFoundError: com/squareup/kotlinpoet/FunSpec
        at com.mailchimp.autolyse.generator.AutolyseServiceGenerator.generate(AutolyseServiceGenerator.kt:30)
        at pbandk.gen.MainKt.runGenerator(Main.kt:56)
        at pbandk.gen.MainKt.main(Main.kt:10)
        at pbandk.gen.MainKt.main(Main.kt)
        ... 8 more
  Caused by: java.lang.ClassNotFoundException: com.squareup.kotlinpoet.FunSpec
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 12 more
  --pbandk_out: protoc-gen-pbandk: Plugin failed with status code 1.

garyp commented

Can you show your Gradle config for running pbandk?