diff --git a/apex/bootclasspath_fragment_test.go b/apex/bootclasspath_fragment_test.go index 4c9588b72..f97404a63 100644 --- a/apex/bootclasspath_fragment_test.go +++ b/apex/bootclasspath_fragment_test.go @@ -848,6 +848,7 @@ func TestBootclasspathFragment_HiddenAPIList(t *testing.T) { quuzPublicStubs := getDexJarPath(result, "quuz.stubs") quuzSystemStubs := getDexJarPath(result, "quuz.stubs.system") quuzTestStubs := getDexJarPath(result, "quuz.stubs.test") + quuzModuleLibStubs := getDexJarPath(result, "quuz.stubs.module_lib") // Make sure that the fragment uses the quuz stub dex jars when generating the hidden API flags. fragment := result.ModuleForTests("mybootclasspathfragment", "android_common_apex10000") @@ -858,7 +859,7 @@ func TestBootclasspathFragment_HiddenAPIList(t *testing.T) { // Make sure that the quuz stubs are available for resolving references from the implementation // boot dex jars provided by this module. - android.AssertStringDoesContain(t, "quuz widest", command, "--dependency-stub-dex="+quuzTestStubs) + android.AssertStringDoesContain(t, "quuz widest", command, "--dependency-stub-dex="+quuzModuleLibStubs) // Make sure that the quuz stubs are available for resolving references from the different API // stubs provided by this module. diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go index 66f4fe714..96534ad7d 100644 --- a/java/hiddenapi_modular.go +++ b/java/hiddenapi_modular.go @@ -64,6 +64,10 @@ var ( sdkKind: android.SdkTest, hiddenAPIListOption: "--test-stub-classpath", }) + ModuleLibHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{ + name: "module-lib", + sdkKind: android.SdkModule, + }) CorePlatformHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{ name: "core-platform", sdkKind: android.SdkCorePlatform, @@ -76,19 +80,20 @@ var ( // These are roughly in order from narrowest API surface to widest. Widest means the API stubs // with the biggest API surface, e.g. test is wider than system is wider than public. // - // Core platform is considered wider than system because those modules that provide core platform - // APIs either do not have any system APIs at all, or if they do it is because the core platform - // API is being converted to system APIs. In either case the system API is a subset of core - // platform API. + // Core platform is considered wider than system/module-lib because those modules that provide + // core platform APIs either do not have any system/module-lib APIs at all, or if they do it is + // because the core platform API is being converted to system/module-lib APIs. In either case the + // system/module-lib APIs are subsets of the core platform API. // // This is not strictly in order from narrowest to widest as the Test API is wider than system but - // is neither wider or narrower than the core platform API. However, this works well enough at the - // moment. + // is neither wider or narrower than the module-lib or core platform APIs. However, this works + // well enough at the moment. // TODO(b/191644675): Correctly reflect the sub/superset relationships between APIs. hiddenAPIScopes = []*HiddenAPIScope{ PublicHiddenAPIScope, SystemHiddenAPIScope, TestHiddenAPIScope, + ModuleLibHiddenAPIScope, CorePlatformHiddenAPIScope, } @@ -100,6 +105,7 @@ var ( PublicHiddenAPIScope, SystemHiddenAPIScope, TestHiddenAPIScope, + ModuleLibHiddenAPIScope, } // The HiddenAPIScope instances that are supported by the `hiddenapi list`.