Add some more properties to the bp2build APEX converter (second try) am: 6e4950a061 am: 6de2c9b72b

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1778212

Change-Id: Ic13b56e93a31357887d37c21952d5a2fe8d85d87
This commit is contained in:
Rupert Shuttleworth
2021-07-27 10:57:03 +00:00
committed by Automerger Merge Worker
6 changed files with 169 additions and 9 deletions

View File

@@ -3129,7 +3129,16 @@ func rModulesPackages() map[string][]string {
// For Bazel / bp2build
type bazelApexBundleAttributes struct {
Manifest bazel.LabelAttribute
Manifest bazel.LabelAttribute
Android_manifest bazel.LabelAttribute
File_contexts bazel.LabelAttribute
Key bazel.LabelAttribute
Certificate bazel.LabelAttribute
Min_sdk_version string
Updatable bazel.BoolAttribute
Installable bazel.BoolAttribute
Native_shared_libs bazel.LabelListAttribute
Binaries bazel.StringListAttribute
}
type bazelApexBundle struct {
@@ -3162,14 +3171,63 @@ func ApexBundleBp2Build(ctx android.TopDownMutatorContext) {
func apexBundleBp2BuildInternal(ctx android.TopDownMutatorContext, module *apexBundle) {
var manifestLabelAttribute bazel.LabelAttribute
manifestStringPtr := module.properties.Manifest
if module.properties.Manifest != nil {
manifestLabelAttribute.SetValue(android.BazelLabelForModuleSrcSingle(ctx, *manifestStringPtr))
manifestLabelAttribute.SetValue(android.BazelLabelForModuleSrcSingle(ctx, *module.properties.Manifest))
}
var androidManifestLabelAttribute bazel.LabelAttribute
if module.properties.AndroidManifest != nil {
androidManifestLabelAttribute.SetValue(android.BazelLabelForModuleSrcSingle(ctx, *module.properties.AndroidManifest))
}
var fileContextsLabelAttribute bazel.LabelAttribute
if module.properties.File_contexts != nil {
fileContextsLabelAttribute.SetValue(android.BazelLabelForModuleDepSingle(ctx, *module.properties.File_contexts))
}
var minSdkVersion string
if module.properties.Min_sdk_version != nil {
minSdkVersion = *module.properties.Min_sdk_version
}
var keyLabelAttribute bazel.LabelAttribute
if module.overridableProperties.Key != nil {
keyLabelAttribute.SetValue(android.BazelLabelForModuleDepSingle(ctx, *module.overridableProperties.Key))
}
var certificateLabelAttribute bazel.LabelAttribute
if module.overridableProperties.Certificate != nil {
certificateLabelAttribute.SetValue(android.BazelLabelForModuleDepSingle(ctx, *module.overridableProperties.Certificate))
}
nativeSharedLibs := module.properties.ApexNativeDependencies.Native_shared_libs
nativeSharedLibsLabelList := android.BazelLabelForModuleDeps(ctx, nativeSharedLibs)
nativeSharedLibsLabelListAttribute := bazel.MakeLabelListAttribute(nativeSharedLibsLabelList)
binaries := module.properties.ApexNativeDependencies.Binaries
binariesStringListAttribute := bazel.MakeStringListAttribute(binaries)
var updatableAttribute bazel.BoolAttribute
if module.properties.Updatable != nil {
updatableAttribute.Value = module.properties.Updatable
}
var installableAttribute bazel.BoolAttribute
if module.properties.Installable != nil {
installableAttribute.Value = module.properties.Installable
}
attrs := &bazelApexBundleAttributes{
Manifest: manifestLabelAttribute,
Manifest: manifestLabelAttribute,
Android_manifest: androidManifestLabelAttribute,
File_contexts: fileContextsLabelAttribute,
Min_sdk_version: minSdkVersion,
Key: keyLabelAttribute,
Certificate: certificateLabelAttribute,
Updatable: updatableAttribute,
Installable: installableAttribute,
Native_shared_libs: nativeSharedLibsLabelListAttribute,
Binaries: binariesStringListAttribute,
}
props := bazel.BazelTargetModuleProperties{