From de78d138a152f6aac7e45968ffbe30c28da16fb0 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 9 Oct 2020 18:59:49 -0700 Subject: [PATCH] Replace jniDependencyTag with a value Support GetDirectDepsWithTag on JNI deps by replacing the jniDependencyTag type with a jniLibTag value. Test: app_test.go Change-Id: I8d66a5d3f433562e131a1fbafce75891d1b094dd --- java/app.go | 3 +-- java/java.go | 10 +++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/java/app.go b/java/app.go index c25835c41..76b3598ad 100755 --- a/java/app.go +++ b/java/app.go @@ -379,7 +379,6 @@ func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) { "can only be set for modules that set sdk_version") } - tag := &jniDependencyTag{} for _, jniTarget := range ctx.MultiTargets() { variation := append(jniTarget.Variations(), blueprint.Variation{Mutator: "link", Variation: "shared"}) @@ -393,7 +392,7 @@ func (a *AndroidApp) DepsMutator(ctx android.BottomUpMutatorContext) { Bool(a.appProperties.Jni_uses_sdk_apis) { variation = append(variation, blueprint.Variation{Mutator: "sdk", Variation: "sdk"}) } - ctx.AddFarVariationDependencies(variation, tag, a.appProperties.Jni_libs...) + ctx.AddFarVariationDependencies(variation, jniLibTag, a.appProperties.Jni_libs...) } a.usesLibrary.deps(ctx, sdkDep.hasFrameworkLibs()) diff --git a/java/java.go b/java/java.go index 2553a30bd..b06e604a9 100644 --- a/java/java.go +++ b/java/java.go @@ -547,13 +547,8 @@ type dependencyTag struct { name string } -type jniDependencyTag struct { - blueprint.BaseDependencyTag -} - func IsJniDepTag(depTag blueprint.DependencyTag) bool { - _, ok := depTag.(*jniDependencyTag) - return ok + return depTag == jniLibTag } var ( @@ -573,6 +568,7 @@ var ( instrumentationForTag = dependencyTag{name: "instrumentation_for"} usesLibTag = dependencyTag{name: "uses-library"} extraLintCheckTag = dependencyTag{name: "extra-lint-check"} + jniLibTag = dependencyTag{name: "jnilib"} ) func IsLibDepTag(depTag blueprint.DependencyTag) bool { @@ -1001,7 +997,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { otherName := ctx.OtherModuleName(module) tag := ctx.OtherModuleDependencyTag(module) - if _, ok := tag.(*jniDependencyTag); ok { + if IsJniDepTag(tag) { // Handled by AndroidApp.collectAppDeps return }