diff options
| author | 2024-11-12 02:51:22 +0000 | |
|---|---|---|
| committer | 2024-11-12 02:51:22 +0000 | |
| commit | 48a943f674de35fb78e1e8d7f36b823798c96233 (patch) | |
| tree | f310375259a110f53d5840a6c9969931981bc0f6 /java/systemserver_classpath_fragment.go | |
| parent | 25777477593f60273be433e44ee9e49897bdab23 (diff) | |
| parent | 7103c4ffd6197d7c18b2f4474b134ad0441f9895 (diff) | |
Merge "Make Contents and Standalone_contents configurable" into main
Diffstat (limited to 'java/systemserver_classpath_fragment.go')
| -rw-r--r-- | java/systemserver_classpath_fragment.go | 23 | 
1 files changed, 12 insertions, 11 deletions
| diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go index aad106007..608a61628 100644 --- a/java/systemserver_classpath_fragment.go +++ b/java/systemserver_classpath_fragment.go @@ -19,6 +19,7 @@ import (  	"android/soong/dexpreopt"  	"github.com/google/blueprint" +	"github.com/google/blueprint/proptools"  )  func init() { @@ -98,12 +99,12 @@ type systemServerClasspathFragmentProperties struct {  	// List of system_server classpath jars, could be either java_library, or java_sdk_library.  	//  	// The order of this list matters as it is the order that is used in the SYSTEMSERVERCLASSPATH. -	Contents []string +	Contents proptools.Configurable[[]string] `android:"arch_variant"`  	// List of jars that system_server loads dynamically using separate classloaders.  	//  	// The order does not matter. -	Standalone_contents []string +	Standalone_contents proptools.Configurable[[]string] `android:"arch_variant"`  }  func systemServerClasspathFactory() android.Module { @@ -116,7 +117,7 @@ func systemServerClasspathFactory() android.Module {  }  func (s *SystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { -	if len(s.properties.Contents) == 0 && len(s.properties.Standalone_contents) == 0 { +	if len(s.properties.Contents.GetOrDefault(ctx, nil)) == 0 && len(s.properties.Standalone_contents.GetOrDefault(ctx, nil)) == 0 {  		ctx.PropertyErrorf("contents", "Either contents or standalone_contents needs to be non-empty")  	} @@ -152,7 +153,7 @@ func (s *SystemServerClasspathModule) setPartitionInfoOfLibraries(ctx android.Mo  func (s *SystemServerClasspathModule) configuredJars(ctx android.ModuleContext) android.ConfiguredJarList {  	global := dexpreopt.GetGlobalConfig(ctx) -	possibleUpdatableModules := gatherPossibleApexModuleNamesAndStems(ctx, s.properties.Contents, systemServerClasspathFragmentContentDepTag) +	possibleUpdatableModules := gatherPossibleApexModuleNamesAndStems(ctx, s.properties.Contents.GetOrDefault(ctx, nil), systemServerClasspathFragmentContentDepTag)  	jars, unknown := global.ApexSystemServerJars.Filter(possibleUpdatableModules)  	// TODO(satayev): remove geotz ssc_fragment, since geotz is not part of SSCP anymore.  	_, unknown = android.RemoveFromList("geotz", unknown) @@ -184,7 +185,7 @@ func (s *SystemServerClasspathModule) configuredJars(ctx android.ModuleContext)  func (s *SystemServerClasspathModule) standaloneConfiguredJars(ctx android.ModuleContext) android.ConfiguredJarList {  	global := dexpreopt.GetGlobalConfig(ctx) -	possibleUpdatableModules := gatherPossibleApexModuleNamesAndStems(ctx, s.properties.Standalone_contents, systemServerClasspathFragmentContentDepTag) +	possibleUpdatableModules := gatherPossibleApexModuleNamesAndStems(ctx, s.properties.Standalone_contents.GetOrDefault(ctx, nil), systemServerClasspathFragmentContentDepTag)  	jars, _ := global.ApexStandaloneSystemServerJars.Filter(possibleUpdatableModules)  	// TODO(jiakaiz): add a check to ensure that the contents are declared in make. @@ -245,8 +246,8 @@ func (s *SystemServerClasspathModule) ComponentDepsMutator(ctx android.BottomUpM  	module := ctx.Module()  	_, isSourceModule := module.(*SystemServerClasspathModule)  	var deps []string -	deps = append(deps, s.properties.Contents...) -	deps = append(deps, s.properties.Standalone_contents...) +	deps = append(deps, s.properties.Contents.GetOrDefault(ctx, nil)...) +	deps = append(deps, s.properties.Standalone_contents.GetOrDefault(ctx, nil)...)  	for _, name := range deps {  		// A systemserverclasspath_fragment must depend only on other source modules, while the @@ -260,8 +261,8 @@ func (s *SystemServerClasspathModule) ComponentDepsMutator(ctx android.BottomUpM  // Collect information for opening IDE project files in java/jdeps.go.  func (s *SystemServerClasspathModule) IDEInfo(ctx android.BaseModuleContext, dpInfo *android.IdeInfo) { -	dpInfo.Deps = append(dpInfo.Deps, s.properties.Contents...) -	dpInfo.Deps = append(dpInfo.Deps, s.properties.Standalone_contents...) +	dpInfo.Deps = append(dpInfo.Deps, s.properties.Contents.GetOrDefault(ctx, nil)...) +	dpInfo.Deps = append(dpInfo.Deps, s.properties.Standalone_contents.GetOrDefault(ctx, nil)...)  }  type systemServerClasspathFragmentMemberType struct { @@ -302,8 +303,8 @@ type systemServerClasspathFragmentSdkMemberProperties struct {  func (s *systemServerClasspathFragmentSdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberContext, variant android.Module) {  	module := variant.(*SystemServerClasspathModule) -	s.Contents = module.properties.Contents -	s.Standalone_contents = module.properties.Standalone_contents +	s.Contents = module.properties.Contents.GetOrDefault(ctx.SdkModuleContext(), nil) +	s.Standalone_contents = module.properties.Standalone_contents.GetOrDefault(ctx.SdkModuleContext(), nil)  }  func (s *systemServerClasspathFragmentSdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) { |