From 931a4488da881ce24a8f29a4cfbf012df8e30952 Mon Sep 17 00:00:00 2001 From: satayev Date: Thu, 20 May 2021 21:33:41 +0100 Subject: [PATCH] Populate individual systemserverclasspath_fragments' proto configs. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: Ic0ae897e9baca75dcc022d84656496563645e74e Merged-In: Ic0ae897e9baca75dcc022d84656496563645e74e --- java/systemserver_classpath_fragment.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go index a72b3f60c..9111c309f 100644 --- a/java/systemserver_classpath_fragment.go +++ b/java/systemserver_classpath_fragment.go @@ -53,13 +53,7 @@ func (p *platformSystemServerClasspathModule) GenerateAndroidBuildActions(ctx an func (p *platformSystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList { 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 + return global.SystemServerJars } type SystemServerClasspathModule struct { @@ -101,8 +95,12 @@ func (s *SystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.Mo } func (s *SystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList { - // TODO(satayev): populate with actual content - return android.EmptyConfiguredJarList() + global := dexpreopt.GetGlobalConfig(ctx) + + // Only create configs for updatable boot jars. Non-updatable system server jars must be part of the + // platform_systemserverclasspath's classpath proto config to guarantee that they come before any + // updatable jars at runtime. + return global.UpdatableSystemServerJars.Filter(s.properties.Contents) } type systemServerClasspathFragmentContentDependencyTag struct {