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
This commit is contained in:
@@ -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)
|
||||
global := dexpreopt.GetGlobalConfig(ctx)
|
||||
|
||||
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
|
||||
}).(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 {
|
||||
|
Reference in New Issue
Block a user