diff options
author | 2024-04-05 00:36:44 +0000 | |
---|---|---|
committer | 2024-05-08 17:46:31 +0000 | |
commit | a3a05460b478ed59c527dec1c8b2efa61ce9c53c (patch) | |
tree | 2211be9cc3edca98e2b9b1b368687ddada164661 /java/hiddenapi_singleton_test.go | |
parent | 248cc0072c71de6b778b82d9ebe4c7fb6bf82bdc (diff) |
Revert^2 "Remove compilation actions from java sdk library"
This change modifies the build actions of java_sdk_library module type
so that it does not perform any compilation actions (i.e. does not
create the top level java_sdk_library jar file). Instead, it delegates
the build actions the top level jar file was performing to the
dynamically created ".impl"-suffixed java library module. The build
actions that are delegated to the impl library module include hiddenapi
processing, dexing, and dexpreopt.
This change relands https://r.android.com/3035972. Implementation
changes from the original change:
- "all_apex_contributions" is added as a dependecy to the implementation
library modules where the parent sdk_library module has a prebuilt
equivalent. This allows the source apex variant to be hidden from make
when the prebuilt is active.
Test: patch in internal main, lunch barbet-ap2a-userdebug && m nothing
Test: m nothing --no-skip-soong-tests
Bug: 332785297
Change-Id: I017938e5567aef82e428e7ceb557d9c9090e0257
Diffstat (limited to 'java/hiddenapi_singleton_test.go')
-rw-r--r-- | java/hiddenapi_singleton_test.go | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/java/hiddenapi_singleton_test.go b/java/hiddenapi_singleton_test.go index c1fee2184..330013ee4 100644 --- a/java/hiddenapi_singleton_test.go +++ b/java/hiddenapi_singleton_test.go @@ -303,7 +303,7 @@ func TestHiddenAPIEncoding_JavaSdkLibrary(t *testing.T) { `) checkDexEncoded := func(t *testing.T, name, unencodedDexJar, encodedDexJar string) { - moduleForTests := result.ModuleForTests(name, "android_common") + moduleForTests := result.ModuleForTests(name+".impl", "android_common") encodeDexRule := moduleForTests.Rule("hiddenAPIEncodeDex") actualUnencodedDexJar := encodeDexRule.Input @@ -319,18 +319,8 @@ func TestHiddenAPIEncoding_JavaSdkLibrary(t *testing.T) { // The java_library embedded with the java_sdk_library must be dex encoded. t.Run("foo", func(t *testing.T) { - expectedUnencodedDexJar := "out/soong/.intermediates/foo/android_common/aligned/foo.jar" - expectedEncodedDexJar := "out/soong/.intermediates/foo/android_common/hiddenapi/foo.jar" + expectedUnencodedDexJar := "out/soong/.intermediates/foo.impl/android_common/aligned/foo.jar" + expectedEncodedDexJar := "out/soong/.intermediates/foo.impl/android_common/hiddenapi/foo.jar" checkDexEncoded(t, "foo", expectedUnencodedDexJar, expectedEncodedDexJar) }) - - // The dex jar of the child implementation java_library of the java_sdk_library is not currently - // dex encoded. - t.Run("foo.impl", func(t *testing.T) { - fooImpl := result.ModuleForTests("foo.impl", "android_common") - encodeDexRule := fooImpl.MaybeRule("hiddenAPIEncodeDex") - if encodeDexRule.Rule != nil { - t.Errorf("foo.impl is not expected to be encoded") - } - }) } |