From 43d3025cd5d0069920013934abdc6ecd91c8f908 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Fri, 22 May 2020 03:54:24 +0900 Subject: [PATCH] pom2bp: add apex_available/min_sdk_version apex_available/min_sdk_version are required to be available for mainline modules(APK/APEX). - java_import/java_library_static - android_library/android_library_import Bug: 156996905 Test: prebuilts/sdk/update_prebuilts.sh Change-Id: I201ebabaa533c5ee19e394ab30ca2fa0e3d7ce0e --- cmd/pom2bp/pom2bp.go | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/cmd/pom2bp/pom2bp.go b/cmd/pom2bp/pom2bp.go index 191b919e9..d341b8c10 100644 --- a/cmd/pom2bp/pom2bp.go +++ b/cmd/pom2bp/pom2bp.go @@ -213,10 +213,14 @@ func (p Pom) IsHostAndDeviceModule() bool { return hostAndDeviceModuleNames.IsHostAndDeviceModule(p.GroupId, p.ArtifactId) } +func (p Pom) IsHostOnly() bool { + return p.IsHostModule() && !p.IsHostAndDeviceModule() +} + func (p Pom) ModuleType() string { if p.IsAar() { return "android_library" - } else if p.IsHostModule() && !p.IsHostAndDeviceModule() { + } else if p.IsHostOnly() { return "java_library_host" } else { return "java_library_static" @@ -226,7 +230,7 @@ func (p Pom) ModuleType() string { func (p Pom) ImportModuleType() string { if p.IsAar() { return "android_library_import" - } else if p.IsHostModule() && !p.IsHostAndDeviceModule() { + } else if p.IsHostOnly() { return "java_import_host" } else { return "java_import" @@ -366,6 +370,12 @@ var bpTemplate = template.Must(template.New("bp").Parse(` {{- if .IsHostAndDeviceModule}} host_supported: true, {{- end}} + {{- if not .IsHostOnly}} + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], + {{- end}} {{- if .IsAar}} min_sdk_version: "{{.MinSdkVersion}}", static_libs: [ @@ -401,6 +411,12 @@ var bpDepsTemplate = template.Must(template.New("bp").Parse(` {{- if .IsHostAndDeviceModule}} host_supported: true, {{- end}} + {{- if not .IsHostOnly}} + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], + {{- end}} {{- if .IsAar}} min_sdk_version: "{{.MinSdkVersion}}", static_libs: [ @@ -431,9 +447,17 @@ var bpDepsTemplate = template.Must(template.New("bp").Parse(` {{- if .IsHostAndDeviceModule}} host_supported: true, {{- end}} + {{- if not .IsHostOnly}} + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], + {{- end}} {{- if .IsAar}} min_sdk_version: "{{.MinSdkVersion}}", manifest: "manifests/{{.BpName}}/AndroidManifest.xml", + {{- else if not .IsHostOnly}} + min_sdk_version: "24", {{- end}} {{- end}} static_libs: [