From b61c2269435276862c927f40915e9888ae7908f4 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 8 Aug 2024 14:04:42 -0700 Subject: Use a provider for systems modules Replace the SystemModulesProvider interface with Provider Test: all soong tests Flag: EXEMPT refactor Change-Id: If313580b28094d55b71f1635259bafa850ef7af5 --- java/system_modules.go | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) (limited to 'java/system_modules.go') diff --git a/java/system_modules.go b/java/system_modules.go index 48b33ba57..5b00079f7 100644 --- a/java/system_modules.go +++ b/java/system_modules.go @@ -120,14 +120,16 @@ func SystemModulesFactory() android.Module { return module } -type SystemModulesProvider interface { - HeaderJars() android.Paths - OutputDirAndDeps() (android.Path, android.Paths) -} +type SystemModulesProviderInfo struct { + // The aggregated header jars from all jars specified in the libs property. + // Used when system module is added as a dependency to bootclasspath. + HeaderJars android.Paths -var _ SystemModulesProvider = (*SystemModules)(nil) + OutputDir android.Path + OutputDirDeps android.Paths +} -var _ SystemModulesProvider = (*systemModulesImport)(nil) +var SystemModulesProvider = blueprint.NewProvider[*SystemModulesProviderInfo]() type SystemModules struct { android.ModuleBase @@ -135,9 +137,6 @@ type SystemModules struct { properties SystemModulesProperties - // The aggregated header jars from all jars specified in the libs property. - // Used when system module is added as a dependency to bootclasspath. - headerJars android.Paths outputDir android.Path outputDeps android.Paths } @@ -147,17 +146,6 @@ type SystemModulesProperties struct { Libs []string } -func (system *SystemModules) HeaderJars() android.Paths { - return system.headerJars -} - -func (system *SystemModules) OutputDirAndDeps() (android.Path, android.Paths) { - if system.outputDir == nil || len(system.outputDeps) == 0 { - panic("Missing directory for system module dependency") - } - return system.outputDir, system.outputDeps -} - func (system *SystemModules) GenerateAndroidBuildActions(ctx android.ModuleContext) { var jars android.Paths @@ -167,9 +155,13 @@ func (system *SystemModules) GenerateAndroidBuildActions(ctx android.ModuleConte } }) - system.headerJars = jars - system.outputDir, system.outputDeps = TransformJarsToSystemModules(ctx, jars) + + android.SetProvider(ctx, SystemModulesProvider, &SystemModulesProviderInfo{ + HeaderJars: jars, + OutputDir: system.outputDir, + OutputDirDeps: system.outputDeps, + }) } // ComponentDepsMutator is called before prebuilt modules without a corresponding source module are -- cgit v1.2.3-59-g8ed1b