From 95e9c5bbfa8a1a46433183830a2429ac83979d33 Mon Sep 17 00:00:00 2001 From: satayev Date: Thu, 29 Apr 2021 11:50:26 +0100 Subject: Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath. Boot jars are different to system server jars at build level, due to added complexity of dexpreopt. As a logical separation add a new classpath fragment type and split existing classpaths.proto generation into relevant pieces. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I88bec09fc920166ffd0092faef980754ddeb6593 --- java/systemserver_classpath_fragment.go | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 java/systemserver_classpath_fragment.go (limited to 'java/systemserver_classpath_fragment.go') diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go new file mode 100644 index 000000000..3f8a0836f --- /dev/null +++ b/java/systemserver_classpath_fragment.go @@ -0,0 +1,50 @@ +// Copyright 2021 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package java + +import ( + "android/soong/android" +) + +func init() { + registerSystemserverClasspathBuildComponents(android.InitRegistrationContext) +} + +func registerSystemserverClasspathBuildComponents(ctx android.RegistrationContext) { + // TODO(satayev): add systemserver_classpath_fragment module + ctx.RegisterModuleType("platform_systemserverclasspath", platformSystemServerClasspathFactory) +} + +type platformSystemServerClasspathModule struct { + android.ModuleBase + + ClasspathFragmentBase +} + +func platformSystemServerClasspathFactory() android.Module { + m := &platformSystemServerClasspathModule{} + initClasspathFragment(m, SYSTEMSERVERCLASSPATH) + android.InitAndroidArchModule(m, android.DeviceSupported, android.MultilibCommon) + return m +} + +func (b *platformSystemServerClasspathModule) AndroidMkEntries() (entries []android.AndroidMkEntries) { + return b.classpathFragmentBase().androidMkEntries() +} + +func (b *platformSystemServerClasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { + // TODO(satayev): split apex jars into separate configs. + b.classpathFragmentBase().generateClasspathProtoBuildActions(ctx) +} -- cgit v1.2.3-59-g8ed1b