summaryrefslogtreecommitdiff
path: root/java/systemserver_classpath_fragment.go
diff options
context:
space:
mode:
authorsatayev <satayev@google.com>2021-05-07 00:10:33 +0100
committersatayev <satayev@google.com>2021-05-20 20:06:03 +0100
commit8fab6f86af918c37592a51aed09a05e09e1172e9 (patch)
tree3ce62f4fbb3eadb7f9ed3d37bc8aeb7f3473e6e5 /java/systemserver_classpath_fragment.go
parentecf2dc4614aaacd9c2f7e2ffbd790903db07f0af (diff)
Populate individual classpath_fragments' classpaths.proto configs.
To avoid duplicates on *CLASSPATH environ variables at runtime, remove split entries from platform-*classpath, i.e. all updatable jars that have their own classpath fragments should not appear in the platform-*classpath's classpaths.proto config. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: Id2759ab8e106cc183e695bf3509a6ab60ab0ef2a Merged-In: Id2759ab8e106cc183e695bf3509a6ab60ab0ef2a
Diffstat (limited to 'java/systemserver_classpath_fragment.go')
-rw-r--r--java/systemserver_classpath_fragment.go26
1 files changed, 11 insertions, 15 deletions
diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go
index a505c6d01..a72b3f60c 100644
--- a/java/systemserver_classpath_fragment.go
+++ b/java/systemserver_classpath_fragment.go
@@ -47,24 +47,19 @@ func (p *platformSystemServerClasspathModule) AndroidMkEntries() (entries []andr
}
func (p *platformSystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- configuredJars := configuredJarListToClasspathJars(ctx, p.ClasspathFragmentToConfiguredJarList(ctx), p.classpathType)
- p.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, configuredJars)
+ classpathJars := configuredJarListToClasspathJars(ctx, p.ClasspathFragmentToConfiguredJarList(ctx), p.classpathType)
+ p.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, classpathJars)
}
-var platformSystemServerClasspathKey = android.NewOnceKey("platform_systemserverclasspath")
-
func (p *platformSystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList {
- return ctx.Config().Once(platformSystemServerClasspathKey, func() interface{} {
- global := dexpreopt.GetGlobalConfig(ctx)
-
- jars := global.SystemServerJars
+ global := dexpreopt.GetGlobalConfig(ctx)
- // TODO(satayev): split apex jars into separate configs.
- for i := 0; i < global.UpdatableSystemServerJars.Len(); i++ {
- jars = jars.Append(global.UpdatableSystemServerJars.Apex(i), global.UpdatableSystemServerJars.Jar(i))
- }
- return jars
- }).(android.ConfiguredJarList)
+ jars := global.SystemServerJars
+ // TODO(satayev): split apex jars into separate configs.
+ for i := 0; i < global.UpdatableSystemServerJars.Len(); i++ {
+ jars = jars.Append(global.UpdatableSystemServerJars.Apex(i), global.UpdatableSystemServerJars.Jar(i))
+ }
+ return jars
}
type SystemServerClasspathModule struct {
@@ -101,7 +96,8 @@ func (s *SystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.Mo
ctx.PropertyErrorf("contents", "empty contents are not allowed")
}
- s.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, configuredJarListToClasspathJars(ctx, s.ClasspathFragmentToConfiguredJarList(ctx)))
+ classpathJars := configuredJarListToClasspathJars(ctx, s.ClasspathFragmentToConfiguredJarList(ctx), s.classpathType)
+ s.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, classpathJars)
}
func (s *SystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList {