From 25b9222a43a599cccbce856bb72f4190059a30c8 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Fri, 17 May 2024 22:58:54 +0000 Subject: Revert^2 "Install jni symlinks in Soong" b7646e4d4ff20002c658ab667b4c1892bc3f0f1d This is a relanding of I0930cb1ebb8ca8a6efd64b1ce2cdfd1c47fe19ef plus some forward fix described below: Export non-embedded JNI lib names via LOCAL_REQUIRED_MODULES The non-embedded JNI libs are installed as the dependencies of the APK. However, that dependency is not revealed to the Make world and as a result, the JNI libs are dropped from the file_list.txt file which Make uses to filter files to include in the image file. Adding the lib names to LOCAL_REQUIRED_MODULES fixes it. Bug: 341335305 Bug: 330276359 Test: m out/target/product/vsoc_x86_64_only/obj/PACKAGING/system_intermediates/file_list.txt and check if libcarservicejni.so is there Test: go test ./... under soong/java Change-Id: If915a05909129c92fab7a6cbbd0c4c55f5ced598 --- java/java.go | 1 + 1 file changed, 1 insertion(+) (limited to 'java/java.go') diff --git a/java/java.go b/java/java.go index 0df96a3a5..249480428 100644 --- a/java/java.go +++ b/java/java.go @@ -491,6 +491,7 @@ type jniLib struct { coverageFile android.OptionalPath unstrippedFile android.Path partition string + installPaths android.InstallPaths } func sdkDeps(ctx android.BottomUpMutatorContext, sdkContext android.SdkContext, d dexer) { -- cgit v1.2.3-59-g8ed1b From c1e5b1848a3c3c2434093e6ddc0e7efd40b1b3a1 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Fri, 17 May 2024 22:58:54 +0000 Subject: Revert^2 "Add make java.dependencyTag installable or not" f14b5ba86388b97a482ab02d7c18a07f22e51c5d Change-Id: I0638d4997cb8e5178f869ea0f469a1a5c141611e --- java/java.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'java/java.go') diff --git a/java/java.go b/java/java.go index 249480428..05ef5d04f 100644 --- a/java/java.go +++ b/java/java.go @@ -366,14 +366,14 @@ type dependencyTag struct { toolchain bool static bool + + installable bool } -// 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 +var _ android.InstallNeededDependencyTag = (*dependencyTag)(nil) + +func (d dependencyTag) InstallDepNeeded() bool { + return d.installable } func (d dependencyTag) LicenseAnnotations() []android.LicenseAnnotation { @@ -405,7 +405,7 @@ func makeUsesLibraryDependencyTag(sdkVersion int, optional bool) usesLibraryDepe } func IsJniDepTag(depTag blueprint.DependencyTag) bool { - return depTag == jniLibTag + return depTag == jniLibTag || depTag == jniInstallTag } var ( @@ -434,8 +434,8 @@ var ( javaApiContributionTag = dependencyTag{name: "java-api-contribution"} depApiSrcsTag = dependencyTag{name: "dep-api-srcs"} aconfigDeclarationTag = dependencyTag{name: "aconfig-declaration"} - jniInstallTag = installDependencyTag{name: "jni install"} - binaryInstallTag = installDependencyTag{name: "binary install"} + jniInstallTag = dependencyTag{name: "jni install", runtimeLinked: true, installable: true} + binaryInstallTag = dependencyTag{name: "binary install", runtimeLinked: true, installable: true} usesLibReqTag = makeUsesLibraryDependencyTag(dexpreopt.AnySdkVersion, false) usesLibOptTag = makeUsesLibraryDependencyTag(dexpreopt.AnySdkVersion, true) usesLibCompat28OptTag = makeUsesLibraryDependencyTag(28, true) -- cgit v1.2.3-59-g8ed1b