Loading android/allowlists/allowlists.go +3 −0 Original line number Diff line number Diff line Loading @@ -788,6 +788,9 @@ var ( "binderUtilsHostTest", "run_dex2oat_test", "bluetooth-address-unit-tests", // for platform_compat_config "process-compat-config", } Bp2buildModuleTypeAlwaysConvertList = []string{ Loading bp2build/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ bootstrap_go_package { "linker_config_conversion_test.go", "package_conversion_test.go", "performance_test.go", "platform_compat_config_conversion_test.go", "prebuilt_etc_conversion_test.go", "python_binary_conversion_test.go", "python_library_conversion_test.go", Loading bp2build/platform_compat_config_conversion_test.go 0 → 100644 +53 −0 Original line number Diff line number Diff line // Copyright 2023 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 bp2build import ( "testing" "android/soong/android" "android/soong/java" ) func runPlatformCompatConfigTestCase(t *testing.T, tc Bp2buildTestCase) { t.Helper() RunBp2BuildTestCase(t, func(ctx android.RegistrationContext) { ctx.RegisterModuleType("java_library", java.LibraryFactory) ctx.RegisterModuleType("platform_compat_config", java.PlatformCompatConfigFactory) }, tc) } func TestPlatformCompatConfig(t *testing.T) { runPlatformCompatConfigTestCase(t, Bp2buildTestCase{ Description: "platform_compat_config - conversion test", Blueprint: ` platform_compat_config { name: "foo", src: ":lib", }`, Filesystem: map[string]string{ "a/b/Android.bp": ` java_library { name: "lib", srcs: ["a.java"], }`, }, ExpectedBazelTargets: []string{ MakeBazelTarget("platform_compat_config", "foo", AttrNameToString{ "src": `"//a/b:lib"`, }), }, }) } java/platform_compat_config.go +23 −0 Original line number Diff line number Diff line Loading @@ -19,7 +19,10 @@ import ( "path/filepath" "android/soong/android" "android/soong/bazel" "github.com/google/blueprint" "github.com/google/blueprint/proptools" ) func init() { Loading Loading @@ -54,6 +57,7 @@ type platformCompatConfigProperties struct { type platformCompatConfig struct { android.ModuleBase android.BazelModuleBase properties platformCompatConfigProperties installDirPath android.InstallPath Loading Loading @@ -122,10 +126,29 @@ func (p *platformCompatConfig) AndroidMkEntries() []android.AndroidMkEntries { }} } type bazelPlatformCompatConfigAttributes struct { Src bazel.LabelAttribute } func (p *platformCompatConfig) ConvertWithBp2build(ctx android.TopDownMutatorContext) { props := bazel.BazelTargetModuleProperties{ Rule_class: "platform_compat_config", Bzl_load_location: "//build/bazel/rules/java:platform_compat_config.bzl", } attr := &bazelPlatformCompatConfigAttributes{ Src: *bazel.MakeLabelAttribute( android.BazelLabelForModuleSrcSingle(ctx, proptools.String(p.properties.Src)).Label), } ctx.CreateBazelTargetModule(props, android.CommonAttributes{ Name: p.Name(), }, attr) } func PlatformCompatConfigFactory() android.Module { module := &platformCompatConfig{} module.AddProperties(&module.properties) android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon) android.InitBazelModule(module) return module } Loading Loading
android/allowlists/allowlists.go +3 −0 Original line number Diff line number Diff line Loading @@ -788,6 +788,9 @@ var ( "binderUtilsHostTest", "run_dex2oat_test", "bluetooth-address-unit-tests", // for platform_compat_config "process-compat-config", } Bp2buildModuleTypeAlwaysConvertList = []string{ Loading
bp2build/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ bootstrap_go_package { "linker_config_conversion_test.go", "package_conversion_test.go", "performance_test.go", "platform_compat_config_conversion_test.go", "prebuilt_etc_conversion_test.go", "python_binary_conversion_test.go", "python_library_conversion_test.go", Loading
bp2build/platform_compat_config_conversion_test.go 0 → 100644 +53 −0 Original line number Diff line number Diff line // Copyright 2023 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 bp2build import ( "testing" "android/soong/android" "android/soong/java" ) func runPlatformCompatConfigTestCase(t *testing.T, tc Bp2buildTestCase) { t.Helper() RunBp2BuildTestCase(t, func(ctx android.RegistrationContext) { ctx.RegisterModuleType("java_library", java.LibraryFactory) ctx.RegisterModuleType("platform_compat_config", java.PlatformCompatConfigFactory) }, tc) } func TestPlatformCompatConfig(t *testing.T) { runPlatformCompatConfigTestCase(t, Bp2buildTestCase{ Description: "platform_compat_config - conversion test", Blueprint: ` platform_compat_config { name: "foo", src: ":lib", }`, Filesystem: map[string]string{ "a/b/Android.bp": ` java_library { name: "lib", srcs: ["a.java"], }`, }, ExpectedBazelTargets: []string{ MakeBazelTarget("platform_compat_config", "foo", AttrNameToString{ "src": `"//a/b:lib"`, }), }, }) }
java/platform_compat_config.go +23 −0 Original line number Diff line number Diff line Loading @@ -19,7 +19,10 @@ import ( "path/filepath" "android/soong/android" "android/soong/bazel" "github.com/google/blueprint" "github.com/google/blueprint/proptools" ) func init() { Loading Loading @@ -54,6 +57,7 @@ type platformCompatConfigProperties struct { type platformCompatConfig struct { android.ModuleBase android.BazelModuleBase properties platformCompatConfigProperties installDirPath android.InstallPath Loading Loading @@ -122,10 +126,29 @@ func (p *platformCompatConfig) AndroidMkEntries() []android.AndroidMkEntries { }} } type bazelPlatformCompatConfigAttributes struct { Src bazel.LabelAttribute } func (p *platformCompatConfig) ConvertWithBp2build(ctx android.TopDownMutatorContext) { props := bazel.BazelTargetModuleProperties{ Rule_class: "platform_compat_config", Bzl_load_location: "//build/bazel/rules/java:platform_compat_config.bzl", } attr := &bazelPlatformCompatConfigAttributes{ Src: *bazel.MakeLabelAttribute( android.BazelLabelForModuleSrcSingle(ctx, proptools.String(p.properties.Src)).Label), } ctx.CreateBazelTargetModule(props, android.CommonAttributes{ Name: p.Name(), }, attr) } func PlatformCompatConfigFactory() android.Module { module := &platformCompatConfig{} module.AddProperties(&module.properties) android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon) android.InitBazelModule(module) return module } Loading