Add support for pom with packaging=apk to pom2bp.

Bug: b/258279262
Bug: 251825866
Test: ./prebuilts/misc/common/androidx-test/update-from-gmaven.py
Change-Id: I7811898d9801bb733f3b43c55308f6741778a378
Test: None
This commit is contained in:
Brett Chabot
2022-10-12 12:12:02 -07:00
committed by Colin Cross
parent a1fb0d98da
commit 688e6960fa

View File

@@ -207,6 +207,10 @@ func (p Pom) IsJar() bool {
return p.Packaging == "jar" return p.Packaging == "jar"
} }
func (p Pom) IsApk() bool {
return p.Packaging == "apk"
}
func (p Pom) IsHostModule() bool { func (p Pom) IsHostModule() bool {
return hostModuleNames.IsHostModule(p.GroupId, p.ArtifactId) return hostModuleNames.IsHostModule(p.GroupId, p.ArtifactId)
} }
@@ -244,6 +248,8 @@ func (p Pom) BazelTargetType() string {
func (p Pom) ImportModuleType() string { func (p Pom) ImportModuleType() string {
if p.IsAar() { if p.IsAar() {
return "android_library_import" return "android_library_import"
} else if p.IsApk() {
return "android_app_import"
} else if p.IsHostOnly() { } else if p.IsHostOnly() {
return "java_import_host" return "java_import_host"
} else { } else {
@@ -254,6 +260,8 @@ func (p Pom) ImportModuleType() string {
func (p Pom) BazelImportTargetType() string { func (p Pom) BazelImportTargetType() string {
if p.IsAar() { if p.IsAar() {
return "aar_import" return "aar_import"
} else if p.IsApk() {
return "apk_import"
} else { } else {
return "java_import" return "java_import"
} }
@@ -262,6 +270,8 @@ func (p Pom) BazelImportTargetType() string {
func (p Pom) ImportProperty() string { func (p Pom) ImportProperty() string {
if p.IsAar() { if p.IsAar() {
return "aars" return "aars"
} else if p.IsApk() {
return "apk"
} else { } else {
return "jars" return "jars"
} }
@@ -270,6 +280,8 @@ func (p Pom) ImportProperty() string {
func (p Pom) BazelImportProperty() string { func (p Pom) BazelImportProperty() string {
if p.IsAar() { if p.IsAar() {
return "aar" return "aar"
} else if p.IsApk() {
return "apk"
} else { } else {
return "jars" return "jars"
} }
@@ -493,8 +505,12 @@ func (p *Pom) ExtractMinSdkVersion() error {
var bpTemplate = template.Must(template.New("bp").Parse(` var bpTemplate = template.Must(template.New("bp").Parse(`
{{.ImportModuleType}} { {{.ImportModuleType}} {
name: "{{.BpName}}", name: "{{.BpName}}",
{{- if .IsApk}}
{{.ImportProperty}}: "{{.ArtifactFile}}",
{{- else}}
{{.ImportProperty}}: ["{{.ArtifactFile}}"], {{.ImportProperty}}: ["{{.ArtifactFile}}"],
sdk_version: "{{.SdkVersion}}", sdk_version: "{{.SdkVersion}}",
{{- end}}
{{- if .Jetifier}} {{- if .Jetifier}}
jetifier: true, jetifier: true,
{{- end}} {{- end}}
@@ -535,8 +551,14 @@ var bpTemplate = template.Must(template.New("bp").Parse(`
], ],
{{- end}} {{- end}}
{{- else if not .IsHostOnly}} {{- else if not .IsHostOnly}}
{{- if not .IsApk}}
min_sdk_version: "{{.DefaultMinSdkVersion}}", min_sdk_version: "{{.DefaultMinSdkVersion}}",
{{- end}} {{- end}}
{{- end}}
{{- if .IsApk}}
presigned: true
{{- end}}
} }
`)) `))
@@ -995,7 +1017,7 @@ Usage: %s [--rewrite <regex>=<replace>] [--exclude <module>] [--extra-static-lib
for _, pom := range poms { for _, pom := range poms {
var err error var err error
if staticDeps { if staticDeps && !pom.IsApk() {
err = depsTemplate.Execute(buf, pom) err = depsTemplate.Execute(buf, pom)
} else { } else {
err = template.Execute(buf, pom) err = template.Execute(buf, pom)