Now if you have a project that depends on kategory...
# arrow
r
Now if you have a project that depends on kategory and use any of the functions in that file the produced output links in the bytecode directly to that. And if then you exclude Kategory from the list of transitive dependencies manually the compile code can't resolve user provided artifacts because those files are also excluded so it fails with a NoClassDefFound exception
e
@raulraja why are you excluding kategory? What's the use case?
r
ank depends on kategory itself for its implementation and I'm testing the latest kategory with ank to build the kategory docs at runtime so I want it to use my local kategory module. While both are binary compatible there is classloading issues because
ank
tries to resolve classes from
kategory
and it works but the moment a extension function is used it bails because it can't find the uniquely generated class file names because of the counter variable.
e
@raulraja ah, I see... We can change the naming strategy to be dependent on the content instead of the order
That was just a quick implementation I did as an MVP
r
👍 just changed it but I keep running into
e: java.util.ServiceConfigurationError: javax.annotation.processing.Processor: Provider kategory.derive.DerivingProcessor not found
when running from the command line even though it works fine. Have you ran into those kinds of errors before?
e
Hmmm never
It's probably an artefact of how kapt is invoked?
r
when you have a chance can you test if
./gradlew clean build
over
kategory-annotations
gives you the same issue?
e
Have you tried removing all the
build
directories?
r
thought
clean
would do that but I will do a manual pass
same issue, and also from intellij
seems related to not using
kotlin-kapt
vs just
kapt
e
@raulraja so which one works: kapt1 or kapt3?
r
kotlin-kapt
works which was previously commented out
due to a bug that we were waiting to be fixed
e
Huh, interesting!
Normally it's the other way around