Merge "Move kotlin stdlib to normal dependency tag" into main
This commit is contained in:
31
java/base.go
31
java/base.go
@@ -875,9 +875,12 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
|||||||
if j.hasSrcExt(".kt") {
|
if j.hasSrcExt(".kt") {
|
||||||
// TODO(ccross): move this to a mutator pass that can tell if generated sources contain
|
// TODO(ccross): move this to a mutator pass that can tell if generated sources contain
|
||||||
// Kotlin files
|
// Kotlin files
|
||||||
ctx.AddVariationDependencies(nil, kotlinStdlibTag,
|
tag := staticLibTag
|
||||||
"kotlin-stdlib", "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8")
|
if !BoolDefault(j.properties.Static_kotlin_stdlib, true) {
|
||||||
ctx.AddVariationDependencies(nil, kotlinAnnotationsTag, "kotlin-annotations")
|
tag = libTag
|
||||||
|
}
|
||||||
|
ctx.AddVariationDependencies(nil, tag,
|
||||||
|
"kotlin-stdlib", "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8", "kotlin-annotations")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Framework libraries need special handling in static coverage builds: they should not have
|
// Framework libraries need special handling in static coverage builds: they should not have
|
||||||
@@ -1211,7 +1214,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
|
|
||||||
var kotlinJars android.Paths
|
var kotlinJars android.Paths
|
||||||
var kotlinHeaderJars android.Paths
|
var kotlinHeaderJars android.Paths
|
||||||
var kotlinExtraJars android.Paths
|
|
||||||
|
|
||||||
// Prepend extraClasspathJars to classpath so that the resource processor R.jar comes before
|
// Prepend extraClasspathJars to classpath so that the resource processor R.jar comes before
|
||||||
// any dependencies so that it can override any non-final R classes from dependencies with the
|
// any dependencies so that it can override any non-final R classes from dependencies with the
|
||||||
@@ -1290,9 +1292,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
// Collect common .kt files for AIDEGen
|
// Collect common .kt files for AIDEGen
|
||||||
j.expandIDEInfoCompiledSrcs = append(j.expandIDEInfoCompiledSrcs, kotlinCommonSrcFiles.Strings()...)
|
j.expandIDEInfoCompiledSrcs = append(j.expandIDEInfoCompiledSrcs, kotlinCommonSrcFiles.Strings()...)
|
||||||
|
|
||||||
flags.classpath = append(flags.classpath, deps.kotlinStdlib...)
|
|
||||||
flags.classpath = append(flags.classpath, deps.kotlinAnnotations...)
|
|
||||||
|
|
||||||
flags.kotlincClasspath = append(flags.kotlincClasspath, flags.bootClasspath...)
|
flags.kotlincClasspath = append(flags.kotlincClasspath, flags.bootClasspath...)
|
||||||
flags.kotlincClasspath = append(flags.kotlincClasspath, flags.classpath...)
|
flags.kotlincClasspath = append(flags.kotlincClasspath, flags.classpath...)
|
||||||
|
|
||||||
@@ -1322,8 +1321,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
|
|
||||||
kotlinJars = append(kotlinJars, kotlinJarPath)
|
kotlinJars = append(kotlinJars, kotlinJarPath)
|
||||||
kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar)
|
kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar)
|
||||||
kotlinExtraJars = append(kotlinExtraJars, deps.kotlinStdlib...)
|
|
||||||
kotlinExtraJars = append(kotlinExtraJars, deps.kotlinAnnotations...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
jars := slices.Clone(kotlinJars)
|
jars := slices.Clone(kotlinJars)
|
||||||
@@ -1342,9 +1339,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
// with sharding enabled. See: b/77284273.
|
// with sharding enabled. See: b/77284273.
|
||||||
}
|
}
|
||||||
extraJars := slices.Clone(kotlinHeaderJars)
|
extraJars := slices.Clone(kotlinHeaderJars)
|
||||||
if BoolDefault(j.properties.Static_kotlin_stdlib, true) {
|
|
||||||
extraJars = append(extraJars, kotlinExtraJars...)
|
|
||||||
}
|
|
||||||
extraJars = append(extraJars, extraCombinedJars...)
|
extraJars = append(extraJars, extraCombinedJars...)
|
||||||
var combinedHeaderJarFile android.Path
|
var combinedHeaderJarFile android.Path
|
||||||
headerJarFileWithoutDepsOrJarjar, combinedHeaderJarFile =
|
headerJarFileWithoutDepsOrJarjar, combinedHeaderJarFile =
|
||||||
@@ -1423,13 +1417,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Jar kotlin classes into the final jar after javac
|
|
||||||
if BoolDefault(j.properties.Static_kotlin_stdlib, true) {
|
|
||||||
jars = append(jars, kotlinExtraJars...)
|
|
||||||
} else {
|
|
||||||
flags.dexClasspath = append(flags.dexClasspath, kotlinExtraJars...)
|
|
||||||
}
|
|
||||||
|
|
||||||
jars = append(jars, extraCombinedJars...)
|
jars = append(jars, extraCombinedJars...)
|
||||||
|
|
||||||
j.srcJarArgs, j.srcJarDeps = resourcePathsToJarArgs(srcFiles), srcFiles
|
j.srcJarArgs, j.srcJarDeps = resourcePathsToJarArgs(srcFiles), srcFiles
|
||||||
@@ -2343,10 +2330,6 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
|||||||
} else {
|
} else {
|
||||||
ctx.PropertyErrorf("exported_plugins", "%q is not a java_plugin module", otherName)
|
ctx.PropertyErrorf("exported_plugins", "%q is not a java_plugin module", otherName)
|
||||||
}
|
}
|
||||||
case kotlinStdlibTag:
|
|
||||||
deps.kotlinStdlib = append(deps.kotlinStdlib, dep.HeaderJars...)
|
|
||||||
case kotlinAnnotationsTag:
|
|
||||||
deps.kotlinAnnotations = dep.HeaderJars
|
|
||||||
case kotlinPluginTag:
|
case kotlinPluginTag:
|
||||||
deps.kotlinPlugins = append(deps.kotlinPlugins, dep.ImplementationAndResourcesJars...)
|
deps.kotlinPlugins = append(deps.kotlinPlugins, dep.ImplementationAndResourcesJars...)
|
||||||
case syspropPublicStubDepTag:
|
case syspropPublicStubDepTag:
|
||||||
@@ -2570,8 +2553,6 @@ func collectDirectDepsProviders(ctx android.ModuleContext) (result *JarJarProvid
|
|||||||
return RenameUseInclude, "tagswitch"
|
return RenameUseInclude, "tagswitch"
|
||||||
case exportedPluginTag:
|
case exportedPluginTag:
|
||||||
return RenameUseInclude, "tagswitch"
|
return RenameUseInclude, "tagswitch"
|
||||||
case kotlinStdlibTag, kotlinAnnotationsTag:
|
|
||||||
return RenameUseExclude, "tagswitch"
|
|
||||||
case kotlinPluginTag:
|
case kotlinPluginTag:
|
||||||
return RenameUseInclude, "tagswitch"
|
return RenameUseInclude, "tagswitch"
|
||||||
default:
|
default:
|
||||||
|
@@ -421,8 +421,6 @@ var (
|
|||||||
bootClasspathTag = dependencyTag{name: "bootclasspath", runtimeLinked: true}
|
bootClasspathTag = dependencyTag{name: "bootclasspath", runtimeLinked: true}
|
||||||
systemModulesTag = dependencyTag{name: "system modules", runtimeLinked: true}
|
systemModulesTag = dependencyTag{name: "system modules", runtimeLinked: true}
|
||||||
frameworkResTag = dependencyTag{name: "framework-res"}
|
frameworkResTag = dependencyTag{name: "framework-res"}
|
||||||
kotlinStdlibTag = dependencyTag{name: "kotlin-stdlib", runtimeLinked: true}
|
|
||||||
kotlinAnnotationsTag = dependencyTag{name: "kotlin-annotations", runtimeLinked: true}
|
|
||||||
kotlinPluginTag = dependencyTag{name: "kotlin-plugin", toolchain: true}
|
kotlinPluginTag = dependencyTag{name: "kotlin-plugin", toolchain: true}
|
||||||
proguardRaiseTag = dependencyTag{name: "proguard-raise"}
|
proguardRaiseTag = dependencyTag{name: "proguard-raise"}
|
||||||
certificateTag = dependencyTag{name: "certificate"}
|
certificateTag = dependencyTag{name: "certificate"}
|
||||||
@@ -458,8 +456,6 @@ var (
|
|||||||
bootClasspathTag,
|
bootClasspathTag,
|
||||||
systemModulesTag,
|
systemModulesTag,
|
||||||
java9LibTag,
|
java9LibTag,
|
||||||
kotlinStdlibTag,
|
|
||||||
kotlinAnnotationsTag,
|
|
||||||
kotlinPluginTag,
|
kotlinPluginTag,
|
||||||
syspropPublicStubDepTag,
|
syspropPublicStubDepTag,
|
||||||
instrumentationForTag,
|
instrumentationForTag,
|
||||||
@@ -568,8 +564,6 @@ type deps struct {
|
|||||||
srcJars android.Paths
|
srcJars android.Paths
|
||||||
systemModules *systemModules
|
systemModules *systemModules
|
||||||
aidlPreprocess android.OptionalPath
|
aidlPreprocess android.OptionalPath
|
||||||
kotlinStdlib android.Paths
|
|
||||||
kotlinAnnotations android.Paths
|
|
||||||
kotlinPlugins android.Paths
|
kotlinPlugins android.Paths
|
||||||
aconfigProtoFiles android.Paths
|
aconfigProtoFiles android.Paths
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
package java
|
package java
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -23,10 +24,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestKotlin(t *testing.T) {
|
func TestKotlin(t *testing.T) {
|
||||||
ctx, _ := testJava(t, `
|
bp := `
|
||||||
java_library {
|
java_library {
|
||||||
name: "foo",
|
name: "foo",
|
||||||
srcs: ["a.java", "b.kt"],
|
srcs: ["a.java", "b.kt"],
|
||||||
|
static_libs: ["quz"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_library {
|
java_library {
|
||||||
@@ -39,85 +41,156 @@ func TestKotlin(t *testing.T) {
|
|||||||
java_library {
|
java_library {
|
||||||
name: "baz",
|
name: "baz",
|
||||||
srcs: ["c.java"],
|
srcs: ["c.java"],
|
||||||
}
|
static_libs: ["quz"],
|
||||||
`)
|
|
||||||
|
|
||||||
kotlinStdlib := ctx.ModuleForTests("kotlin-stdlib", "android_common").
|
|
||||||
Output("turbine-combined/kotlin-stdlib.jar").Output
|
|
||||||
kotlinStdlibJdk7 := ctx.ModuleForTests("kotlin-stdlib-jdk7", "android_common").
|
|
||||||
Output("turbine-combined/kotlin-stdlib-jdk7.jar").Output
|
|
||||||
kotlinStdlibJdk8 := ctx.ModuleForTests("kotlin-stdlib-jdk8", "android_common").
|
|
||||||
Output("turbine-combined/kotlin-stdlib-jdk8.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")
|
|
||||||
fooHeaderJar := ctx.ModuleForTests("foo", "android_common").Output("turbine-combined/foo.jar")
|
|
||||||
|
|
||||||
fooKotlincClasses := fooKotlinc.Output
|
|
||||||
fooKotlincHeaderClasses := fooKotlinc.ImplicitOutput
|
|
||||||
|
|
||||||
if len(fooKotlinc.Inputs) != 2 || fooKotlinc.Inputs[0].String() != "a.java" ||
|
|
||||||
fooKotlinc.Inputs[1].String() != "b.kt" {
|
|
||||||
t.Errorf(`foo kotlinc inputs %v != ["a.java", "b.kt"]`, fooKotlinc.Inputs)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(fooJavac.Inputs) != 1 || fooJavac.Inputs[0].String() != "a.java" {
|
java_library {
|
||||||
t.Errorf(`foo inputs %v != ["a.java"]`, fooJavac.Inputs)
|
name: "quz",
|
||||||
|
srcs: ["d.kt"],
|
||||||
|
}`
|
||||||
|
|
||||||
|
kotlinStdlibTurbineCombinedJars := []string{
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-stdlib/android_common/turbine-combined/kotlin-stdlib.jar",
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-stdlib-jdk7/android_common/turbine-combined/kotlin-stdlib-jdk7.jar",
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-stdlib-jdk8/android_common/turbine-combined/kotlin-stdlib-jdk8.jar",
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-annotations/android_common/turbine-combined/kotlin-annotations.jar",
|
||||||
}
|
}
|
||||||
|
|
||||||
if !strings.Contains(fooJavac.Args["classpath"], fooKotlincHeaderClasses.String()) {
|
kotlinStdlibJavacJars := []string{
|
||||||
t.Errorf("foo classpath %v does not contain %q",
|
"out/soong/.intermediates/default/java/kotlin-stdlib/android_common/javac/kotlin-stdlib.jar",
|
||||||
fooJavac.Args["classpath"], fooKotlincHeaderClasses.String())
|
"out/soong/.intermediates/default/java/kotlin-stdlib-jdk7/android_common/javac/kotlin-stdlib-jdk7.jar",
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-stdlib-jdk8/android_common/javac/kotlin-stdlib-jdk8.jar",
|
||||||
|
"out/soong/.intermediates/default/java/kotlin-annotations/android_common/javac/kotlin-annotations.jar",
|
||||||
}
|
}
|
||||||
|
|
||||||
if !inList(fooKotlincClasses.String(), fooJar.Inputs.Strings()) {
|
bootclasspathTurbineCombinedJars := []string{
|
||||||
t.Errorf("foo jar inputs %v does not contain %q",
|
"out/soong/.intermediates/default/java/stable.core.platform.api.stubs/android_common/turbine-combined/stable.core.platform.api.stubs.jar",
|
||||||
fooJar.Inputs.Strings(), fooKotlincClasses.String())
|
"out/soong/.intermediates/default/java/core-lambda-stubs/android_common/turbine-combined/core-lambda-stubs.jar",
|
||||||
}
|
}
|
||||||
|
|
||||||
if !inList(kotlinStdlib.String(), fooJar.Inputs.Strings()) {
|
frameworkTurbineCombinedJars := []string{
|
||||||
t.Errorf("foo jar inputs %v does not contain %v",
|
"out/soong/.intermediates/default/java/ext/android_common/turbine-combined/ext.jar",
|
||||||
fooJar.Inputs.Strings(), kotlinStdlib.String())
|
"out/soong/.intermediates/default/java/framework/android_common/turbine-combined/framework.jar",
|
||||||
}
|
}
|
||||||
|
|
||||||
if !inList(kotlinStdlibJdk7.String(), fooJar.Inputs.Strings()) {
|
testCases := []struct {
|
||||||
t.Errorf("foo jar inputs %v does not contain %v",
|
name string
|
||||||
fooJar.Inputs.Strings(), kotlinStdlibJdk7.String())
|
|
||||||
|
preparer android.FixturePreparer
|
||||||
|
|
||||||
|
fooKotlincInputs []string
|
||||||
|
fooJavacInputs []string
|
||||||
|
fooKotlincClasspath []string
|
||||||
|
fooJavacClasspath []string
|
||||||
|
fooCombinedInputs []string
|
||||||
|
fooHeaderCombinedInputs []string
|
||||||
|
|
||||||
|
barKotlincInputs []string
|
||||||
|
barKotlincClasspath []string
|
||||||
|
barCombinedInputs []string
|
||||||
|
barHeaderCombinedInputs []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "normal",
|
||||||
|
preparer: android.NullFixturePreparer,
|
||||||
|
fooKotlincInputs: []string{"a.java", "b.kt"},
|
||||||
|
fooJavacInputs: []string{"a.java"},
|
||||||
|
fooKotlincClasspath: slices.Concat(
|
||||||
|
bootclasspathTurbineCombinedJars,
|
||||||
|
frameworkTurbineCombinedJars,
|
||||||
|
[]string{"out/soong/.intermediates/quz/android_common/turbine-combined/quz.jar"},
|
||||||
|
kotlinStdlibTurbineCombinedJars,
|
||||||
|
),
|
||||||
|
fooJavacClasspath: slices.Concat(
|
||||||
|
[]string{"out/soong/.intermediates/foo/android_common/kotlin_headers/foo.jar"},
|
||||||
|
frameworkTurbineCombinedJars,
|
||||||
|
[]string{"out/soong/.intermediates/quz/android_common/turbine-combined/quz.jar"},
|
||||||
|
kotlinStdlibTurbineCombinedJars,
|
||||||
|
),
|
||||||
|
fooCombinedInputs: slices.Concat(
|
||||||
|
[]string{
|
||||||
|
"out/soong/.intermediates/foo/android_common/kotlin/foo.jar",
|
||||||
|
"out/soong/.intermediates/foo/android_common/javac/foo.jar",
|
||||||
|
"out/soong/.intermediates/quz/android_common/combined/quz.jar",
|
||||||
|
},
|
||||||
|
kotlinStdlibJavacJars,
|
||||||
|
),
|
||||||
|
fooHeaderCombinedInputs: slices.Concat(
|
||||||
|
[]string{
|
||||||
|
"out/soong/.intermediates/foo/android_common/turbine/foo.jar",
|
||||||
|
"out/soong/.intermediates/foo/android_common/kotlin_headers/foo.jar",
|
||||||
|
"out/soong/.intermediates/quz/android_common/turbine-combined/quz.jar",
|
||||||
|
},
|
||||||
|
kotlinStdlibTurbineCombinedJars,
|
||||||
|
),
|
||||||
|
|
||||||
|
barKotlincInputs: []string{"b.kt"},
|
||||||
|
barKotlincClasspath: slices.Concat(
|
||||||
|
bootclasspathTurbineCombinedJars,
|
||||||
|
frameworkTurbineCombinedJars,
|
||||||
|
[]string{
|
||||||
|
"out/soong/.intermediates/foo/android_common/turbine-combined/foo.jar",
|
||||||
|
"out/soong/.intermediates/baz/android_common/turbine-combined/baz.jar",
|
||||||
|
},
|
||||||
|
kotlinStdlibTurbineCombinedJars,
|
||||||
|
),
|
||||||
|
barCombinedInputs: slices.Concat(
|
||||||
|
[]string{
|
||||||
|
"out/soong/.intermediates/bar/android_common/kotlin/bar.jar",
|
||||||
|
"out/soong/.intermediates/baz/android_common/combined/baz.jar",
|
||||||
|
},
|
||||||
|
kotlinStdlibJavacJars,
|
||||||
|
[]string{},
|
||||||
|
),
|
||||||
|
barHeaderCombinedInputs: slices.Concat(
|
||||||
|
[]string{
|
||||||
|
"out/soong/.intermediates/bar/android_common/kotlin_headers/bar.jar",
|
||||||
|
"out/soong/.intermediates/baz/android_common/turbine-combined/baz.jar",
|
||||||
|
},
|
||||||
|
kotlinStdlibTurbineCombinedJars,
|
||||||
|
),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if !inList(kotlinStdlibJdk8.String(), fooJar.Inputs.Strings()) {
|
for _, tt := range testCases {
|
||||||
t.Errorf("foo jar inputs %v does not contain %v",
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
fooJar.Inputs.Strings(), kotlinStdlibJdk8.String())
|
result := android.GroupFixturePreparers(
|
||||||
}
|
PrepareForTestWithJavaDefaultModules,
|
||||||
|
tt.preparer,
|
||||||
|
).RunTestWithBp(t, bp)
|
||||||
|
foo := result.ModuleForTests("foo", "android_common")
|
||||||
|
fooKotlinc := foo.Rule("kotlinc")
|
||||||
|
android.AssertPathsRelativeToTopEquals(t, "foo kotlinc inputs", tt.fooKotlincInputs, fooKotlinc.Inputs)
|
||||||
|
|
||||||
if !inList(kotlinAnnotations.String(), fooJar.Inputs.Strings()) {
|
fooKotlincClasspath := android.ContentFromFileRuleForTests(t, result.TestContext, foo.Output("kotlinc/classpath.rsp"))
|
||||||
t.Errorf("foo jar inputs %v does not contain %v",
|
android.AssertStringPathsRelativeToTopEquals(t, "foo kotlinc classpath", result.Config, tt.fooKotlincClasspath, strings.Fields(fooKotlincClasspath))
|
||||||
fooJar.Inputs.Strings(), kotlinAnnotations.String())
|
|
||||||
}
|
|
||||||
|
|
||||||
if !inList(fooKotlincHeaderClasses.String(), fooHeaderJar.Inputs.Strings()) {
|
fooJavac := foo.Rule("javac")
|
||||||
t.Errorf("foo header jar inputs %v does not contain %q",
|
android.AssertPathsRelativeToTopEquals(t, "foo javac inputs", tt.fooJavacInputs, fooJavac.Inputs)
|
||||||
fooHeaderJar.Inputs.Strings(), fooKotlincHeaderClasses.String())
|
|
||||||
}
|
|
||||||
|
|
||||||
bazHeaderJar := ctx.ModuleForTests("baz", "android_common").Output("turbine-combined/baz.jar")
|
fooJavacClasspath := fooJavac.Args["classpath"]
|
||||||
barKotlinc := ctx.ModuleForTests("bar", "android_common").Rule("kotlinc")
|
android.AssertStringPathsRelativeToTopEquals(t, "foo javac classpath", result.Config, tt.fooJavacClasspath,
|
||||||
|
strings.Split(strings.TrimPrefix(fooJavacClasspath, "-classpath "), ":"))
|
||||||
|
|
||||||
if len(barKotlinc.Inputs) != 1 || barKotlinc.Inputs[0].String() != "b.kt" {
|
fooCombinedJar := foo.Output("combined/foo.jar")
|
||||||
t.Errorf(`bar kotlinc inputs %v != ["b.kt"]`, barKotlinc.Inputs)
|
android.AssertPathsRelativeToTopEquals(t, "foo combined inputs", tt.fooCombinedInputs, fooCombinedJar.Inputs)
|
||||||
}
|
|
||||||
|
|
||||||
if !inList(fooHeaderJar.Output.String(), barKotlinc.Implicits.Strings()) {
|
fooCombinedHeaderJar := foo.Output("turbine-combined/foo.jar")
|
||||||
t.Errorf(`expected %q in bar implicits %v`,
|
android.AssertPathsRelativeToTopEquals(t, "foo header combined inputs", tt.fooHeaderCombinedInputs, fooCombinedHeaderJar.Inputs)
|
||||||
fooHeaderJar.Output.String(), barKotlinc.Implicits.Strings())
|
|
||||||
}
|
|
||||||
|
|
||||||
if !inList(bazHeaderJar.Output.String(), barKotlinc.Implicits.Strings()) {
|
bar := result.ModuleForTests("bar", "android_common")
|
||||||
t.Errorf(`expected %q in bar implicits %v`,
|
barKotlinc := bar.Rule("kotlinc")
|
||||||
bazHeaderJar.Output.String(), barKotlinc.Implicits.Strings())
|
android.AssertPathsRelativeToTopEquals(t, "bar kotlinc inputs", tt.barKotlincInputs, barKotlinc.Inputs)
|
||||||
|
|
||||||
|
barKotlincClasspath := android.ContentFromFileRuleForTests(t, result.TestContext, bar.Output("kotlinc/classpath.rsp"))
|
||||||
|
android.AssertStringPathsRelativeToTopEquals(t, "bar kotlinc classpath", result.Config, tt.barKotlincClasspath, strings.Fields(barKotlincClasspath))
|
||||||
|
|
||||||
|
barCombinedJar := bar.Output("combined/bar.jar")
|
||||||
|
android.AssertPathsRelativeToTopEquals(t, "bar combined inputs", tt.barCombinedInputs, barCombinedJar.Inputs)
|
||||||
|
|
||||||
|
barCombinedHeaderJar := bar.Output("turbine-combined/bar.jar")
|
||||||
|
android.AssertPathsRelativeToTopEquals(t, "bar header combined inputs", tt.barHeaderCombinedInputs, barCombinedHeaderJar.Inputs)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user