From 9272dccb1ea96dfbf0f8a0a1488a09ca9af11f15 Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 12 Jan 2024 00:08:30 +0000 Subject: [PATCH] Add defaults support for bootclasspath_fragment module type This change transforms the bootclsspath_fragment module into a defaultable module, in order to modify the "art-bootclasspath-fragment" module definition based on the build flag in https://r.android.com/2897389 Test: m nothing Bug: 315027929 Change-Id: I01ba7b15e4fcdea9bd31c369110a3c9ee38bc9f6 --- java/bootclasspath_fragment.go | 7 +++++++ java/java.go | 2 ++ 2 files changed, 9 insertions(+) diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go index ae2440466..c89c64358 100644 --- a/java/bootclasspath_fragment.go +++ b/java/bootclasspath_fragment.go @@ -229,6 +229,7 @@ type SourceOnlyBootclasspathProperties struct { type BootclasspathFragmentModule struct { android.ModuleBase + android.DefaultableModuleBase android.ApexModuleBase ClasspathFragmentBase @@ -267,6 +268,7 @@ func bootclasspathFragmentFactory() android.Module { android.InitApexModule(m) initClasspathFragment(m, BOOTCLASSPATH) android.InitAndroidArchModule(m, android.DeviceSupported, android.MultilibCommon) + android.InitDefaultableModule(m) android.AddLoadHook(m, func(ctx android.LoadHookContext) { // If code coverage has been enabled for the framework then append the properties with @@ -399,6 +401,11 @@ func (i BootclasspathFragmentApexContentInfo) ProfileInstallPathInApex() string func (b *BootclasspathFragmentModule) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool { tag := ctx.OtherModuleDependencyTag(dep) + + // If the module is a default module, do not check the tag + if _, ok := dep.(*Defaults); ok { + return true + } if IsBootclasspathFragmentContentDepTag(tag) { // Boot image contents are automatically added to apex. return true diff --git a/java/java.go b/java/java.go index 4eeded386..c5a414250 100644 --- a/java/java.go +++ b/java/java.go @@ -2726,6 +2726,8 @@ func DefaultsFactory() android.Module { &LintProperties{}, &appTestHelperAppProperties{}, &JavaApiLibraryProperties{}, + &bootclasspathFragmentProperties{}, + &SourceOnlyBootclasspathProperties{}, ) android.InitDefaultsModule(module)