Add support for kotlin plugins
Use the already existing hooks used by the compose compiler plugin to support kotlin plugins bundled alongside the compiler such as kotlin-serialize-compiler Test: m, sample app with kotlin-serialize-compiler Change-Id: I4d5fa6cd42acfc90ef437222e9e07f61c259d565
This commit is contained in:
12
java/base.go
12
java/base.go
@@ -116,6 +116,9 @@ type CommonProperties struct {
|
||||
// List of modules to use as annotation processors
|
||||
Plugins []string
|
||||
|
||||
// List of modules to use as kotlin plugin
|
||||
Kotlin_plugins []string
|
||||
|
||||
// List of modules to export to libraries that directly depend on this library as annotation
|
||||
// processors. Note that if the plugins set generates_api: true this will disable the turbine
|
||||
// optimization on modules that depend on this module, which will reduce parallelism and cause
|
||||
@@ -901,6 +904,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
||||
}
|
||||
|
||||
ctx.AddFarVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), pluginTag, j.properties.Plugins...)
|
||||
ctx.AddFarVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), kotlinPluginTag, j.properties.Kotlin_plugins...)
|
||||
ctx.AddFarVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), errorpronePluginTag, j.properties.Errorprone.Extra_check_modules...)
|
||||
ctx.AddFarVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), exportedPluginTag, j.properties.Exported_plugins...)
|
||||
|
||||
@@ -933,7 +937,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
||||
|
||||
if j.useCompose(ctx) {
|
||||
ctx.AddVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), kotlinPluginTag,
|
||||
"androidx.compose.compiler_compiler-hosted")
|
||||
"androidx.compose.compiler_compiler-hosted-plugin")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2519,7 +2523,11 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
||||
ctx.PropertyErrorf("exported_plugins", "%q is not a java_plugin module", otherName)
|
||||
}
|
||||
case kotlinPluginTag:
|
||||
deps.kotlinPlugins = append(deps.kotlinPlugins, dep.ImplementationAndResourcesJars...)
|
||||
if _, ok := module.(*KotlinPlugin); ok {
|
||||
deps.kotlinPlugins = append(deps.kotlinPlugins, dep.ImplementationAndResourcesJars...)
|
||||
} else {
|
||||
ctx.PropertyErrorf("kotlin_plugins", "%q is not a kotlin_plugin module", otherName)
|
||||
}
|
||||
case syspropPublicStubDepTag:
|
||||
// This is a sysprop implementation library, forward the JavaInfoProvider from
|
||||
// the corresponding sysprop public stub library as SyspropPublicStubInfoProvider.
|
||||
|
Reference in New Issue
Block a user