Add hidden API properties to java_sdk_library modules
Previously, hidden API properties were only allowed on
bootclasspath_fragment and platform_bootclasspath module types. This
change allows them to be specified on java_sdk_library modules too. It
involves the following changes:
1. Add the properties to the java.Module.
2. Populate and provide a HiddenAPIPropertyInfo struct from
java_sdk_library modules.
3. Modify bootclasspath_fragment to merge information gathered from its
content libraries as if it was specified on the fragment itself.
Bug: 240406019
Test: m nothing
packages/modules/common/build/mainline_modules_sdks.sh
# Ran the previous command with and without this change to make
# sure that this change does not change the sdk snapshot
# contents.
Change-Id: I64eb71c2039ddc14cf380689d0cec7ec221f5b88
(cherry picked from commit 3f1ae0b55a
)
Merged-In: I64eb71c2039ddc14cf380689d0cec7ec221f5b88
This commit is contained in:
committed by
Cherrypicker Worker
parent
067e12f46a
commit
b5e3c9802a
17
java/base.go
17
java/base.go
@@ -263,6 +263,9 @@ type DeviceProperties struct {
|
||||
// Only for libraries created by a sysprop_library module, SyspropPublicStub is the name of the
|
||||
// public stubs library.
|
||||
SyspropPublicStub string `blueprint:"mutated"`
|
||||
|
||||
HiddenAPIPackageProperties
|
||||
HiddenAPIFlagFileProperties
|
||||
}
|
||||
|
||||
// Device properties that can be overridden by overriding module (e.g. override_android_app)
|
||||
@@ -563,6 +566,20 @@ func (j *Module) addHostAndDeviceProperties() {
|
||||
)
|
||||
}
|
||||
|
||||
// provideHiddenAPIPropertyInfo populates a HiddenAPIPropertyInfo from hidden API properties and
|
||||
// makes it available through the hiddenAPIPropertyInfoProvider.
|
||||
func (j *Module) provideHiddenAPIPropertyInfo(ctx android.ModuleContext) {
|
||||
hiddenAPIInfo := newHiddenAPIPropertyInfo()
|
||||
|
||||
// Populate with flag file paths from the properties.
|
||||
hiddenAPIInfo.extractFlagFilesFromProperties(ctx, &j.deviceProperties.HiddenAPIFlagFileProperties)
|
||||
|
||||
// Populate with package rules from the properties.
|
||||
hiddenAPIInfo.extractPackageRulesFromProperties(&j.deviceProperties.HiddenAPIPackageProperties)
|
||||
|
||||
ctx.SetProvider(hiddenAPIPropertyInfoProvider, hiddenAPIInfo)
|
||||
}
|
||||
|
||||
func (j *Module) OutputFiles(tag string) (android.Paths, error) {
|
||||
switch tag {
|
||||
case "":
|
||||
|
Reference in New Issue
Block a user