From 0cf6de5ca9f99b2bb06b1b8f7d20f46001ab62c4 Mon Sep 17 00:00:00 2001 From: satayev Date: Thu, 13 May 2021 19:01:52 +0100 Subject: [PATCH] Add no-op systemserverclasspath_fragment module. This would allow to start introducing these modules for apexes that contribute to SYSTEMSERVERCLASSPATH. In follow up, it will be evolved: - platform_systemserverclasspath would have "fragments" property to list all individual systemserverclasspath_fragments; - systemserverclasspath_fragment would have "contents" property to list contibuting java libs; - systemserverclasspath_fragment would generate non-empty classpaths.proto config within individual apexes. Bug: 180105615 Test: m nothing Merged-In: Ibaaa3fae5f1eab9a41ceecc1214a53be6bbc8ba6 Change-Id: Ibaaa3fae5f1eab9a41ceecc1214a53be6bbc8ba6 (cherry picked from commit aa86bac2b01f7565f1ea8ec7c88308ef5ed6e7e2) --- java/systemserver_classpath_fragment.go | 36 ++++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go index 82cdb8926..cc5ff96ca 100644 --- a/java/systemserver_classpath_fragment.go +++ b/java/systemserver_classpath_fragment.go @@ -24,8 +24,8 @@ func init() { } func registerSystemserverClasspathBuildComponents(ctx android.RegistrationContext) { - // TODO(satayev): add systemserver_classpath_fragment module ctx.RegisterModuleType("platform_systemserverclasspath", platformSystemServerClasspathFactory) + ctx.RegisterModuleType("systemserverclasspath_fragment", systemServerClasspathFactory) } type platformSystemServerClasspathModule struct { @@ -41,18 +41,18 @@ func platformSystemServerClasspathFactory() android.Module { return m } -func (b *platformSystemServerClasspathModule) AndroidMkEntries() (entries []android.AndroidMkEntries) { - return b.classpathFragmentBase().androidMkEntries() +func (p *platformSystemServerClasspathModule) AndroidMkEntries() (entries []android.AndroidMkEntries) { + return p.classpathFragmentBase().androidMkEntries() } -func (b *platformSystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { - configuredJars := configuredJarListToClasspathJars(ctx, b.ClasspathFragmentToConfiguredJarList(ctx), b.classpathType) - b.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, configuredJars) +func (p *platformSystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { + configuredJars := configuredJarListToClasspathJars(ctx, p.ClasspathFragmentToConfiguredJarList(ctx), p.classpathType) + p.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, configuredJars) } var platformSystemServerClasspathKey = android.NewOnceKey("platform_systemserverclasspath") -func (b *platformSystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList { +func (p *platformSystemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList { return ctx.Config().Once(platformSystemServerClasspathKey, func() interface{} { global := dexpreopt.GetGlobalConfig(ctx) @@ -65,3 +65,25 @@ func (b *platformSystemServerClasspathModule) ClasspathFragmentToConfiguredJarLi return jars }).(android.ConfiguredJarList) } + +type systemServerClasspathModule struct { + android.ModuleBase + + ClasspathFragmentBase +} + +func systemServerClasspathFactory() android.Module { + m := &systemServerClasspathModule{} + initClasspathFragment(m, SYSTEMSERVERCLASSPATH) + android.InitAndroidArchModule(m, android.DeviceSupported, android.MultilibCommon) + return m +} + +func (s *systemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { + s.classpathFragmentBase().generateClasspathProtoBuildActions(ctx, configuredJarListToClasspathJars(ctx, s.ClasspathFragmentToConfiguredJarList(ctx))) +} + +func (s *systemServerClasspathModule) ClasspathFragmentToConfiguredJarList(ctx android.ModuleContext) android.ConfiguredJarList { + // TODO(satayev): populate with actual content + return android.EmptyConfiguredJarList() +}