diff --git a/java/hiddenapi.go b/java/hiddenapi.go index f8e41c458..9caea944b 100644 --- a/java/hiddenapi.go +++ b/java/hiddenapi.go @@ -15,8 +15,6 @@ package java import ( - "strings" - "github.com/google/blueprint" "android/soong/android" @@ -29,8 +27,8 @@ var hiddenAPIGenerateCSVRule = pctx.AndroidStaticRule("hiddenAPIGenerateCSV", bl type hiddenAPI struct { // The name of the module as it would be used in the boot jars configuration, e.g. without any - // prebuilt_ prefix (if it is a prebuilt), without any "-hiddenapi" suffix if it just provides - // annotations and without any ".impl" suffix if it is a java_sdk_library implementation library. + // prebuilt_ prefix (if it is a prebuilt) and without any ".impl" suffix if it is a + // java_sdk_library implementation library. configurationName string // True if the module containing this structure contributes to the hiddenapi information or has @@ -49,11 +47,6 @@ type hiddenAPI struct { // annotation information. primary bool - // True if the module only contains additional annotations and so does not require hiddenapi - // information to be encoded in its dex file and should not be used to generate the - // hiddenAPISingletonPathsStruct.stubFlags file. - annotationsOnly bool - // The path to the dex jar that is in the boot class path. If this is nil then the associated // module is not a boot jar, but could be one of the -hiddenapi modules that provide additional // annotations for the boot dex jar but which do not actually provide a boot dex jar @@ -119,16 +112,12 @@ type hiddenAPIIntf interface { var _ hiddenAPIIntf = (*hiddenAPI)(nil) // Initialize the hiddenapi structure -func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, name string) { +func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, configurationName string) { // If hiddenapi processing is disabled treat this as inactive. if ctx.Config().IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS") { return } - // Modules whose names are of the format -hiddenapi provide hiddenapi information for the boot - // jar module . Otherwise, the module provides information for itself. Either way extract the - // configurationName of the boot jar module. - configurationName := strings.TrimSuffix(name, "-hiddenapi") h.configurationName = configurationName // It is important that hiddenapi information is only gathered for/from modules that are actually @@ -141,10 +130,6 @@ func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, name string) { return } - // If this module has a suffix of -hiddenapi then it only provides additional annotation - // information for a module on the boot jars list. - h.annotationsOnly = strings.HasSuffix(name, "-hiddenapi") - // Determine whether this module is the primary module or not. primary := true @@ -156,11 +141,11 @@ func (h *hiddenAPI) initHiddenAPI(ctx android.BaseModuleContext, name string) { primary = p.UsePrebuilt() } } else { - // The only module that will pass a different name to its module name to this method is the - // implementation library of a java_sdk_library. It has a configuration name of the same - // as its parent java_sdk_library but a module name of .impl. It is not the primary module, - // the java_sdk_library with the name of is. - primary = name == ctx.ModuleName() + // The only module that will pass a different configurationName to its module name to this + // method is the implementation library of a java_sdk_library. It has a configuration name of + // the same as its parent java_sdk_library but a module name of .impl. It is not the + // primary module, the java_sdk_library with the name of is. + primary = configurationName == ctx.ModuleName() // A source module that has been replaced by a prebuilt can never be the primary module. primary = primary && !module.IsReplacedByPrebuilt() @@ -191,15 +176,13 @@ func (h *hiddenAPI) hiddenAPIExtractAndEncode(ctx android.ModuleContext, dexJar h.hiddenAPIExtractInformation(ctx, dexJar, implementationJar) - if !h.annotationsOnly { - hiddenAPIJar := android.PathForModuleOut(ctx, "hiddenapi", h.configurationName+".jar").OutputPath + hiddenAPIJar := android.PathForModuleOut(ctx, "hiddenapi", h.configurationName+".jar").OutputPath - // Create a copy of the dex jar which has been encoded with hiddenapi flags. - hiddenAPIEncodeDex(ctx, hiddenAPIJar, dexJar, uncompressDex) + // Create a copy of the dex jar which has been encoded with hiddenapi flags. + hiddenAPIEncodeDex(ctx, hiddenAPIJar, dexJar, uncompressDex) - // Use the encoded dex jar from here onwards. - dexJar = hiddenAPIJar - } + // Use the encoded dex jar from here onwards. + dexJar = hiddenAPIJar return dexJar } diff --git a/java/hiddenapi_singleton_test.go b/java/hiddenapi_singleton_test.go index 4670d0311..c0f0e381c 100644 --- a/java/hiddenapi_singleton_test.go +++ b/java/hiddenapi_singleton_test.go @@ -88,12 +88,6 @@ func TestHiddenAPIIndexSingleton(t *testing.T) { ], } - java_library { - name: "foo-hiddenapi", - srcs: ["a.java"], - compile_dex: true, - } - java_library { name: "foo-hiddenapi-annotations", srcs: ["a.java"], @@ -118,7 +112,6 @@ func TestHiddenAPIIndexSingleton(t *testing.T) { indexRule := hiddenAPIIndex.Rule("singleton-merged-hiddenapi-index") CheckHiddenAPIRuleInputs(t, ` .intermediates/bar/android_common/hiddenapi/index.csv -.intermediates/foo-hiddenapi/android_common/hiddenapi/index.csv .intermediates/foo/android_common/hiddenapi/index.csv `, indexRule)