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

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

Merge "Treat kotlin-annotations the same as kotlin-stdlib"

parents beccdcdf 06354474
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -748,10 +748,8 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
		// Kotlin files
		ctx.AddVariationDependencies(nil, kotlinStdlibTag,
			"kotlin-stdlib", "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8")
		if len(j.properties.Plugins) > 0 {
		ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations")
	}
	}

	// Framework libraries need special handling in static coverage builds: they should not have
	// static dependency on jacoco, otherwise there would be multiple conflicting definitions of
@@ -1106,8 +1104,6 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
		flags.classpath = append(flags.classpath, deps.kotlinStdlib...)
		flags.classpath = append(flags.classpath, deps.kotlinAnnotations...)

		flags.dexClasspath = append(flags.dexClasspath, deps.kotlinAnnotations...)

		flags.kotlincClasspath = append(flags.kotlincClasspath, flags.bootClasspath...)
		flags.kotlincClasspath = append(flags.kotlincClasspath, flags.classpath...)

@@ -1139,9 +1135,12 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
		// Jar kotlin classes into the final jar after javac
		if BoolDefault(j.properties.Static_kotlin_stdlib, true) {
			kotlinJars = append(kotlinJars, deps.kotlinStdlib...)
			kotlinJars = append(kotlinJars, deps.kotlinAnnotations...)
			kotlinHeaderJars = append(kotlinHeaderJars, deps.kotlinStdlib...)
			kotlinHeaderJars = append(kotlinHeaderJars, deps.kotlinAnnotations...)
		} else {
			flags.dexClasspath = append(flags.dexClasspath, deps.kotlinStdlib...)
			flags.dexClasspath = append(flags.dexClasspath, deps.kotlinAnnotations...)
		}
	}

+15 −0
Original line number Diff line number Diff line
@@ -42,6 +42,11 @@ func TestKotlin(t *testing.T) {
		}
		`)

	kotlinStdlib := ctx.ModuleForTests("kotlin-stdlib", "android_common").
		Output("turbine-combined/kotlin-stdlib.jar").Output
	kotlinAnnotations := ctx.ModuleForTests("kotlin-annotations", "android_common").
		Output("turbine-combined/kotlin-annotations.jar").Output

	fooKotlinc := ctx.ModuleForTests("foo", "android_common").Rule("kotlinc")
	fooJavac := ctx.ModuleForTests("foo", "android_common").Rule("javac")
	fooJar := ctx.ModuleForTests("foo", "android_common").Output("combined/foo.jar")
@@ -69,6 +74,16 @@ func TestKotlin(t *testing.T) {
			fooJar.Inputs.Strings(), fooKotlincClasses.String())
	}

	if !inList(kotlinStdlib.String(), fooJar.Inputs.Strings()) {
		t.Errorf("foo jar inputs %v does not contain %v",
			fooJar.Inputs.Strings(), kotlinStdlib.String())
	}

	if !inList(kotlinAnnotations.String(), fooJar.Inputs.Strings()) {
		t.Errorf("foo jar inputs %v does not contain %v",
			fooJar.Inputs.Strings(), kotlinAnnotations.String())
	}

	if !inList(fooKotlincHeaderClasses.String(), fooHeaderJar.Inputs.Strings()) {
		t.Errorf("foo header jar inputs %v does not contain %q",
			fooHeaderJar.Inputs.Strings(), fooKotlincHeaderClasses.String())