Alessandro Carnevale
05/25/2023, 10:34 AMSymbolProcessor , but unfortunately when applying it from an android application project the processor provider couldn’t be loaded.
More details about my configuration.
I have 2 projects: lib (android ksp library) and sample (android application).
lib apply com.android.library plugin and register a processor provider inside the canonical file com.google.devtools.ksp.processing.SymbolProcessorProvider under resources/META-INF.services .
I publish the lib in a local maven repo using gradle publish plugin configured with
android {
publishing {
singleVariant("release") {
withJavadocJar()
withSourcesJar()
}
}
}
...
publishing {
publications {
register<MavenPublication>("release") {
groupId = "foo.bar"
artifactId = "tar"
version = "1.0"
afterEvaluate {
from(components["release"])
}
...
sample consumes it as usual
implementation("foo.bar:tar:1.0")
ksp("foo.bar:tar:1.0")
When launching kspReleaseKotlin or kspDebugKotlin task, this error arises:
e: [ksp] No providers found in processor classpath.
indeed in the jar published in my local maven repository, the file com.google.devtools.ksp.processing.SymbolProcessorProvider is not present.
If I transform lib as a jvm library, everything works right - and the com.google.devtools.ksp.processing.SymbolProcessorProvider is present in the published jar file.
How can I correctly ship the com.google.devtools.ksp.processing.SymbolProcessorProvider inside my lib android library? Or there is another way to define which processor provider ksp must use, and get rid of that file?ephemient
05/25/2023, 10:47 AM