diff options
author | Colin Cross <ccross@android.com> | 2020-11-16 23:11:10 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-11-16 23:11:10 +0000 |
commit | f15c0558bfdd87b2b04f6f074142bd9b35ee1011 (patch) | |
tree | 3cffc766909404fcfdd1717adf6e982537f1e44b /java/java.go | |
parent | bc1f77e59017ee55fbdaff0d0d8f5cd82d85b47d (diff) | |
parent | 62a0cfd05460d0e760ce9133690e48861bb57eee (diff) |
Merge changes Ic22603a5,I5330b571
* changes:
Annotate dependency tags for dependencies of installed files
Use the the preferred architecture symlink as the tool path if it exists
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/java/java.go b/java/java.go index d6dc148a6..d04968510 100644 --- a/java/java.go +++ b/java/java.go @@ -547,6 +547,14 @@ type dependencyTag struct { name string } +// installDependencyTag is a dependency tag that is annotated to cause the installed files of the +// dependency to be installed when the parent module is installed. +type installDependencyTag struct { + blueprint.BaseDependencyTag + android.InstallAlwaysNeededDependencyTag + name string +} + type usesLibraryDependencyTag struct { dependencyTag sdkVersion int // SDK version in which the library appared as a standalone library. @@ -580,6 +588,8 @@ var ( instrumentationForTag = dependencyTag{name: "instrumentation_for"} extraLintCheckTag = dependencyTag{name: "extra-lint-check"} jniLibTag = dependencyTag{name: "jnilib"} + jniInstallTag = installDependencyTag{name: "jni install"} + binaryInstallTag = installDependencyTag{name: "binary install"} usesLibTag = makeUsesLibraryDependencyTag(dexpreopt.AnySdkVersion) usesLibCompat28Tag = makeUsesLibraryDependencyTag(28) usesLibCompat29Tag = makeUsesLibraryDependencyTag(29) @@ -2550,9 +2560,12 @@ func (j *Binary) DepsMutator(ctx android.BottomUpMutatorContext) { if ctx.Arch().ArchType == android.Common { j.deps(ctx) } else { - // This dependency ensures the host installation rules will install the jni libraries - // when the wrapper is installed. - ctx.AddVariationDependencies(nil, jniLibTag, j.binaryProperties.Jni_libs...) + // These dependencies ensure the host installation rules will install the jar file and + // the jni libraries when the wrapper is installed. + ctx.AddVariationDependencies(nil, jniInstallTag, j.binaryProperties.Jni_libs...) + ctx.AddVariationDependencies( + []blueprint.Variation{{Mutator: "arch", Variation: android.CommonArch.String()}}, + binaryInstallTag, ctx.ModuleName()) } } |