Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52c0b7b3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Repeat kapt processor argument for multiple processors"

parents dc455395 5a11686e
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -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"
+3 −2
Original line number Diff line number Diff line
@@ -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)
+5 −2
Original line number Diff line number Diff line
@@ -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{
+11 −3
Original line number Diff line number Diff line
@@ -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"])
	}