Merge "Repeat kapt processor argument for multiple processors"
This commit is contained in:
commit
52c0b7b35b
|
@ -196,7 +196,7 @@ type javaBuilderFlags struct {
|
|||
classpath classpath
|
||||
java9Classpath classpath
|
||||
processorPath classpath
|
||||
processor string
|
||||
processors []string
|
||||
systemModules *systemModules
|
||||
aidlFlags string
|
||||
aidlDeps android.Paths
|
||||
|
@ -270,8 +270,8 @@ func emitXrefRule(ctx android.ModuleContext, xrefFile android.WritablePath, idx
|
|||
deps = append(deps, flags.processorPath...)
|
||||
|
||||
processor := "-proc:none"
|
||||
if flags.processor != "" {
|
||||
processor = "-processor " + flags.processor
|
||||
if len(flags.processors) > 0 {
|
||||
processor = "-processor " + strings.Join(flags.processors, ",")
|
||||
}
|
||||
|
||||
intermediatesDir := "xref"
|
||||
|
@ -385,8 +385,8 @@ func transformJavaToClasses(ctx android.ModuleContext, outputFile android.Writab
|
|||
deps = append(deps, flags.processorPath...)
|
||||
|
||||
processor := "-proc:none"
|
||||
if flags.processor != "" {
|
||||
processor = "-processor " + flags.processor
|
||||
if len(flags.processors) > 0 {
|
||||
processor = "-processor " + strings.Join(flags.processors, ",")
|
||||
}
|
||||
|
||||
srcJarDir := "srcjars"
|
||||
|
|
|
@ -1134,7 +1134,8 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB
|
|||
flags.java9Classpath = append(flags.java9Classpath, deps.java9Classpath...)
|
||||
flags.processorPath = append(flags.processorPath, deps.processorPath...)
|
||||
|
||||
flags.processor = strings.Join(deps.processorClasses, ",")
|
||||
flags.processors = append(flags.processors, deps.processorClasses...)
|
||||
flags.processors = android.FirstUniqueStrings(flags.processors)
|
||||
|
||||
if len(flags.bootClasspath) == 0 && ctx.Host() && !flags.javaVersion.usesJavaModules() &&
|
||||
decodeSdkDep(ctx, sdkContext(j)).hasStandardLibs() {
|
||||
|
@ -1269,7 +1270,7 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
|
|||
srcJars = append(srcJars, kaptSrcJar)
|
||||
// Disable annotation processing in javac, it's already been handled by kapt
|
||||
flags.processorPath = nil
|
||||
flags.processor = ""
|
||||
flags.processors = nil
|
||||
}
|
||||
|
||||
kotlinJar := android.PathForModuleOut(ctx, "kotlin", jarName)
|
||||
|
|
|
@ -136,8 +136,11 @@ func kotlinKapt(ctx android.ModuleContext, outputFile android.WritablePath,
|
|||
kaptProcessorPath := flags.processorPath.FormRepeatedClassPath("-P plugin:org.jetbrains.kotlin.kapt3:apclasspath=")
|
||||
|
||||
kaptProcessor := ""
|
||||
if flags.processor != "" {
|
||||
kaptProcessor = "-P plugin:org.jetbrains.kotlin.kapt3:processors=" + flags.processor
|
||||
for i, p := range flags.processors {
|
||||
if i > 0 {
|
||||
kaptProcessor += " "
|
||||
}
|
||||
kaptProcessor += "-P plugin:org.jetbrains.kotlin.kapt3:processors=" + p
|
||||
}
|
||||
|
||||
encodedJavacFlags := kaptEncodeFlags([][2]string{
|
||||
|
|
|
@ -88,7 +88,7 @@ func TestKapt(t *testing.T) {
|
|||
java_library {
|
||||
name: "foo",
|
||||
srcs: ["a.java", "b.kt"],
|
||||
plugins: ["bar"],
|
||||
plugins: ["bar", "baz"],
|
||||
}
|
||||
|
||||
java_plugin {
|
||||
|
@ -96,6 +96,12 @@ func TestKapt(t *testing.T) {
|
|||
processor_class: "com.bar",
|
||||
srcs: ["b.java"],
|
||||
}
|
||||
|
||||
java_plugin {
|
||||
name: "baz",
|
||||
processor_class: "com.baz",
|
||||
srcs: ["b.java"],
|
||||
}
|
||||
`)
|
||||
|
||||
buildOS := android.BuildOs.String()
|
||||
|
@ -105,6 +111,7 @@ func TestKapt(t *testing.T) {
|
|||
javac := ctx.ModuleForTests("foo", "android_common").Rule("javac")
|
||||
|
||||
bar := ctx.ModuleForTests("bar", buildOS+"_common").Rule("javac").Output.String()
|
||||
baz := ctx.ModuleForTests("baz", buildOS+"_common").Rule("javac").Output.String()
|
||||
|
||||
// Test that the kotlin and java sources are passed to kapt and kotlinc
|
||||
if len(kapt.Inputs) != 2 || kapt.Inputs[0].String() != "a.java" || kapt.Inputs[1].String() != "b.kt" {
|
||||
|
@ -136,11 +143,12 @@ func TestKapt(t *testing.T) {
|
|||
}
|
||||
|
||||
// Test that the processors are passed to kapt
|
||||
expectedProcessorPath := "-P plugin:org.jetbrains.kotlin.kapt3:apclasspath=" + bar
|
||||
expectedProcessorPath := "-P plugin:org.jetbrains.kotlin.kapt3:apclasspath=" + bar +
|
||||
" -P plugin:org.jetbrains.kotlin.kapt3:apclasspath=" + baz
|
||||
if kapt.Args["kaptProcessorPath"] != expectedProcessorPath {
|
||||
t.Errorf("expected kaptProcessorPath %q, got %q", expectedProcessorPath, kapt.Args["kaptProcessorPath"])
|
||||
}
|
||||
expectedProcessor := "-P plugin:org.jetbrains.kotlin.kapt3:processors=com.bar"
|
||||
expectedProcessor := "-P plugin:org.jetbrains.kotlin.kapt3:processors=com.bar -P plugin:org.jetbrains.kotlin.kapt3:processors=com.baz"
|
||||
if kapt.Args["kaptProcessor"] != expectedProcessor {
|
||||
t.Errorf("expected kaptProcessor %q, got %q", expectedProcessor, kapt.Args["kaptProcessor"])
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue