diff options
71 files changed, 1177 insertions, 755 deletions
diff --git a/aconfig/aconfig_declarations.go b/aconfig/aconfig_declarations.go index f19ddb8be..897f8925a 100644 --- a/aconfig/aconfig_declarations.go +++ b/aconfig/aconfig_declarations.go @@ -74,8 +74,8 @@ func (module *DeclarationsModule) DepsMutator(ctx android.BottomUpMutatorContext // RELEASE_ACONFIG_VALUE_SETS, and add any aconfig_values that // match our package. valuesFromConfig := ctx.Config().ReleaseAconfigValueSets() - if valuesFromConfig != "" { - ctx.AddDependency(ctx.Module(), implicitValuesTag, valuesFromConfig) + if len(valuesFromConfig) > 0 { + ctx.AddDependency(ctx.Module(), implicitValuesTag, valuesFromConfig...) } } diff --git a/aconfig/java_aconfig_library.go b/aconfig/java_aconfig_library.go index 79573c787..f7f8db85d 100644 --- a/aconfig/java_aconfig_library.go +++ b/aconfig/java_aconfig_library.go @@ -99,6 +99,7 @@ type bazelJavaAconfigLibraryAttributes struct { Aconfig_declarations bazel.LabelAttribute Test *bool Sdk_version *string + Libs bazel.LabelListAttribute } func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) Bp2build(ctx android.Bp2buildMutatorContext, module *java.GeneratedJavaLibraryModule) { @@ -118,10 +119,28 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) Bp2build(ctx android.B // modules in framework/base use core_platform which is not supported by bazel yet. // TODO(b/302148527): change soong to default to system_current as well. sdkVersion := "system_current" + + var libs bazel.LabelListAttribute + archVariantProps := module.GetArchVariantProperties(ctx, &java.CommonProperties{}) + for axis, configToProps := range archVariantProps { + for config, p := range configToProps { + if archProps, ok := p.(*java.CommonProperties); ok { + var libLabels []bazel.Label + for _, d := range archProps.Libs { + neverlinkLabel := android.BazelLabelForModuleDepSingle(ctx, d) + neverlinkLabel.Label = neverlinkLabel.Label + "-neverlink" + libLabels = append(libLabels, neverlinkLabel) + } + libs.SetSelectValue(axis, config, (bazel.MakeLabelList(libLabels))) + } + } + } + attrs := bazelJavaAconfigLibraryAttributes{ Aconfig_declarations: *bazel.MakeLabelAttribute(android.BazelLabelForModuleDepSingle(ctx, callbacks.properties.Aconfig_declarations).Label), Test: callbacks.properties.Test, Sdk_version: &sdkVersion, + Libs: libs, } props := bazel.BazelTargetModuleProperties{ Rule_class: "java_aconfig_library", diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go index 53546114a..014b3cc00 100644 --- a/android/allowlists/allowlists.go +++ b/android/allowlists/allowlists.go @@ -174,6 +174,7 @@ var ( "external/jsr330": Bp2BuildDefaultTrueRecursively, "external/junit": Bp2BuildDefaultTrueRecursively, "external/kotlinc": Bp2BuildDefaultTrueRecursively, + "external/kotlinx.coroutines": Bp2BuildDefaultTrueRecursively, "external/libaom": Bp2BuildDefaultTrueRecursively, "external/libavc": Bp2BuildDefaultTrueRecursively, "external/libcap": Bp2BuildDefaultTrueRecursively, @@ -186,8 +187,8 @@ var ( "external/libhevc": Bp2BuildDefaultTrueRecursively, "external/libjpeg-turbo": Bp2BuildDefaultTrueRecursively, "external/libmpeg2": Bp2BuildDefaultTrueRecursively, - "external/libpng": Bp2BuildDefaultTrueRecursively, "external/libphonenumber": Bp2BuildDefaultTrueRecursively, + "external/libpng": Bp2BuildDefaultTrueRecursively, "external/libvpx": Bp2BuildDefaultTrueRecursively, "external/libyuv": Bp2BuildDefaultTrueRecursively, "external/lz4/lib": Bp2BuildDefaultTrue, @@ -203,11 +204,12 @@ var ( "external/pcre": Bp2BuildDefaultTrueRecursively, "external/perfmark/api": Bp2BuildDefaultTrueRecursively, "external/protobuf": Bp2BuildDefaultTrueRecursively, - "external/python/pyyaml/lib/yaml": Bp2BuildDefaultTrueRecursively, - "external/python/six": Bp2BuildDefaultTrueRecursively, "external/python/jinja/src": Bp2BuildDefaultTrueRecursively, "external/python/markupsafe/src": Bp2BuildDefaultTrueRecursively, + "external/python/pyfakefs/pyfakefs": Bp2BuildDefaultTrueRecursively, + "external/python/pyyaml/lib/yaml": Bp2BuildDefaultTrueRecursively, "external/python/setuptools": Bp2BuildDefaultTrueRecursively, + "external/python/six": Bp2BuildDefaultTrueRecursively, "external/rappor": Bp2BuildDefaultTrueRecursively, "external/scudo": Bp2BuildDefaultTrueRecursively, "external/selinux/checkpolicy": Bp2BuildDefaultTrueRecursively, @@ -218,60 +220,63 @@ var ( "external/tinyalsa": Bp2BuildDefaultTrueRecursively, "external/tinyalsa_new": Bp2BuildDefaultTrueRecursively, "external/toybox": Bp2BuildDefaultTrueRecursively, + "external/truth": Bp2BuildDefaultTrueRecursively, "external/xz-java": Bp2BuildDefaultTrueRecursively, "external/zlib": Bp2BuildDefaultTrueRecursively, "external/zopfli": Bp2BuildDefaultTrueRecursively, "external/zstd": Bp2BuildDefaultTrueRecursively, "frameworks/av": Bp2BuildDefaultTrue, - "frameworks/av/media/audioaidlconversion": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/codec2/components/aom": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/codecs": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/liberror": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/libmediahelper": Bp2BuildDefaultTrue, - "frameworks/av/media/libshmem": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/module/codecs": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/module/foundation": Bp2BuildDefaultTrueRecursively, - "frameworks/av/media/module/minijail": Bp2BuildDefaultTrueRecursively, - "frameworks/av/services/minijail": Bp2BuildDefaultTrueRecursively, - "frameworks/base/apex/jobscheduler/service/jni": Bp2BuildDefaultTrueRecursively, - "frameworks/base/core/java": Bp2BuildDefaultTrue, - "frameworks/base/core/res": Bp2BuildDefaultTrueRecursively, - "frameworks/base/libs/androidfw": Bp2BuildDefaultTrue, - "frameworks/base/libs/services": Bp2BuildDefaultTrue, - "frameworks/base/media/tests/MediaDump": Bp2BuildDefaultTrue, - "frameworks/base/mime": Bp2BuildDefaultTrueRecursively, - "frameworks/base/proto": Bp2BuildDefaultTrue, - "frameworks/base/services/tests/servicestests/aidl": Bp2BuildDefaultTrue, - "frameworks/base/startop/apps/test": Bp2BuildDefaultTrue, - "frameworks/base/tests/appwidgets/AppWidgetHostTest": Bp2BuildDefaultTrueRecursively, - "frameworks/base/tools/aapt": Bp2BuildDefaultTrue, - "frameworks/base/tools/aapt2": Bp2BuildDefaultTrue, - "frameworks/base/tools/codegen": Bp2BuildDefaultTrueRecursively, - "frameworks/base/tools/locked_region_code_injection": Bp2BuildDefaultTrueRecursively, - "frameworks/base/tools/streaming_proto": Bp2BuildDefaultTrueRecursively, - "frameworks/hardware/interfaces": Bp2BuildDefaultTrue, - "frameworks/hardware/interfaces/displayservice": Bp2BuildDefaultTrueRecursively, - "frameworks/hardware/interfaces/stats/aidl": Bp2BuildDefaultTrue, - "frameworks/libs/modules-utils/build": Bp2BuildDefaultTrueRecursively, - "frameworks/libs/modules-utils/java": Bp2BuildDefaultTrue, - "frameworks/native": Bp2BuildDefaultTrue, - "frameworks/native/libs/adbd_auth": Bp2BuildDefaultTrueRecursively, - "frameworks/native/libs/arect": Bp2BuildDefaultTrueRecursively, - "frameworks/native/libs/binder": Bp2BuildDefaultTrue, - "frameworks/native/libs/gui": Bp2BuildDefaultTrue, - "frameworks/native/libs/math": Bp2BuildDefaultTrueRecursively, - "frameworks/native/libs/nativebase": Bp2BuildDefaultTrueRecursively, - "frameworks/native/libs/permission": Bp2BuildDefaultTrueRecursively, - "frameworks/native/libs/ui": Bp2BuildDefaultTrue, - "frameworks/native/libs/vr": Bp2BuildDefaultTrueRecursively, - "frameworks/native/opengl/tests/gl2_cameraeye": Bp2BuildDefaultTrue, - "frameworks/native/opengl/tests/gl2_java": Bp2BuildDefaultTrue, - "frameworks/native/opengl/tests/testLatency": Bp2BuildDefaultTrue, - "frameworks/native/opengl/tests/testPauseResume": Bp2BuildDefaultTrue, - "frameworks/native/opengl/tests/testViewport": Bp2BuildDefaultTrue, - "frameworks/native/services/batteryservice": Bp2BuildDefaultTrue, - "frameworks/proto_logging/stats": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/audioaidlconversion": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/codec2/components/aom": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/codecs": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/liberror": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/libmediahelper": Bp2BuildDefaultTrue, + "frameworks/av/media/libshmem": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/module/codecs": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/module/foundation": Bp2BuildDefaultTrueRecursively, + "frameworks/av/media/module/minijail": Bp2BuildDefaultTrueRecursively, + "frameworks/av/services/minijail": Bp2BuildDefaultTrueRecursively, + "frameworks/base/apex/jobscheduler/service/jni": Bp2BuildDefaultTrueRecursively, + "frameworks/base/core/java": Bp2BuildDefaultTrue, + "frameworks/base/core/res": Bp2BuildDefaultTrueRecursively, + "frameworks/base/errorprone": Bp2BuildDefaultTrueRecursively, + "frameworks/base/libs/androidfw": Bp2BuildDefaultTrue, + "frameworks/base/libs/services": Bp2BuildDefaultTrue, + "frameworks/base/media/tests/MediaDump": Bp2BuildDefaultTrue, + "frameworks/base/mime": Bp2BuildDefaultTrueRecursively, + "frameworks/base/proto": Bp2BuildDefaultTrue, + "frameworks/base/services/tests/servicestests/aidl": Bp2BuildDefaultTrue, + "frameworks/base/startop/apps/test": Bp2BuildDefaultTrue, + "frameworks/base/tests/appwidgets/AppWidgetHostTest": Bp2BuildDefaultTrueRecursively, + "frameworks/base/tools/aapt": Bp2BuildDefaultTrue, + "frameworks/base/tools/aapt2": Bp2BuildDefaultTrue, + "frameworks/base/tools/codegen": Bp2BuildDefaultTrueRecursively, + "frameworks/base/tools/locked_region_code_injection": Bp2BuildDefaultTrueRecursively, + "frameworks/base/tools/streaming_proto": Bp2BuildDefaultTrueRecursively, + "frameworks/hardware/interfaces": Bp2BuildDefaultTrue, + "frameworks/hardware/interfaces/displayservice": Bp2BuildDefaultTrueRecursively, + "frameworks/hardware/interfaces/stats/aidl": Bp2BuildDefaultTrue, + "frameworks/libs/modules-utils/build": Bp2BuildDefaultTrueRecursively, + "frameworks/libs/modules-utils/java": Bp2BuildDefaultTrueRecursively, + "frameworks/libs/modules-utils/java/com/android/modules/utils/testing": Bp2BuildDefaultFalseRecursively, + "frameworks/native": Bp2BuildDefaultTrue, + "frameworks/native/libs/adbd_auth": Bp2BuildDefaultTrueRecursively, + "frameworks/native/libs/arect": Bp2BuildDefaultTrueRecursively, + "frameworks/native/libs/binder": Bp2BuildDefaultTrue, + "frameworks/native/libs/gui": Bp2BuildDefaultTrue, + "frameworks/native/libs/math": Bp2BuildDefaultTrueRecursively, + "frameworks/native/libs/nativebase": Bp2BuildDefaultTrueRecursively, + "frameworks/native/libs/permission": Bp2BuildDefaultTrueRecursively, + "frameworks/native/libs/ui": Bp2BuildDefaultTrue, + "frameworks/native/libs/vr": Bp2BuildDefaultTrueRecursively, + "frameworks/native/opengl/tests/gl2_cameraeye": Bp2BuildDefaultTrue, + "frameworks/native/opengl/tests/gl2_java": Bp2BuildDefaultTrue, + "frameworks/native/opengl/tests/testLatency": Bp2BuildDefaultTrue, + "frameworks/native/opengl/tests/testPauseResume": Bp2BuildDefaultTrue, + "frameworks/native/opengl/tests/testViewport": Bp2BuildDefaultTrue, + "frameworks/native/services/batteryservice": Bp2BuildDefaultTrue, + "frameworks/proto_logging/stats": Bp2BuildDefaultTrueRecursively, "hardware/interfaces": Bp2BuildDefaultTrue, "hardware/interfaces/audio/aidl": Bp2BuildDefaultTrue, @@ -324,37 +329,38 @@ var ( "libnativehelper": Bp2BuildDefaultTrueRecursively, - "packages/apps/DevCamera": Bp2BuildDefaultTrue, - "packages/apps/HTMLViewer": Bp2BuildDefaultTrue, - "packages/apps/Protips": Bp2BuildDefaultTrue, - "packages/apps/SafetyRegulatoryInfo": Bp2BuildDefaultTrue, - "packages/apps/WallpaperPicker": Bp2BuildDefaultTrue, - "packages/modules/NeuralNetworks/driver/cache": Bp2BuildDefaultTrueRecursively, - "packages/modules/StatsD/lib/libstatssocket": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb": Bp2BuildDefaultTrue, - "packages/modules/adb/apex": Bp2BuildDefaultTrue, - "packages/modules/adb/fastdeploy": Bp2BuildDefaultTrue, - "packages/modules/adb/crypto": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb/libs": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb/pairing_auth": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb/pairing_connection": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb/proto": Bp2BuildDefaultTrueRecursively, - "packages/modules/adb/tls": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/bpf_progs": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/service-t": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/service/native": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/staticlibs/native": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/staticlibs/netd": Bp2BuildDefaultTrueRecursively, - "packages/modules/Connectivity/tests/unit/jni": Bp2BuildDefaultTrueRecursively, - "packages/modules/Gki/libkver": Bp2BuildDefaultTrue, - "packages/modules/NetworkStack/common/captiveportal": Bp2BuildDefaultTrue, - "packages/modules/NeuralNetworks/apex": Bp2BuildDefaultTrue, - "packages/modules/NeuralNetworks/apex/testing": Bp2BuildDefaultTrue, - "packages/modules/SdkExtensions/gen_sdk": Bp2BuildDefaultTrue, - "packages/modules/common/proto": Bp2BuildDefaultTrue, - "packages/providers/MediaProvider/tools/dialogs": Bp2BuildDefaultFalse, // TODO(b/242834374) - "packages/screensavers/Basic": Bp2BuildDefaultTrue, - "packages/services/Car/tests/SampleRearViewCamera": Bp2BuildDefaultFalse, // TODO(b/242834321) + "packages/apps/DevCamera": Bp2BuildDefaultTrue, + "packages/apps/HTMLViewer": Bp2BuildDefaultTrue, + "packages/apps/Protips": Bp2BuildDefaultTrue, + "packages/apps/SafetyRegulatoryInfo": Bp2BuildDefaultTrue, + "packages/apps/WallpaperPicker": Bp2BuildDefaultTrue, + "packages/modules/Connectivity/bpf_progs": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/service-t": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/service/native": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/staticlibs/native": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/staticlibs/netd": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/staticlibs/netd/libnetdutils": Bp2BuildDefaultTrueRecursively, + "packages/modules/Connectivity/tests/unit/jni": Bp2BuildDefaultTrueRecursively, + "packages/modules/Gki/libkver": Bp2BuildDefaultTrue, + "packages/modules/NetworkStack/common/captiveportal": Bp2BuildDefaultTrue, + "packages/modules/NeuralNetworks/apex": Bp2BuildDefaultTrue, + "packages/modules/NeuralNetworks/apex/testing": Bp2BuildDefaultTrue, + "packages/modules/NeuralNetworks/driver/cache": Bp2BuildDefaultTrueRecursively, + "packages/modules/SdkExtensions/gen_sdk": Bp2BuildDefaultTrue, + "packages/modules/StatsD/lib/libstatssocket": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb": Bp2BuildDefaultTrue, + "packages/modules/adb/apex": Bp2BuildDefaultTrue, + "packages/modules/adb/crypto": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb/fastdeploy": Bp2BuildDefaultTrue, + "packages/modules/adb/libs": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb/pairing_auth": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb/pairing_connection": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb/proto": Bp2BuildDefaultTrueRecursively, + "packages/modules/adb/tls": Bp2BuildDefaultTrueRecursively, + "packages/modules/common/proto": Bp2BuildDefaultTrue, + "packages/providers/MediaProvider/tools/dialogs": Bp2BuildDefaultFalse, // TODO(b/242834374) + "packages/screensavers/Basic": Bp2BuildDefaultTrue, + "packages/services/Car/tests/SampleRearViewCamera": Bp2BuildDefaultFalse, // TODO(b/242834321) "platform_testing/libraries/annotations": Bp2BuildDefaultTrueRecursively, "platform_testing/libraries/flag-helpers/libflagtest": Bp2BuildDefaultTrueRecursively, @@ -362,19 +368,20 @@ var ( "prebuilts/clang/host/linux-x86": Bp2BuildDefaultTrueRecursively, "prebuilts/gradle-plugin": Bp2BuildDefaultTrueRecursively, - "prebuilts/runtime/mainline/platform/sdk": Bp2BuildDefaultTrueRecursively, "prebuilts/module_sdk": Bp2BuildDefaultTrueRecursively, + "prebuilts/runtime/mainline/platform/sdk": Bp2BuildDefaultTrueRecursively, "prebuilts/sdk": Bp2BuildDefaultTrue, "prebuilts/sdk/current/androidx": Bp2BuildDefaultTrue, "prebuilts/sdk/current/androidx-legacy": Bp2BuildDefaultTrue, + "prebuilts/sdk/current/extras/app-toolkit": Bp2BuildDefaultTrue, "prebuilts/sdk/current/extras/constraint-layout-x": Bp2BuildDefaultTrue, "prebuilts/sdk/current/extras/material-design-x": Bp2BuildDefaultTrue, - "prebuilts/sdk/current/extras/app-toolkit": Bp2BuildDefaultTrue, "prebuilts/sdk/current/support": Bp2BuildDefaultTrue, "prebuilts/tools": Bp2BuildDefaultTrue, "prebuilts/tools/common/m2": Bp2BuildDefaultTrue, "prebuilts/r8": Bp2BuildDefaultTrueRecursively, + "sdk/annotations": Bp2BuildDefaultTrueRecursively, "sdk/dumpeventlog": Bp2BuildDefaultTrue, "sdk/eventanalyzer": Bp2BuildDefaultTrue, @@ -430,6 +437,7 @@ var ( "system/libprocinfo": Bp2BuildDefaultTrue, "system/libvintf": Bp2BuildDefaultTrue, "system/libziparchive": Bp2BuildDefaultTrueRecursively, + "system/linkerconfig": Bp2BuildDefaultTrueRecursively, "system/logging": Bp2BuildDefaultTrueRecursively, "system/media": Bp2BuildDefaultTrue, "system/media/alsa_utils": Bp2BuildDefaultTrueRecursively, @@ -455,6 +463,7 @@ var ( "test/vts/vts_hal_hidl_target": Bp2BuildDefaultTrueRecursively, + "toolchain/pgo-profiles": Bp2BuildDefaultTrueRecursively, "tools/apifinder": Bp2BuildDefaultTrue, "tools/apksig": Bp2BuildDefaultTrue, "tools/dexter/slicer": Bp2BuildDefaultTrueRecursively, @@ -531,6 +540,8 @@ var ( } Bp2buildModuleAlwaysConvertList = []string{ + "aconfig.test.cpp", + "AconfigJavaHostTest", // aconfig "libonce_cell", "libanyhow", @@ -622,6 +633,7 @@ var ( "codec2_soft_exports", "compatibility_matrix_schema", "framework-connectivity-protos", + "framework-connectivity-javastream-protos", "gemmlowp_headers", "gl_headers", "libandroid_runtime_lazy", @@ -854,15 +866,6 @@ var ( // for api_fingerprint.txt generation "api_fingerprint", - // allowlisting for kotlinx_coroutines - "annotations", - "kotlinx-coroutines-android-annotation-stubs", - "kotlinx-coroutines-core", - "kotlinx_coroutines", - "kotlinx_coroutines-device", - "kotlinx_coroutines-host", - "kotlinx_coroutines_android", - // for building com.android.neuralnetworks "libimapper_stablec", "libimapper_providerutils", @@ -974,7 +977,6 @@ var ( "protoc-gen-grpc-java-plugin", "perfetto_trace-full", "tf-remote-client", - "truth", "tradefed-lite", "tradefed-isolation-protos", "snakeyaml_patched_src_files", @@ -1006,6 +1008,10 @@ var ( "libandroid_net_connectivity_com_android_net_module_util_jni", "libservice-connectivity", + + "mainline_modules_sdks_test", + + "fake_device_config", } Bp2buildModuleTypeAlwaysConvertList = []string{ @@ -1122,6 +1128,11 @@ var ( // rust support "libtombstoned_client_rust_bridge_code", "libtombstoned_client_wrapper", // rust conversions are not supported + // TODO: b/303474748 - aidl rules for java are incompatible with parcelable declarations + "modules-utils-list-slice", + "modules-utils-os", + "modules-utils-synchronous-result-receiver", + // unconverted deps "CarHTMLViewer", // depends on unconverted modules android.car-stubs, car-ui-lib "adb", // depends on unconverted modules: AdbWinApi, libandroidfw, libopenscreen-discovery, libopenscreen-platform-impl, libusb, bin2c_fastdeployagent, AdbWinUsbApi @@ -1141,7 +1152,6 @@ var ( "hidl_test_java", "host-libprotobuf-java-nano", // b/220869005, depends on libprotobuf-java-nano "jacoco-stubs", // b/245767077, depends on droidstubs - "libapexutil", // depends on unconverted modules: apex-info-list-tinyxml "libart", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support "libart-runtime", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support "libart-runtime-for-test", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support @@ -1165,6 +1175,7 @@ var ( "libstatslog_art", // depends on unconverted modules: statslog_art.cpp, statslog_art.h "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_* "malloc-rss-benchmark", // depends on unconverted modules: libmeminfo + "modules-utils-expresslog", // depends on unconverted modules: framework-statsd "pbtombstone", "crash_dump", // depends on libdebuggerd, libunwindstack "releasetools_test", // depends on unconverted modules: com.android.apex.compressed.v1 "robolectric-sqlite4java-0.282", // depends on unconverted modules: robolectric-sqlite4java-import, robolectric-sqlite4java-native @@ -1660,13 +1671,7 @@ var ( "libtest_with_dependency_loop_c", "libtestshared", - // depends on unconverted libprotobuf-java-nano - "dnsresolverprotosnano", - "launcherprotosnano", - "datastallprotosnano", - "devicepolicyprotosnano", - "ota_metadata_proto_java", - "merge_ota", + "merge_ota", // depends on ota_metadata_proto_java // releasetools "verity_utils", diff --git a/android/config.go b/android/config.go index 2930c86a6..8f72239b9 100644 --- a/android/config.go +++ b/android/config.go @@ -200,21 +200,23 @@ func (c Config) ReleaseVersion() string { } // The aconfig value set passed to aconfig, derived from RELEASE_VERSION -func (c Config) ReleaseAconfigValueSets() string { +func (c Config) ReleaseAconfigValueSets() []string { // This logic to handle both Soong module name and bazel target is temporary in order to // provide backward compatibility where aosp and internal both have the release // aconfig value set but can't be updated at the same time to use bazel target - value := strings.Split(c.config.productVariables.ReleaseAconfigValueSets, ":") - value_len := len(value) - if value_len > 2 { - // This shouldn't happen as this should be either a module name or a bazel target path. - panic(fmt.Errorf("config file: invalid value for release aconfig value sets: %s", - c.config.productVariables.ReleaseAconfigValueSets)) - } - if value_len > 0 { - return value[value_len-1] + var valueSets []string + for _, valueSet := range c.config.productVariables.ReleaseAconfigValueSets { + value := strings.Split(valueSet, ":") + valueLen := len(value) + if valueLen > 2 { + // This shouldn't happen as this should be either a module name or a bazel target path. + panic(fmt.Errorf("config file: invalid value for release aconfig value sets: %s", valueSet)) + } + if valueLen > 0 { + valueSets = append(valueSets, value[valueLen-1]) + } } - return "" + return valueSets } // The flag default permission value passed to aconfig diff --git a/android/variable.go b/android/variable.go index 006a77f11..ab6dfefd6 100644 --- a/android/variable.go +++ b/android/variable.go @@ -474,8 +474,8 @@ type ProductVariables struct { ProductBrand string `json:",omitempty"` BuildVersionTags []string `json:",omitempty"` - ReleaseVersion string `json:",omitempty"` - ReleaseAconfigValueSets string `json:",omitempty"` + ReleaseVersion string `json:",omitempty"` + ReleaseAconfigValueSets []string `json:",omitempty"` ReleaseAconfigFlagDefaultPermission string `json:",omitempty"` diff --git a/bazel/configurability.go b/bazel/configurability.go index a28432c01..2c9a5364a 100644 --- a/bazel/configurability.go +++ b/bazel/configurability.go @@ -133,7 +133,7 @@ func createPlatformArchMap() map[string]string { } result := make(map[string]string) for arch, allFeatures := range archFeatures { - result[arch] = "//build/bazel/platforms/arch:" + arch + result[arch] = "//build/bazel_common_rules/platforms/arch:" + arch // Sometimes we want to select on multiple features being active, so // add the power set of all possible features to the map. More details // in android.ModuleBase.GetArchVariantProperties @@ -160,33 +160,33 @@ var ( // A map of target operating systems to the Bazel label of the // constraint_value for the @platforms//os:os constraint_setting platformOsMap = map[string]string{ - OsAndroid: "//build/bazel/platforms/os:android", - OsDarwin: "//build/bazel/platforms/os:darwin", - OsLinux: "//build/bazel/platforms/os:linux_glibc", - osLinuxMusl: "//build/bazel/platforms/os:linux_musl", - osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", - OsWindows: "//build/bazel/platforms/os:windows", + OsAndroid: "//build/bazel_common_rules/platforms/os:android", + OsDarwin: "//build/bazel_common_rules/platforms/os:darwin", + OsLinux: "//build/bazel_common_rules/platforms/os:linux_glibc", + osLinuxMusl: "//build/bazel_common_rules/platforms/os:linux_musl", + osLinuxBionic: "//build/bazel_common_rules/platforms/os:linux_bionic", + OsWindows: "//build/bazel_common_rules/platforms/os:windows", ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, // The default condition of an os select map. } platformOsArchMap = map[string]string{ - osArchAndroidArm: "//build/bazel/platforms/os_arch:android_arm", - OsArchAndroidArm64: "//build/bazel/platforms/os_arch:android_arm64", - osArchAndroidRiscv64: "//build/bazel/platforms/os_arch:android_riscv64", - osArchAndroidX86: "//build/bazel/platforms/os_arch:android_x86", - osArchAndroidX86_64: "//build/bazel/platforms/os_arch:android_x86_64", - osArchDarwinArm64: "//build/bazel/platforms/os_arch:darwin_arm64", - osArchDarwinX86_64: "//build/bazel/platforms/os_arch:darwin_x86_64", - osArchLinuxX86: "//build/bazel/platforms/os_arch:linux_glibc_x86", - osArchLinuxX86_64: "//build/bazel/platforms/os_arch:linux_glibc_x86_64", - osArchLinuxMuslArm: "//build/bazel/platforms/os_arch:linux_musl_arm", - osArchLinuxMuslArm64: "//build/bazel/platforms/os_arch:linux_musl_arm64", - osArchLinuxMuslX86: "//build/bazel/platforms/os_arch:linux_musl_x86", - osArchLinuxMuslX86_64: "//build/bazel/platforms/os_arch:linux_musl_x86_64", - osArchLinuxBionicArm64: "//build/bazel/platforms/os_arch:linux_bionic_arm64", - osArchLinuxBionicX86_64: "//build/bazel/platforms/os_arch:linux_bionic_x86_64", - osArchWindowsX86: "//build/bazel/platforms/os_arch:windows_x86", - osArchWindowsX86_64: "//build/bazel/platforms/os_arch:windows_x86_64", + osArchAndroidArm: "//build/bazel_common_rules/platforms/os_arch:android_arm", + OsArchAndroidArm64: "//build/bazel_common_rules/platforms/os_arch:android_arm64", + osArchAndroidRiscv64: "//build/bazel_common_rules/platforms/os_arch:android_riscv64", + osArchAndroidX86: "//build/bazel_common_rules/platforms/os_arch:android_x86", + osArchAndroidX86_64: "//build/bazel_common_rules/platforms/os_arch:android_x86_64", + osArchDarwinArm64: "//build/bazel_common_rules/platforms/os_arch:darwin_arm64", + osArchDarwinX86_64: "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64", + osArchLinuxX86: "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86", + osArchLinuxX86_64: "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86_64", + osArchLinuxMuslArm: "//build/bazel_common_rules/platforms/os_arch:linux_musl_arm", + osArchLinuxMuslArm64: "//build/bazel_common_rules/platforms/os_arch:linux_musl_arm64", + osArchLinuxMuslX86: "//build/bazel_common_rules/platforms/os_arch:linux_musl_x86", + osArchLinuxMuslX86_64: "//build/bazel_common_rules/platforms/os_arch:linux_musl_x86_64", + osArchLinuxBionicArm64: "//build/bazel_common_rules/platforms/os_arch:linux_bionic_arm64", + osArchLinuxBionicX86_64: "//build/bazel_common_rules/platforms/os_arch:linux_bionic_x86_64", + osArchWindowsX86: "//build/bazel_common_rules/platforms/os_arch:windows_x86", + osArchWindowsX86_64: "//build/bazel_common_rules/platforms/os_arch:windows_x86_64", ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, // The default condition of an os select map. } @@ -209,11 +209,11 @@ var ( AndroidAndInApex: "//build/bazel/rules/apex:android-in_apex", AndroidPlatform: "//build/bazel/rules/apex:system", Unbundled_app: "//build/bazel/rules/apex:unbundled_app", - OsDarwin: "//build/bazel/platforms/os:darwin", - OsLinux: "//build/bazel/platforms/os:linux_glibc", - osLinuxMusl: "//build/bazel/platforms/os:linux_musl", - osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", - OsWindows: "//build/bazel/platforms/os:windows", + OsDarwin: "//build/bazel_common_rules/platforms/os:darwin", + OsLinux: "//build/bazel_common_rules/platforms/os:linux_glibc", + osLinuxMusl: "//build/bazel_common_rules/platforms/os:linux_musl", + osLinuxBionic: "//build/bazel_common_rules/platforms/os:linux_bionic", + OsWindows: "//build/bazel_common_rules/platforms/os:windows", ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, } diff --git a/bp2build/Android.bp b/bp2build/Android.bp index e30e53d86..a93fb38c8 100644 --- a/bp2build/Android.bp +++ b/bp2build/Android.bp @@ -77,6 +77,7 @@ bootstrap_go_package { "java_proto_conversion_test.go", "java_sdk_library_conversion_test.go", "java_sdk_library_import_conversion_test.go", + "java_test_host_conversion_test.go", "license_conversion_test.go", "license_kind_conversion_test.go", "linker_config_conversion_test.go", diff --git a/bp2build/aar_conversion_test.go b/bp2build/aar_conversion_test.go index 475c2d666..bdad1f4cd 100644 --- a/bp2build/aar_conversion_test.go +++ b/bp2build/aar_conversion_test.go @@ -69,8 +69,8 @@ android_library { "TestLib", AttrNameToString{ "srcs": `["lib.java"] + select({ - "//build/bazel/platforms/arch:arm": ["arm.java"], - "//build/bazel/platforms/arch:x86": ["x86.java"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm.java"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.java"], "//conditions:default": [], })`, "manifest": `"manifest/AndroidManifest.xml"`, diff --git a/bp2build/aconfig_conversion_test.go b/bp2build/aconfig_conversion_test.go index 9d73ec09c..ca41680a6 100644 --- a/bp2build/aconfig_conversion_test.go +++ b/bp2build/aconfig_conversion_test.go @@ -128,7 +128,7 @@ func TestCcAconfigLibrary(t *testing.T) { AttrNameToString{ "aconfig_declarations": `":foo_aconfig_declarations"`, "dynamic_deps": `[":server_configurable_flags"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, )} RunBp2BuildTestCase(t, registerAconfigModuleTypes, Bp2buildTestCase{ @@ -147,9 +147,15 @@ func TestJavaAconfigLibrary(t *testing.T) { ], package: "com.android.foo", } + java_library { + name: "foo_java_library", + srcs: ["foo.java"], + sdk_version: "current", + } java_aconfig_library { name: "foo", aconfig_declarations: "foo_aconfig_declarations", + libs: ["foo_java_library"], test: true, } ` @@ -163,13 +169,24 @@ func TestJavaAconfigLibrary(t *testing.T) { }, ), MakeBazelTargetNoRestrictions( + "java_library", + "foo_java_library", + AttrNameToString{ + "srcs": `["foo.java"]`, + "sdk_version": `"current"`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, + }, + ), + MakeNeverlinkDuplicateTarget("java_library", "foo_java_library"), + MakeBazelTargetNoRestrictions( "java_aconfig_library", "foo", AttrNameToString{ "aconfig_declarations": `":foo_aconfig_declarations"`, + "libs": `[":foo_java_library-neverlink"]`, "test": `True`, "sdk_version": `"system_current"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, )} RunBp2BuildTestCase(t, registerAconfigModuleTypes, Bp2buildTestCase{ @@ -215,7 +232,7 @@ func TestJavaAconfigLibraryAsTaggedOutput(t *testing.T) { "aconfig_declarations": `":foo_aconfig_declarations"`, "test": `True`, "sdk_version": `"system_current"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, ), MakeBazelTargetNoRestrictions( @@ -224,7 +241,7 @@ func TestJavaAconfigLibraryAsTaggedOutput(t *testing.T) { AttrNameToString{ "srcs": `[":foo_aconfig_library.generated_srcjars"]`, "sdk_version": `"current"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, ), MakeNeverlinkDuplicateTarget("java_library", "foo_library"), diff --git a/bp2build/android_app_conversion_test.go b/bp2build/android_app_conversion_test.go index afe6dcd55..33d1a040d 100644 --- a/bp2build/android_app_conversion_test.go +++ b/bp2build/android_app_conversion_test.go @@ -167,8 +167,8 @@ android_app { ExpectedBazelTargets: []string{ MakeBazelTarget("android_binary", "TestApp", AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/arch:arm": ["arm.java"], - "//build/bazel/platforms/arch:x86": ["x86.java"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm.java"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.java"], "//conditions:default": [], })`, "manifest": `"AndroidManifest.xml"`, @@ -508,7 +508,7 @@ filegroup { "manifest": `"AndroidManifest.xml"`, "resource_files": `["res/values/attrs.xml"]`, "resource_zips": `["resource_zip.zip"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), MakeBazelTargetNoRestrictions("filegroup", "framework-res-package-jar", AttrNameToString{ "srcs": `[":framework-res.export-package.apk"]`, diff --git a/bp2build/apex_conversion_test.go b/bp2build/apex_conversion_test.go index 5871d5921..bdb655b78 100644 --- a/bp2build/apex_conversion_test.go +++ b/bp2build/apex_conversion_test.go @@ -158,22 +158,22 @@ apex { "manifest": `"apogee_manifest.json"`, "min_sdk_version": `"29"`, "native_shared_libs_32": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ ":native_shared_lib_1", ":native_shared_lib_2", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ ":native_shared_lib_1", ":native_shared_lib_2", ], "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ ":native_shared_lib_1", ":native_shared_lib_2", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ ":native_shared_lib_1", ":native_shared_lib_2", ], @@ -293,18 +293,18 @@ filegroup { ":native_shared_lib_for_both", ":native_shared_lib_for_lib32", ] + select({ - "//build/bazel/platforms/arch:arm": [":native_shared_lib_for_first"], - "//build/bazel/platforms/arch:x86": [":native_shared_lib_for_first"], + "//build/bazel_common_rules/platforms/arch:arm": [":native_shared_lib_for_first"], + "//build/bazel_common_rules/platforms/arch:x86": [":native_shared_lib_for_first"], "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", ":native_shared_lib_for_first", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", @@ -322,13 +322,13 @@ func TestApexBundleCompileMultilibFirstAndDefaultValue(t *testing.T) { expectedBazelTargets := []string{ MakeBazelTarget("apex", "com.android.apogee", AttrNameToString{ "native_shared_libs_32": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib32", ":native_shared_lib_for_first", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib32", @@ -337,13 +337,13 @@ func TestApexBundleCompileMultilibFirstAndDefaultValue(t *testing.T) { "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", ":native_shared_lib_for_first", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", @@ -405,8 +405,8 @@ filegroup { ":native_shared_lib_for_both", ":native_shared_lib_for_lib32", ] + select({ - "//build/bazel/platforms/arch:arm": [":native_shared_lib_for_first"], - "//build/bazel/platforms/arch:x86": [":native_shared_lib_for_first"], + "//build/bazel_common_rules/platforms/arch:arm": [":native_shared_lib_for_first"], + "//build/bazel_common_rules/platforms/arch:x86": [":native_shared_lib_for_first"], "//conditions:default": [], })`, "file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`, @@ -433,13 +433,13 @@ filegroup { ExpectedBazelTargets: []string{ MakeBazelTarget("apex", "com.android.apogee", AttrNameToString{ "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", ":native_shared_lib_for_first", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ ":unnested_native_shared_lib", ":native_shared_lib_for_both", ":native_shared_lib_for_lib64", @@ -671,22 +671,22 @@ override_apex { "manifest": `"apogee_manifest.json"`, "min_sdk_version": `"29"`, "native_shared_libs_32": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ ":native_shared_lib_1", ":native_shared_lib_2", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ ":native_shared_lib_1", ":native_shared_lib_2", ], "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ ":native_shared_lib_1", ":native_shared_lib_2", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ ":native_shared_lib_1", ":native_shared_lib_2", ], @@ -796,13 +796,13 @@ override_apex { "manifest": `"apogee_manifest.json"`, "min_sdk_version": `"29"`, "native_shared_libs_32": `select({ - "//build/bazel/platforms/arch:arm": [":native_shared_lib_1"], - "//build/bazel/platforms/arch:x86": [":native_shared_lib_1"], + "//build/bazel_common_rules/platforms/arch:arm": [":native_shared_lib_1"], + "//build/bazel_common_rules/platforms/arch:x86": [":native_shared_lib_1"], "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [":native_shared_lib_1"], - "//build/bazel/platforms/arch:x86_64": [":native_shared_lib_1"], + "//build/bazel_common_rules/platforms/arch:arm64": [":native_shared_lib_1"], + "//build/bazel_common_rules/platforms/arch:x86_64": [":native_shared_lib_1"], "//conditions:default": [], })`, "testonly": "True", @@ -1298,13 +1298,13 @@ apex { "manifest": `"myapex_manifest.json"`, "binaries": `[":bar"]`, "native_shared_libs_32": `select({ - "//build/bazel/platforms/arch:arm": [":foo"], - "//build/bazel/platforms/arch:x86": [":foo"], + "//build/bazel_common_rules/platforms/arch:arm": [":foo"], + "//build/bazel_common_rules/platforms/arch:x86": [":foo"], "//conditions:default": [], })`, "native_shared_libs_64": `select({ - "//build/bazel/platforms/arch:arm64": [":foo"], - "//build/bazel/platforms/arch:x86_64": [":foo"], + "//build/bazel_common_rules/platforms/arch:arm64": [":foo"], + "//build/bazel_common_rules/platforms/arch:x86_64": [":foo"], "//conditions:default": [], })`, }), diff --git a/bp2build/apex_key_conversion_test.go b/bp2build/apex_key_conversion_test.go index 140afb76a..05e2f25bd 100644 --- a/bp2build/apex_key_conversion_test.go +++ b/bp2build/apex_key_conversion_test.go @@ -49,7 +49,7 @@ apex_key { ExpectedBazelTargets: []string{MakeBazelTargetNoRestrictions("apex_key", "com.android.apogee.key", AttrNameToString{ "private_key": `"com.android.apogee.pem"`, "public_key": `"com.android.apogee.avbpubkey"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }}) } @@ -72,7 +72,7 @@ apex_key { ExpectedBazelTargets: []string{MakeBazelTargetNoRestrictions("apex_key", "com.android.apogee.key", AttrNameToString{ "private_key_name": `"com.android.apogee.pem"`, "public_key_name": `"com.android.apogee.avbpubkey"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }}) } @@ -95,7 +95,7 @@ apex_key { ExpectedBazelTargets: []string{MakeBazelTargetNoRestrictions("apex_key", "com.android.apogee.key", AttrNameToString{ "private_key": `":com.android.apogee.pem"`, "public_key": `":com.android.apogee.avbpubkey"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }}) } diff --git a/bp2build/bp2build_product_config.go b/bp2build/bp2build_product_config.go index 3e004534e..2adccccfd 100644 --- a/bp2build/bp2build_product_config.go +++ b/bp2build/bp2build_product_config.go @@ -29,6 +29,8 @@ type bazelLabel struct { target string } +const releaseAconfigValueSetsName = "release_aconfig_value_sets" + func (l *bazelLabel) Less(other *bazelLabel) bool { if l.repo < other.repo { return true @@ -343,10 +345,11 @@ func platformMappingSingleProduct( result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:product_brand=%s\n", productVariables.ProductBrand)) result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:product_manufacturer=%s\n", productVariables.ProductManufacturer)) result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:release_aconfig_flag_default_permission=%s\n", productVariables.ReleaseAconfigFlagDefaultPermission)) - // Empty string can't be used as label_flag on the bazel side + releaseAconfigValueSets := "//build/bazel/product_config:empty_aconfig_value_sets" if len(productVariables.ReleaseAconfigValueSets) > 0 { - result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:release_aconfig_value_sets=%s\n", productVariables.ReleaseAconfigValueSets)) + releaseAconfigValueSets = "@//" + label.pkg + ":" + releaseAconfigValueSetsName + "_" + label.target } + result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:release_aconfig_value_sets=%s\n", releaseAconfigValueSets)) result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:release_version=%s\n", productVariables.ReleaseVersion)) result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:platform_sdk_version=%d\n", platform_sdk_version)) result.WriteString(fmt.Sprintf(" --//build/bazel/product_config:safestack=%t\n", proptools.Bool(productVariables.Safestack))) @@ -481,6 +484,7 @@ func starlarkMapToProductVariables(in map[string]starlark.Value) (android.Produc func createTargets(productLabelsToVariables map[bazelLabel]*android.ProductVariables, res map[string]BazelTargets) { createGeneratedAndroidCertificateDirectories(productLabelsToVariables, res) createAvbKeyFilegroups(productLabelsToVariables, res) + createReleaseAconfigValueSetsFilegroup(productLabelsToVariables, res) for label, variables := range productLabelsToVariables { createSystemPartition(label, &variables.PartitionVarsForBazelMigrationOnlyDoNotUse, res) } @@ -515,6 +519,40 @@ func createGeneratedAndroidCertificateDirectories(productLabelsToVariables map[b } } +func createReleaseAconfigValueSetsFilegroup(productLabelsToVariables map[bazelLabel]*android.ProductVariables, targets map[string]BazelTargets) { + for label, productVariables := range productLabelsToVariables { + if len(productVariables.ReleaseAconfigValueSets) > 0 { + key := label.target + dir := label.pkg + var value_sets strings.Builder + for _, value_set := range productVariables.ReleaseAconfigValueSets { + value_sets.WriteString(" \"" + value_set + "\",\n") + } + + name := releaseAconfigValueSetsName + "_" + key + content := "aconfig_value_sets(\n" + + " name = \"" + name + "\",\n" + + " value_sets = [\n" + + value_sets.String() + + " ],\n" + + " visibility = [\"//visibility:public\"],\n" + + ")" + targets[dir] = append(targets[dir], BazelTarget{ + name: name, + packageName: dir, + content: content, + ruleClass: "aconfig_value_sets", + loads: []BazelLoad{{ + file: "//build/bazel/rules/aconfig:aconfig_value_sets.bzl", + symbols: []BazelLoadSymbol{{ + symbol: "aconfig_value_sets", + }}, + }}, + }) + } + } +} + func createAvbKeyFilegroups(productLabelsToVariables map[bazelLabel]*android.ProductVariables, targets map[string]BazelTargets) { var allAvbKeys []string for _, productVariables := range productLabelsToVariables { diff --git a/bp2build/bpf_conversion_test.go b/bp2build/bpf_conversion_test.go index 1259f9e35..26b0bf434 100644 --- a/bp2build/bpf_conversion_test.go +++ b/bp2build/bpf_conversion_test.go @@ -58,7 +58,7 @@ bpf { "bpfTestSrcOne.c", "bpfTestSrcTwo.c", ]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }, }) diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go index 0a4d749a7..f809bcc07 100644 --- a/bp2build/build_conversion_test.go +++ b/bp2build/build_conversion_test.go @@ -270,8 +270,8 @@ func TestGenerateBazelTargetModules(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTarget("custom", "foo", AttrNameToString{ "string_literal_prop": `select({ - "//build/bazel/platforms/arch:arm": "ARM", - "//build/bazel/platforms/arch:arm64": "ARM64", + "//build/bazel_common_rules/platforms/arch:arm": "ARM", + "//build/bazel_common_rules/platforms/arch:arm64": "ARM64", "//conditions:default": None, })`, }), @@ -382,60 +382,60 @@ custom { ExpectedBazelTargets: []string{ MakeBazelTarget("custom", "arch_paths", AttrNameToString{ "arch_paths": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "arm.txt", "lib32.txt", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "arm64.txt", "lib64.txt", ], - "//build/bazel/platforms/arch:riscv64": [ + "//build/bazel_common_rules/platforms/arch:riscv64": [ "riscv64.txt", "lib64.txt", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "x86.txt", "lib32.txt", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ "x86_64.txt", "lib64.txt", ], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "linux.txt", "bionic.txt", "android.txt", ], - "//build/bazel/platforms/os:darwin": [ + "//build/bazel_common_rules/platforms/os:darwin": [ "host.txt", "darwin.txt", "not_windows.txt", ], - "//build/bazel/platforms/os:linux_bionic": [ + "//build/bazel_common_rules/platforms/os:linux_bionic": [ "host.txt", "linux.txt", "bionic.txt", "linux_bionic.txt", "not_windows.txt", ], - "//build/bazel/platforms/os:linux_glibc": [ + "//build/bazel_common_rules/platforms/os:linux_glibc": [ "host.txt", "linux.txt", "glibc.txt", "linux_glibc.txt", "not_windows.txt", ], - "//build/bazel/platforms/os:linux_musl": [ + "//build/bazel_common_rules/platforms/os:linux_musl": [ "host.txt", "linux.txt", "musl.txt", "linux_musl.txt", "not_windows.txt", ], - "//build/bazel/platforms/os:windows": [ + "//build/bazel_common_rules/platforms/os:windows": [ "host.txt", "windows.txt", ], @@ -467,7 +467,7 @@ custom { }), MakeBazelTarget("custom", "has_dep", AttrNameToString{ "arch_paths": `select({ - "//build/bazel/platforms/arch:x86": [":dep"], + "//build/bazel_common_rules/platforms/arch:x86": [":dep"], "//conditions:default": [], })`, }), @@ -1768,8 +1768,8 @@ python_library { ExpectedBazelTargets: []string{ MakeBazelTarget("py_library", "fg_foo", map[string]string{ "data": `select({ - "//build/bazel/platforms/arch:arm": [":reqdarm"], - "//build/bazel/platforms/arch:x86": [":reqdx86"], + "//build/bazel_common_rules/platforms/arch:arm": [":reqdarm"], + "//build/bazel_common_rules/platforms/arch:x86": [":reqdx86"], "//conditions:default": [], })`, "srcs_version": `"PY3"`, diff --git a/bp2build/cc_binary_conversion_test.go b/bp2build/cc_binary_conversion_test.go index c67970375..2857a91df 100644 --- a/bp2build/cc_binary_conversion_test.go +++ b/bp2build/cc_binary_conversion_test.go @@ -618,13 +618,13 @@ cc_library { {"cc_library_static", "bar_bp2build_cc_library_static", AttrNameToString{ "local_includes": `["."]`, "srcs": `["b.cc"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, }, {"cc_library_shared", "bar", AttrNameToString{ "local_includes": `["."]`, "srcs": `["b.cc"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }, }, {"cc_binary", "foo", AttrNameToString{ @@ -653,7 +653,7 @@ func TestCcBinaryWithInstructionSet(t *testing.T) { targets: []testBazelTarget{ {"cc_binary", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:arm": ["arm_isa_arm"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm_isa_arm"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -713,8 +713,8 @@ func TestCcArchVariantBinarySuffix(t *testing.T) { {"cc_binary", "foo", AttrNameToString{ "local_includes": `["."]`, "suffix": `select({ - "//build/bazel/platforms/arch:arm": "-32", - "//build/bazel/platforms/arch:arm64": "-64", + "//build/bazel_common_rules/platforms/arch:arm": "-32", + "//build/bazel_common_rules/platforms/arch:arm64": "-64", "//conditions:default": None, })`, }}, @@ -775,7 +775,7 @@ func TestCcBinaryWithSyspropSrcsSomeConfigs(t *testing.T) { targets: []testBazelTarget{ {"sysprop_library", "foo_sysprop_library", AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/os:android": ["bar.sysprop"], + "//build/bazel_common_rules/platforms/os:android": ["bar.sysprop"], "//conditions:default": [], })`, }}, @@ -788,7 +788,7 @@ func TestCcBinaryWithSyspropSrcsSomeConfigs(t *testing.T) { "local_includes": `["."]`, "min_sdk_version": `"5"`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":foo_cc_sysprop_library_static"], + "//build/bazel_common_rules/platforms/os:android": [":foo_cc_sysprop_library_static"], "//conditions:default": [], })`, }}, @@ -866,8 +866,8 @@ func TestCcBinaryWithUBSanPropertiesArchSpecific(t *testing.T) { "ubsan_undefined", "ubsan_nullability", ] + select({ - "//build/bazel/platforms/os:android": ["ubsan_alignment"], - "//build/bazel/platforms/os:linux_glibc": ["ubsan_integer_overflow"], + "//build/bazel_common_rules/platforms/os:android": ["ubsan_alignment"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["ubsan_integer_overflow"], "//conditions:default": [], })`, }}, @@ -964,11 +964,11 @@ func TestCcBinaryWithThinLtoArchSpecific(t *testing.T) { {"cc_binary", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_riscv64": ["-android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": ["-android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_thin_lto"], "//conditions:default": [], })`, }}, @@ -998,7 +998,7 @@ func TestCcBinaryWithThinLtoDisabledDefaultEnabledVariant(t *testing.T) { {"cc_binary", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os:android": ["android_thin_lto"], "//conditions:default": ["-android_thin_lto"], })`, }}, @@ -1062,7 +1062,7 @@ func TestCcBinaryHiddenVisibilityConvertedToFeatureOsSpecific(t *testing.T) { {"cc_binary", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["visibility_hidden"], + "//build/bazel_common_rules/platforms/os:android": ["visibility_hidden"], "//conditions:default": [], })`, }}, @@ -1106,7 +1106,7 @@ func TestCcBinaryWithCfiOsSpecific(t *testing.T) { targets: []testBazelTarget{ {"cc_binary", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["android_cfi"], + "//build/bazel_common_rules/platforms/os:android": ["android_cfi"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -1187,8 +1187,8 @@ cc_binary { }}, {"cc_binary", "foo_with_arch_variant_stem", AttrNameToString{ "stem": `select({ - "//build/bazel/platforms/arch:arm": "foo-arm", - "//build/bazel/platforms/arch:arm64": "foo-arm64", + "//build/bazel_common_rules/platforms/arch:arm": "foo-arm", + "//build/bazel_common_rules/platforms/arch:arm64": "foo-arm64", "//conditions:default": None, })`, "local_includes": `["."]`, diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go index d19859645..188c81b2a 100644 --- a/bp2build/cc_library_conversion_test.go +++ b/bp2build/cc_library_conversion_test.go @@ -137,22 +137,22 @@ cc_library { "export_includes": `["foo-dir"]`, "implementation_deps": `[":some-headers"]`, "linkopts": `["-Wl,--exclude-libs=bar.a"] + select({ - "//build/bazel/platforms/arch:x86": ["-Wl,--exclude-libs=baz.a"], - "//build/bazel/platforms/arch:x86_64": ["-Wl,--exclude-libs=qux.a"], + "//build/bazel_common_rules/platforms/arch:x86": ["-Wl,--exclude-libs=baz.a"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["-Wl,--exclude-libs=qux.a"], "//conditions:default": [], })`, "srcs": `["impl.cpp"] + select({ - "//build/bazel/platforms/arch:x86": ["x86.cpp"], - "//build/bazel/platforms/arch:x86_64": ["x86_64.cpp"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.cpp"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["x86_64.cpp"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "bionic.cpp", "android.cpp", ], - "//build/bazel/platforms/os:darwin": ["darwin.cpp"], - "//build/bazel/platforms/os:linux_bionic": ["bionic.cpp"], - "//build/bazel/platforms/os:linux_glibc": ["linux.cpp"], + "//build/bazel_common_rules/platforms/os:darwin": ["darwin.cpp"], + "//build/bazel_common_rules/platforms/os:linux_bionic": ["bionic.cpp"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux.cpp"], "//conditions:default": [], })`, "sdk_version": `"current"`, @@ -228,8 +228,8 @@ cc_library { "-Wl,--exclude-libs=libclang_rt.builtins-i686-android.a", "-Wl,--exclude-libs=libclang_rt.builtins-x86_64-android.a", ] + select({ - "//build/bazel/platforms/arch:x86": ["-Wl,--exclude-libs=libgcc_eh.a"], - "//build/bazel/platforms/arch:x86_64": ["-Wl,--exclude-libs=libgcc_eh.a"], + "//build/bazel_common_rules/platforms/arch:x86": ["-Wl,--exclude-libs=libgcc_eh.a"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["-Wl,--exclude-libs=libgcc_eh.a"], "//conditions:default": [], })`, }), @@ -278,7 +278,7 @@ cc_library { Blueprint: soongCcLibraryPreamble, ExpectedBazelTargets: makeCcLibraryTargets("fake-libarm-optimized-routines-math", AttrNameToString{ "copts": `select({ - "//build/bazel/platforms/arch:arm64": ["-DHAVE_FAST_FMA=1"], + "//build/bazel_common_rules/platforms/arch:arm64": ["-DHAVE_FAST_FMA=1"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -688,14 +688,14 @@ cc_library_static { name: "android_dep_for_shared" } "bothflag", "staticflag", ] + select({ - "//build/bazel/platforms/arch:x86": ["-DX86_STATIC"], + "//build/bazel_common_rules/platforms/arch:x86": ["-DX86_STATIC"], "//conditions:default": [], })`, "implementation_deps": `[ ":static_dep_for_both", ":static_dep_for_static", ] + select({ - "//build/bazel/platforms/arch:x86": [":x86_dep_for_static"], + "//build/bazel_common_rules/platforms/arch:x86": [":x86_dep_for_static"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -703,7 +703,7 @@ cc_library_static { name: "android_dep_for_shared" } "both.cpp", "staticonly.cpp", ] + select({ - "//build/bazel/platforms/arch:x86": ["x86_static.cpp"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86_static.cpp"], "//conditions:default": [], })`, }), @@ -712,27 +712,27 @@ cc_library_static { name: "android_dep_for_shared" } "bothflag", "sharedflag", ] + select({ - "//build/bazel/platforms/arch:arm": ["-DARM_SHARED"], + "//build/bazel_common_rules/platforms/arch:arm": ["-DARM_SHARED"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": ["-DANDROID_SHARED"], + "//build/bazel_common_rules/platforms/os:android": ["-DANDROID_SHARED"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os_arch:android_arm": ["-DANDROID_ARM_SHARED"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["-DANDROID_ARM_SHARED"], "//conditions:default": [], })`, "implementation_deps": `[ ":static_dep_for_both", ":static_dep_for_shared", ] + select({ - "//build/bazel/platforms/arch:arm": [":arm_static_dep_for_shared"], + "//build/bazel_common_rules/platforms/arch:arm": [":arm_static_dep_for_shared"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [":android_dep_for_shared"], + "//build/bazel_common_rules/platforms/os:android": [":android_dep_for_shared"], "//conditions:default": [], })`, "implementation_dynamic_deps": `select({ - "//build/bazel/platforms/arch:arm": [":arm_shared_dep_for_shared"], + "//build/bazel_common_rules/platforms/arch:arm": [":arm_shared_dep_for_shared"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -740,14 +740,14 @@ cc_library_static { name: "android_dep_for_shared" } "both.cpp", "sharedonly.cpp", ] + select({ - "//build/bazel/platforms/arch:arm": ["arm_shared.cpp"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm_shared.cpp"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": ["android_shared.cpp"], + "//build/bazel_common_rules/platforms/os:android": ["android_shared.cpp"], "//conditions:default": [], })`, "whole_archive_deps": `select({ - "//build/bazel/platforms/arch:arm": [":arm_whole_static_dep_for_shared"], + "//build/bazel_common_rules/platforms/arch:arm": [":arm_whole_static_dep_for_shared"], "//conditions:default": [], })`, }), @@ -954,22 +954,22 @@ cc_library { Blueprint: soongCcLibraryPreamble, ExpectedBazelTargets: makeCcLibraryTargets("a", AttrNameToString{ "additional_linker_inputs": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "arm.map", "dynamic_arm.list", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "arm64.map", "dynamic_arm64.list", ], "//conditions:default": [], })`, "linkopts": `select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "-Wl,--version-script,$(location arm.map)", "-Wl,--dynamic-list,$(location dynamic_arm.list)", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "-Wl,--version-script,$(location arm64.map)", "-Wl,--dynamic-list,$(location dynamic_arm64.list)", ], @@ -977,8 +977,8 @@ cc_library { })`, "srcs": `["a.cpp"]`, "features": `select({ - "//build/bazel/platforms/arch:arm": ["android_cfi_exports_map"], - "//build/bazel/platforms/arch:arm64": ["android_cfi_exports_map"], + "//build/bazel_common_rules/platforms/arch:arm": ["android_cfi_exports_map"], + "//build/bazel_common_rules/platforms/arch:arm64": ["android_cfi_exports_map"], "//conditions:default": [], })`, }), @@ -1065,7 +1065,7 @@ func TestCcLibraryFeatures(t *testing.T) { })...) expected_targets = append(expected_targets, makeCcLibraryTargets("b", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ "disable_pack_relocations", "-no_undefined_symbols", ], @@ -1076,7 +1076,7 @@ func TestCcLibraryFeatures(t *testing.T) { })...) expected_targets = append(expected_targets, makeCcLibraryTargets("c", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:darwin": [ + "//build/bazel_common_rules/platforms/os:darwin": [ "disable_pack_relocations", "-no_undefined_symbols", ], @@ -1181,10 +1181,10 @@ func TestCcLibraryCppFlagsGoesIntoCopts(t *testing.T) { "-fsigned-char", "-pedantic", ] + select({ - "//build/bazel/platforms/arch:arm64": ["-DARM64=1"], + "//build/bazel_common_rules/platforms/arch:arm64": ["-DARM64=1"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": ["-DANDROID=1"], + "//build/bazel_common_rules/platforms/os:android": ["-DANDROID=1"], "//conditions:default": [], })`, "srcs": `["a.cpp"]`, @@ -1271,14 +1271,14 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("foo_static", AttrNameToString{ "implementation_deps": `select({ - "//build/bazel/platforms/arch:arm": [], + "//build/bazel_common_rules/platforms/arch:arm": [], "//conditions:default": [":arm_static_lib_excludes_bp2build_cc_library_static"], }) + select({ "//build/bazel/product_config/config_settings:malloc_not_svelte": [], "//conditions:default": [":malloc_not_svelte_static_lib_excludes_bp2build_cc_library_static"], })`, "implementation_dynamic_deps": `select({ - "//build/bazel/platforms/arch:arm": [], + "//build/bazel_common_rules/platforms/arch:arm": [], "//conditions:default": [":arm_shared_lib_excludes"], }) + select({ "//build/bazel/product_config/config_settings:malloc_not_svelte": [":malloc_not_svelte_shared_lib"], @@ -1286,7 +1286,7 @@ cc_library { })`, "srcs_c": `["common.c"]`, "whole_archive_deps": `select({ - "//build/bazel/platforms/arch:arm": [], + "//build/bazel_common_rules/platforms/arch:arm": [], "//conditions:default": [":arm_whole_static_lib_excludes_bp2build_cc_library_static"], }) + select({ "//build/bazel/product_config/config_settings:malloc_not_svelte": [":malloc_not_svelte_whole_static_lib_bp2build_cc_library_static"], @@ -1325,7 +1325,7 @@ cc_library { "//conditions:default": [], })`, "srcs_c": `["common.c"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }, ) @@ -1402,7 +1402,7 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("foo-lib", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:arm": ["-link_crt"], + "//build/bazel_common_rules/platforms/arch:arm": ["-link_crt"], "//conditions:default": [], })`, "srcs": `["impl.cpp"]`, @@ -1506,8 +1506,8 @@ cc_library { ExpectedBazelTargets: makeCcLibraryTargets("foo-lib", AttrNameToString{ "srcs": `["impl.cpp"]`, "features": `select({ - "//build/bazel/platforms/arch:arm": ["-use_libcrt"], - "//build/bazel/platforms/arch:x86": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:arm": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:x86": ["-use_libcrt"], "//conditions:default": [], })`, }), @@ -1543,11 +1543,11 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("foo-lib", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:arm": ["-use_libcrt"], - "//build/bazel/platforms/arch:x86": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:arm": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:x86": ["-use_libcrt"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:darwin": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/os:darwin": ["-use_libcrt"], "//conditions:default": [], })`, "srcs": `["impl.cpp"]`, @@ -1586,8 +1586,8 @@ cc_library { ExpectedBazelTargets: makeCcLibraryTargets("foo-lib", AttrNameToString{ "srcs": `["impl.cpp"]`, "features": `select({ - "//build/bazel/platforms/arch:arm": ["-use_libcrt"], - "//build/bazel/platforms/arch:x86_64": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:arm": ["-use_libcrt"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["-use_libcrt"], "//conditions:default": [], })`, }), @@ -1705,15 +1705,15 @@ cc_library { ExpectedBazelTargets: makeCcLibraryTargets("multi-arch", AttrNameToString{ "strip": `{ "keep_symbols": select({ - "//build/bazel/platforms/arch:arm64": True, + "//build/bazel_common_rules/platforms/arch:arm64": True, "//conditions:default": None, }), "keep_symbols_and_debug_frame": select({ - "//build/bazel/platforms/arch:arm": True, + "//build/bazel_common_rules/platforms/arch:arm": True, "//conditions:default": None, }), "keep_symbols_list": select({ - "//build/bazel/platforms/os:darwin": [ + "//build/bazel_common_rules/platforms/os:darwin": [ "foo", "bar", ], @@ -1844,7 +1844,7 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("target_linux_bionic_empty", AttrNameToString{ "system_dynamic_deps": `select({ - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -1875,7 +1875,7 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("target_bionic_empty", AttrNameToString{ "system_dynamic_deps": `select({ - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -2011,25 +2011,25 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("foo-lib", AttrNameToString{ "srcs": `["base.cpp"] + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "linux.cpp", "bionic.cpp", "android.cpp", ], - "//build/bazel/platforms/os:darwin": ["darwin.cpp"], - "//build/bazel/platforms/os:linux_bionic": [ + "//build/bazel_common_rules/platforms/os:darwin": ["darwin.cpp"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [ "linux.cpp", "bionic.cpp", ], - "//build/bazel/platforms/os:linux_glibc": [ + "//build/bazel_common_rules/platforms/os:linux_glibc": [ "linux.cpp", "linux_glibc.cpp", ], - "//build/bazel/platforms/os:linux_musl": [ + "//build/bazel_common_rules/platforms/os:linux_musl": [ "linux.cpp", "linux_musl.cpp", ], - "//build/bazel/platforms/os:windows": ["windows.cpp"], + "//build/bazel_common_rules/platforms/os:windows": ["windows.cpp"], "//conditions:default": [], })`, }), @@ -2056,7 +2056,7 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("libcrypto", AttrNameToString{ "inject_bssl_hash": `select({ - "//build/bazel/platforms/os:android": True, + "//build/bazel_common_rules/platforms/os:android": True, "//conditions:default": None, })`, }), @@ -2697,11 +2697,11 @@ func TestCcLibraryDisabledArchAndTarget(t *testing.T) { ExpectedBazelTargets: makeCcLibraryTargets("foo", AttrNameToString{ "srcs": `["foo.cpp"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os_arch:darwin_arm64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:darwin_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:linux_glibc_x86": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:windows_x86": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:windows_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:darwin_arm64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:windows_x86": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:windows_x86_64": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -2733,8 +2733,8 @@ func TestCcLibraryDisabledArchAndTargetWithDefault(t *testing.T) { ExpectedBazelTargets: makeCcLibraryTargets("foo", AttrNameToString{ "srcs": `["foo.cpp"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os_arch:darwin_arm64": [], - "//build/bazel/platforms/os_arch:darwin_x86_64": [], + "//build/bazel_common_rules/platforms/os_arch:darwin_arm64": [], + "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64": [], "//conditions:default": ["@platforms//:incompatible"], })`, }), @@ -2767,7 +2767,7 @@ func TestCcLibrarySharedDisabled(t *testing.T) { }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "srcs": `["foo.cpp"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -2804,15 +2804,15 @@ func TestCcLibraryStaticDisabledForSomeArch(t *testing.T) { ExpectedBazelTargets: []string{MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "srcs": `["foo.cpp"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:windows": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:windows": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "srcs": `["foo.cpp"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os_arch:darwin_arm64": [], - "//build/bazel/platforms/os_arch:darwin_x86_64": [], - "//build/bazel/platforms/os_arch:linux_glibc_x86": [], + "//build/bazel_common_rules/platforms/os_arch:darwin_arm64": [], + "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64": [], + "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86": [], "//conditions:default": ["@platforms//:incompatible"], })`, }), @@ -2923,22 +2923,22 @@ cc_library { }`, ExpectedBazelTargets: makeCcLibraryTargets("foolib", AttrNameToString{ "implementation_dynamic_deps": `select({ - "//build/bazel/platforms/os:darwin": [":bazlib"], - "//build/bazel/platforms/os:linux_bionic": [":bazlib"], - "//build/bazel/platforms/os:linux_glibc": [":bazlib"], - "//build/bazel/platforms/os:linux_musl": [":bazlib"], - "//build/bazel/platforms/os:windows": [":bazlib"], + "//build/bazel_common_rules/platforms/os:darwin": [":bazlib"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":bazlib"], + "//build/bazel_common_rules/platforms/os:linux_glibc": [":bazlib"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":bazlib"], + "//build/bazel_common_rules/platforms/os:windows": [":bazlib"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:darwin": [":quxlib"], - "//build/bazel/platforms/os:linux_bionic": [":quxlib"], - "//build/bazel/platforms/os:linux_glibc": [":quxlib"], - "//build/bazel/platforms/os:linux_musl": [":quxlib"], - "//build/bazel/platforms/os:windows": [":quxlib"], "//build/bazel/rules/apex:foo": [ "@api_surfaces//module-libapi/current:barlib", "@api_surfaces//module-libapi/current:quxlib", ], + "//build/bazel_common_rules/platforms/os:darwin": [":quxlib"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":quxlib"], + "//build/bazel_common_rules/platforms/os:linux_glibc": [":quxlib"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":quxlib"], + "//build/bazel_common_rules/platforms/os:windows": [":quxlib"], "//conditions:default": [ ":barlib", ":quxlib", @@ -3053,7 +3053,7 @@ func TestCcLibraryWithInstructionSet(t *testing.T) { `, ExpectedBazelTargets: makeCcLibraryTargets("foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:arm": ["arm_isa_arm"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm_isa_arm"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -3137,8 +3137,8 @@ func TestCcLibraryArchVariantSuffix(t *testing.T) { MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "srcs_c": `["foo.c"]`, "suffix": `select({ - "//build/bazel/platforms/arch:arm": "-32", - "//build/bazel/platforms/arch:arm64": "-64", + "//build/bazel_common_rules/platforms/arch:arm": "-32", + "//build/bazel_common_rules/platforms/arch:arm64": "-64", "//conditions:default": None, })`, }), @@ -3503,7 +3503,7 @@ cc_library { ExpectedBazelTargets: []string{ MakeBazelTargetNoRestrictions("sysprop_library", "foo_sysprop_library", AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/os:android": ["bar.sysprop"], + "//build/bazel_common_rules/platforms/os:android": ["bar.sysprop"], "//conditions:default": [], })`, }), @@ -3516,7 +3516,7 @@ cc_library { "local_includes": `["."]`, "min_sdk_version": `"5"`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":foo_cc_sysprop_library_static"], + "//build/bazel_common_rules/platforms/os:android": [":foo_cc_sysprop_library_static"], "//conditions:default": [], })`, }), @@ -3525,7 +3525,7 @@ cc_library { "local_includes": `["."]`, "min_sdk_version": `"5"`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":foo_cc_sysprop_library_static"], + "//build/bazel_common_rules/platforms/os:android": [":foo_cc_sysprop_library_static"], "//conditions:default": [], })`, }), @@ -3861,39 +3861,39 @@ cc_library { `, ExpectedBazelTargets: makeCcLibraryTargets("a", AttrNameToString{ "export_includes": `select({ - "//build/bazel/platforms/os_arch:android_arm": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm": [ "android_arm_eid1", "android_arm_eid2", ], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "android_eid1", "android_eid2", "linux_eid1", "linux_eid2", ], - "//build/bazel/platforms/os:linux_bionic": [ + "//build/bazel_common_rules/platforms/os:linux_bionic": [ "linux_eid1", "linux_eid2", ], - "//build/bazel/platforms/os:linux_glibc": [ + "//build/bazel_common_rules/platforms/os:linux_glibc": [ "linux_eid1", "linux_eid2", ], - "//build/bazel/platforms/os:linux_musl": [ + "//build/bazel_common_rules/platforms/os:linux_musl": [ "linux_eid1", "linux_eid2", ], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "lib32_eid1", "lib32_eid2", "arm_eid1", "arm_eid2", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "lib32_eid1", "lib32_eid2", ], @@ -3903,39 +3903,39 @@ cc_library { "eid2", ]`, "export_system_includes": `select({ - "//build/bazel/platforms/os_arch:android_arm": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm": [ "android_arm_esid1", "android_arm_esid2", ], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "android_esid1", "android_esid2", "linux_esid1", "linux_esid2", ], - "//build/bazel/platforms/os:linux_bionic": [ + "//build/bazel_common_rules/platforms/os:linux_bionic": [ "linux_esid1", "linux_esid2", ], - "//build/bazel/platforms/os:linux_glibc": [ + "//build/bazel_common_rules/platforms/os:linux_glibc": [ "linux_esid1", "linux_esid2", ], - "//build/bazel/platforms/os:linux_musl": [ + "//build/bazel_common_rules/platforms/os:linux_musl": [ "linux_esid1", "linux_esid2", ], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "lib32_esid1", "lib32_esid2", "arm_esid1", "arm_esid2", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "lib32_esid1", "lib32_esid2", ], @@ -3946,7 +3946,7 @@ cc_library { ]`, "srcs": `["a.cpp"]`, "local_includes": `["."]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, }), }, ) @@ -4081,8 +4081,8 @@ cc_library { "ubsan_undefined", "ubsan_nullability", ] + select({ - "//build/bazel/platforms/os:android": ["ubsan_alignment"], - "//build/bazel/platforms/os:linux_glibc": ["ubsan_integer_overflow"], + "//build/bazel_common_rules/platforms/os:android": ["ubsan_alignment"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["ubsan_integer_overflow"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -4092,8 +4092,8 @@ cc_library { "ubsan_undefined", "ubsan_nullability", ] + select({ - "//build/bazel/platforms/os:android": ["ubsan_alignment"], - "//build/bazel/platforms/os:linux_glibc": ["ubsan_integer_overflow"], + "//build/bazel_common_rules/platforms/os:android": ["ubsan_alignment"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["ubsan_integer_overflow"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -4221,21 +4221,21 @@ cc_library { MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_riscv64": ["-android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": ["-android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_thin_lto"], "//conditions:default": [], })`}), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_riscv64": ["-android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": ["-android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_thin_lto"], "//conditions:default": [], })`}), }, @@ -4266,14 +4266,14 @@ cc_library { MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os:android": ["android_thin_lto"], "//conditions:default": ["-android_thin_lto"], })`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os:android": ["android_thin_lto"], "//conditions:default": ["-android_thin_lto"], })`, }), @@ -4401,14 +4401,14 @@ cc_library { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["visibility_hidden"], + "//build/bazel_common_rules/platforms/os:android": ["visibility_hidden"], "//conditions:default": [], })`, "local_includes": `["."]`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["visibility_hidden"], + "//build/bazel_common_rules/platforms/os:android": ["visibility_hidden"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -4440,7 +4440,7 @@ cc_library { "flag_values": `{ "//build/bazel/rules/apex:api_domain": "myapex", }`, - "constraint_values": `["//build/bazel/platforms/os:android"]`, + "constraint_values": `["//build/bazel_common_rules/platforms/os:android"]`, }, ), }, @@ -4574,12 +4574,12 @@ func TestCcLibraryHostLdLibs(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTargetNoRestrictions("cc_binary", "a", AttrNameToString{ "linkopts": `["-lcommon"] + select({ - "//build/bazel/platforms/os:darwin": [ + "//build/bazel_common_rules/platforms/os:darwin": [ "-ldarwinadditional", "-ldarwin", ], - "//build/bazel/platforms/os:linux_glibc": ["-llinux"], - "//build/bazel/platforms/os:windows": ["-lwindows"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["-llinux"], + "//build/bazel_common_rules/platforms/os:windows": ["-lwindows"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -4632,14 +4632,14 @@ cc_library { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_bp2build_cc_library_static", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["android_cfi"], + "//build/bazel_common_rules/platforms/os:android": ["android_cfi"], "//conditions:default": [], })`, "local_includes": `["."]`, }), MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["android_cfi"], + "//build/bazel_common_rules/platforms/os:android": ["android_cfi"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -4737,8 +4737,8 @@ cc_library_shared { }), MakeBazelTarget("cc_library_shared", "foo_with_arch_variant_stem", AttrNameToString{ "stem": `select({ - "//build/bazel/platforms/arch:arm": "foo-arm", - "//build/bazel/platforms/arch:arm64": "foo-arm64", + "//build/bazel_common_rules/platforms/arch:arm": "foo-arm", + "//build/bazel_common_rules/platforms/arch:arm64": "foo-arm64", "//conditions:default": None, })`, "local_includes": `["."]`, @@ -5122,35 +5122,35 @@ cc_library { ExpectedBazelTargets: []string{ MakeBazelTargetNoRestrictions("cc_library_shared", "lib32", AttrNameToString{ "local_includes": `["."]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"] + select({ - "//build/bazel/platforms/arch:arm64": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:riscv64": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:x86_64": ["@platforms//:incompatible"], + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"] + select({ + "//build/bazel_common_rules/platforms/arch:arm64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:riscv64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), MakeBazelTargetNoRestrictions("cc_library_static", "lib32_bp2build_cc_library_static", AttrNameToString{ "local_includes": `["."]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"] + select({ - "//build/bazel/platforms/arch:arm64": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:riscv64": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:x86_64": ["@platforms//:incompatible"], + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"] + select({ + "//build/bazel_common_rules/platforms/arch:arm64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:riscv64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), MakeBazelTargetNoRestrictions("cc_library_shared", "lib64", AttrNameToString{ "local_includes": `["."]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"] + select({ - "//build/bazel/platforms/arch:arm": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:x86": ["@platforms//:incompatible"], + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"] + select({ + "//build/bazel_common_rules/platforms/arch:arm": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:x86": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), MakeBazelTargetNoRestrictions("cc_library_static", "lib64_bp2build_cc_library_static", AttrNameToString{ "local_includes": `["."]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"] + select({ - "//build/bazel/platforms/arch:arm": ["@platforms//:incompatible"], - "//build/bazel/platforms/arch:x86": ["@platforms//:incompatible"], + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"] + select({ + "//build/bazel_common_rules/platforms/arch:arm": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/arch:x86": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), diff --git a/bp2build/cc_library_headers_conversion_test.go b/bp2build/cc_library_headers_conversion_test.go index 5168fe95c..765598666 100644 --- a/bp2build/cc_library_headers_conversion_test.go +++ b/bp2build/cc_library_headers_conversion_test.go @@ -103,9 +103,9 @@ cc_library_headers { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "export_includes": `select({ - "//build/bazel/platforms/arch:arm64": ["arch_arm64_exported_include_dir"], - "//build/bazel/platforms/arch:x86": ["arch_x86_exported_include_dir"], - "//build/bazel/platforms/arch:x86_64": ["arch_x86_64_exported_include_dir"], + "//build/bazel_common_rules/platforms/arch:arm64": ["arch_arm64_exported_include_dir"], + "//build/bazel_common_rules/platforms/arch:x86": ["arch_x86_exported_include_dir"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["arch_x86_64_exported_include_dir"], "//conditions:default": [], }) + [ "dir-1", @@ -180,11 +180,11 @@ cc_library_headers { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "deps": `select({ - "//build/bazel/platforms/os:android": [":android-lib"], - "//build/bazel/platforms/os:darwin": [":darwin-lib"], - "//build/bazel/platforms/os:linux_bionic": [":linux_bionic-lib"], - "//build/bazel/platforms/os:linux_glibc": [":linux-lib"], - "//build/bazel/platforms/os:windows": [":windows-lib"], + "//build/bazel_common_rules/platforms/os:android": [":android-lib"], + "//build/bazel_common_rules/platforms/os:darwin": [":darwin-lib"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":linux_bionic-lib"], + "//build/bazel_common_rules/platforms/os:linux_glibc": [":linux-lib"], + "//build/bazel_common_rules/platforms/os:windows": [":windows-lib"], "//conditions:default": [], }) + [":base-lib"]`, }), @@ -217,7 +217,7 @@ cc_library_headers { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "deps": `select({ - "//build/bazel/platforms/os:android": [":exported-lib"], + "//build/bazel_common_rules/platforms/os:android": [":exported-lib"], "//conditions:default": [], })`, }), @@ -268,13 +268,13 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_headers", "foo_headers", AttrNameToString{ "export_system_includes": `select({ - "//build/bazel/platforms/os:android": ["android_include_dir"], - "//build/bazel/platforms/os:darwin": ["darwin_include_dir"], - "//build/bazel/platforms/os:linux_glibc": ["linux_include_dir"], + "//build/bazel_common_rules/platforms/os:android": ["android_include_dir"], + "//build/bazel_common_rules/platforms/os:darwin": ["darwin_include_dir"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux_include_dir"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/arch:arm": ["arm_include_dir"], - "//build/bazel/platforms/arch:x86_64": ["x86_64_include_dir"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm_include_dir"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["x86_64_include_dir"], "//conditions:default": [], }) + ["shared_include_dir"]`, }), diff --git a/bp2build/cc_library_shared_conversion_test.go b/bp2build/cc_library_shared_conversion_test.go index 2c5305f72..9f9fcf9c1 100644 --- a/bp2build/cc_library_shared_conversion_test.go +++ b/bp2build/cc_library_shared_conversion_test.go @@ -204,11 +204,11 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "implementation_dynamic_deps": `select({ - "//build/bazel/platforms/arch:arm64": [":shared_dep"], + "//build/bazel_common_rules/platforms/arch:arm64": [":shared_dep"], "//conditions:default": [], })`, "whole_archive_deps": `select({ - "//build/bazel/platforms/arch:arm64": [":static_dep"], + "//build/bazel_common_rules/platforms/arch:arm64": [":static_dep"], "//conditions:default": [], })`, }), @@ -233,7 +233,7 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "implementation_dynamic_deps": `select({ - "//build/bazel/platforms/os:android": [":shared_dep"], + "//build/bazel_common_rules/platforms/os:android": [":shared_dep"], "//conditions:default": [], })`, }), @@ -266,10 +266,10 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "implementation_dynamic_deps": `[":shared_dep"] + select({ - "//build/bazel/platforms/arch:arm64": [":shared_dep3"], + "//build/bazel_common_rules/platforms/arch:arm64": [":shared_dep3"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [":shared_dep2"], + "//build/bazel_common_rules/platforms/os:android": [":shared_dep2"], "//conditions:default": [], })`, }), @@ -472,7 +472,7 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/arch:arm": ["-link_crt"], + "//build/bazel_common_rules/platforms/arch:arm": ["-link_crt"], "//conditions:default": [], })`, "srcs": `["impl.cpp"]`, @@ -1006,8 +1006,8 @@ cc_library_shared { MakeBazelTarget("cc_library_shared", "foo_shared", AttrNameToString{ "srcs_c": `["foo.c"]`, "suffix": `select({ - "//build/bazel/platforms/arch:arm": "-32", - "//build/bazel/platforms/arch:arm64": "-64", + "//build/bazel_common_rules/platforms/arch:arm": "-32", + "//build/bazel_common_rules/platforms/arch:arm64": "-64", "//conditions:default": None, })`, }), @@ -1068,7 +1068,7 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("sysprop_library", "foo_sysprop_library", AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/os:android": ["bar.sysprop"], + "//build/bazel_common_rules/platforms/os:android": ["bar.sysprop"], "//conditions:default": [], })`, }), @@ -1081,7 +1081,7 @@ cc_library_shared { "local_includes": `["."]`, "min_sdk_version": `"5"`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":foo_cc_sysprop_library_static"], + "//build/bazel_common_rules/platforms/os:android": [":foo_cc_sysprop_library_static"], "//conditions:default": [], })`, }), @@ -1201,8 +1201,8 @@ cc_library_shared { "ubsan_undefined", "ubsan_nullability", ] + select({ - "//build/bazel/platforms/os:android": ["ubsan_alignment"], - "//build/bazel/platforms/os:linux_glibc": ["ubsan_integer_overflow"], + "//build/bazel_common_rules/platforms/os:android": ["ubsan_alignment"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["ubsan_integer_overflow"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -1303,11 +1303,11 @@ cc_library_shared { MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_riscv64": ["-android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": ["-android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_thin_lto"], "//conditions:default": [], })`}), }, @@ -1336,7 +1336,7 @@ cc_library_shared { MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os:android": ["android_thin_lto"], "//conditions:default": ["-android_thin_lto"], })`, }), @@ -1400,7 +1400,7 @@ cc_library_shared{ ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["visibility_hidden"], + "//build/bazel_common_rules/platforms/os:android": ["visibility_hidden"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -1510,7 +1510,7 @@ cc_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_shared", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["android_cfi"], + "//build/bazel_common_rules/platforms/os:android": ["android_cfi"], "//conditions:default": [], })`, "local_includes": `["."]`, diff --git a/bp2build/cc_library_static_conversion_test.go b/bp2build/cc_library_static_conversion_test.go index 09e40edab..d7bbd6810 100644 --- a/bp2build/cc_library_static_conversion_test.go +++ b/bp2build/cc_library_static_conversion_test.go @@ -410,11 +410,11 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "implementation_deps": `select({ - "//build/bazel/platforms/arch:arm64": [":static_dep"], + "//build/bazel_common_rules/platforms/arch:arm64": [":static_dep"], "//conditions:default": [], })`, "whole_archive_deps": `select({ - "//build/bazel/platforms/arch:arm64": [":static_dep2"], + "//build/bazel_common_rules/platforms/arch:arm64": [":static_dep2"], "//conditions:default": [], })`, }), @@ -442,11 +442,11 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "implementation_deps": `select({ - "//build/bazel/platforms/os:android": [":static_dep"], + "//build/bazel_common_rules/platforms/os:android": [":static_dep"], "//conditions:default": [], })`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":static_dep2"], + "//build/bazel_common_rules/platforms/os:android": [":static_dep2"], "//conditions:default": [], })`, }), @@ -484,10 +484,10 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "implementation_deps": `[":static_dep"] + select({ - "//build/bazel/platforms/arch:arm64": [":static_dep4"], + "//build/bazel_common_rules/platforms/arch:arm64": [":static_dep4"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os:android": [":static_dep3"], + "//build/bazel_common_rules/platforms/os:android": [":static_dep3"], "//conditions:default": [], })`, "whole_archive_deps": `[":static_dep2"]`, @@ -539,7 +539,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": ["foo-arm.c"], + "//build/bazel_common_rules/platforms/arch:arm": ["foo-arm.c"], "//conditions:default": [], })`, }), @@ -569,7 +569,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": ["for-arm.c"], + "//build/bazel_common_rules/platforms/arch:arm": ["for-arm.c"], "//conditions:default": ["not-for-arm.c"], })`, }), @@ -601,11 +601,11 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "not-for-x86.c", "for-arm.c", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "not-for-arm.c", "for-x86.c", ], @@ -650,25 +650,25 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "not-for-arm64.c", "not-for-x86.c", "not-for-x86_64.c", "for-arm.c", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "not-for-arm.c", "not-for-x86.c", "not-for-x86_64.c", "for-arm64.c", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "not-for-arm.c", "not-for-arm64.c", "not-for-x86_64.c", "for-x86.c", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ "not-for-arm.c", "not-for-arm64.c", "not-for-x86.c", @@ -707,7 +707,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs": `["common.cc"] + select({ - "//build/bazel/platforms/arch:arm": [], + "//build/bazel_common_rules/platforms/arch:arm": [], "//conditions:default": ["foo-no-arm.cc"], })`, }), @@ -738,8 +738,8 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs": `["common.cc"] + select({ - "//build/bazel/platforms/arch:arm": [], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:arm": [], + "//build/bazel_common_rules/platforms/arch:x86": [ "foo-no-arm.cc", "x86-only.cc", ], @@ -792,8 +792,8 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": ["for-lib32.c"], - "//build/bazel/platforms/arch:x86": ["for-lib32.c"], + "//build/bazel_common_rules/platforms/arch:arm": ["for-lib32.c"], + "//build/bazel_common_rules/platforms/arch:x86": ["for-lib32.c"], "//conditions:default": ["not-for-lib32.c"], })`, }), @@ -824,23 +824,23 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "not-for-lib64.c", "for-lib32.c", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "not-for-lib32.c", "for-lib64.c", ], - "//build/bazel/platforms/arch:riscv64": [ + "//build/bazel_common_rules/platforms/arch:riscv64": [ "not-for-lib32.c", "for-lib64.c", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "not-for-lib64.c", "for-lib32.c", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ "not-for-lib32.c", "for-lib64.c", ], @@ -895,7 +895,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `["common.c"] + select({ - "//build/bazel/platforms/arch:arm": [ + "//build/bazel_common_rules/platforms/arch:arm": [ "not-for-arm64.c", "not-for-lib64.c", "not-for-riscv64.c", @@ -904,7 +904,7 @@ cc_library_static { "for-arm.c", "for-lib32.c", ], - "//build/bazel/platforms/arch:arm64": [ + "//build/bazel_common_rules/platforms/arch:arm64": [ "not-for-arm.c", "not-for-lib32.c", "not-for-riscv64.c", @@ -913,7 +913,7 @@ cc_library_static { "for-arm64.c", "for-lib64.c", ], - "//build/bazel/platforms/arch:riscv64": [ + "//build/bazel_common_rules/platforms/arch:riscv64": [ "not-for-arm.c", "not-for-arm64.c", "not-for-lib32.c", @@ -922,7 +922,7 @@ cc_library_static { "for-riscv64.c", "for-lib64.c", ], - "//build/bazel/platforms/arch:x86": [ + "//build/bazel_common_rules/platforms/arch:x86": [ "not-for-arm.c", "not-for-arm64.c", "not-for-lib64.c", @@ -931,7 +931,7 @@ cc_library_static { "for-x86.c", "for-lib32.c", ], - "//build/bazel/platforms/arch:x86_64": [ + "//build/bazel_common_rules/platforms/arch:x86_64": [ "not-for-arm.c", "not-for-arm64.c", "not-for-lib32.c", @@ -1089,20 +1089,20 @@ cc_library_static { "//dep:generated_src_other_pkg", ":generated_hdr", ] + select({ - "//build/bazel/platforms/arch:x86": ["for-x86.cpp"], + "//build/bazel_common_rules/platforms/arch:x86": ["for-x86.cpp"], "//conditions:default": [ "not-for-x86.cpp", ":generated_src_not_x86", ], }) + select({ - "//build/bazel/platforms/os:android": [":generated_src_android"], + "//build/bazel_common_rules/platforms/os:android": [":generated_src_android"], "//conditions:default": [], })`, "hdrs": `select({ - "//build/bazel/platforms/os:android": ["//dep:generated_hdr_other_pkg_android"], + "//build/bazel_common_rules/platforms/os:android": ["//dep:generated_hdr_other_pkg_android"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/arch:x86": ["//dep:generated_hdr_other_pkg_x86"], + "//build/bazel_common_rules/platforms/arch:x86": ["//dep:generated_hdr_other_pkg_x86"], "//conditions:default": [], }) + ["//dep:generated_hdr_other_pkg"]`, "local_includes": `["."]`, @@ -1147,15 +1147,15 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo_static", AttrNameToString{ "srcs_c": `select({ - "//build/bazel/platforms/os:android": ["android_src.c"], + "//build/bazel_common_rules/platforms/os:android": ["android_src.c"], "//conditions:default": [], }) + select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_arm_src.c"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_arm64_src.c"], - "//build/bazel/platforms/os_arch:android_x86": ["android_x86_src.c"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_x86_64_src.c"], - "//build/bazel/platforms/os_arch:linux_bionic_arm64": ["linux_bionic_arm64_src.c"], - "//build/bazel/platforms/os_arch:linux_bionic_x86_64": ["linux_bionic_x86_64_src.c"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_arm_src.c"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_arm64_src.c"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_x86_src.c"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_x86_64_src.c"], + "//build/bazel_common_rules/platforms/os_arch:linux_bionic_arm64": ["linux_bionic_arm64_src.c"], + "//build/bazel_common_rules/platforms/os_arch:linux_bionic_x86_64": ["linux_bionic_x86_64_src.c"], "//conditions:default": [], })`, }), @@ -1358,7 +1358,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "target_bionic_empty", AttrNameToString{ "system_dynamic_deps": `select({ - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -1392,7 +1392,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "target_linux_bionic_empty", AttrNameToString{ "system_dynamic_deps": `select({ - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -1477,9 +1477,9 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "target_bionic", AttrNameToString{ "system_dynamic_deps": `select({ - "//build/bazel/platforms/os:android": [":libc"], - "//build/bazel/platforms/os:linux_bionic": [":libc"], - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:android": [":libc"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":libc"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -1512,8 +1512,8 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "target_linux_bionic", AttrNameToString{ "system_dynamic_deps": `[":libc"] + select({ - "//build/bazel/platforms/os:linux_bionic": [":libm"], - "//build/bazel/platforms/os:linux_musl": [":libc_musl"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":libm"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":libc_musl"], "//conditions:default": [], })`, }), @@ -1837,7 +1837,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("sysprop_library", "foo_sysprop_library", AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/os:android": ["bar.sysprop"], + "//build/bazel_common_rules/platforms/os:android": ["bar.sysprop"], "//conditions:default": [], })`, }), @@ -1850,7 +1850,7 @@ cc_library_static { "local_includes": `["."]`, "min_sdk_version": `"5"`, "whole_archive_deps": `select({ - "//build/bazel/platforms/os:android": [":foo_cc_sysprop_library_static"], + "//build/bazel_common_rules/platforms/os:android": [":foo_cc_sysprop_library_static"], "//conditions:default": [], })`, }), @@ -1930,8 +1930,8 @@ cc_library_static { "ubsan_undefined", "ubsan_nullability", ] + select({ - "//build/bazel/platforms/os:android": ["ubsan_alignment"], - "//build/bazel/platforms/os:linux_glibc": ["ubsan_integer_overflow"], + "//build/bazel_common_rules/platforms/os:android": ["ubsan_alignment"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["ubsan_integer_overflow"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -2032,11 +2032,11 @@ cc_library_static { MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_arm64": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_riscv64": ["-android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86": ["android_thin_lto"], - "//build/bazel/platforms/os_arch:android_x86_64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": ["-android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["android_thin_lto"], "//conditions:default": [], })`}), }, @@ -2065,7 +2065,7 @@ cc_library_static { MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "local_includes": `["."]`, "features": `select({ - "//build/bazel/platforms/os:android": ["android_thin_lto"], + "//build/bazel_common_rules/platforms/os:android": ["android_thin_lto"], "//conditions:default": ["-android_thin_lto"], })`, }), @@ -2129,7 +2129,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["visibility_hidden"], + "//build/bazel_common_rules/platforms/os:android": ["visibility_hidden"], "//conditions:default": [], })`, "local_includes": `["."]`, @@ -2174,7 +2174,7 @@ cc_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_library_static", "foo", AttrNameToString{ "features": `select({ - "//build/bazel/platforms/os:android": ["android_cfi"], + "//build/bazel_common_rules/platforms/os:android": ["android_cfi"], "//conditions:default": [], })`, "local_includes": `["."]`, diff --git a/bp2build/cc_object_conversion_test.go b/bp2build/cc_object_conversion_test.go index e1e2f43d7..4d44db76a 100644 --- a/bp2build/cc_object_conversion_test.go +++ b/bp2build/cc_object_conversion_test.go @@ -232,11 +232,11 @@ func TestCcObjectCflagsOneArch(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_object", "foo", AttrNameToString{ "copts": `["-fno-addrsig"] + select({ - "//build/bazel/platforms/arch:x86": ["-fPIC"], + "//build/bazel_common_rules/platforms/arch:x86": ["-fPIC"], "//conditions:default": [], })`, "srcs": `["a.cpp"] + select({ - "//build/bazel/platforms/arch:arm": ["arch/arm/file.cpp"], + "//build/bazel_common_rules/platforms/arch:arm": ["arch/arm/file.cpp"], "//conditions:default": [], })`, "system_dynamic_deps": `[]`, @@ -276,17 +276,17 @@ func TestCcObjectCflagsFourArch(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_object", "foo", AttrNameToString{ "copts": `["-fno-addrsig"] + select({ - "//build/bazel/platforms/arch:arm": ["-Wall"], - "//build/bazel/platforms/arch:arm64": ["-Wall"], - "//build/bazel/platforms/arch:x86": ["-fPIC"], - "//build/bazel/platforms/arch:x86_64": ["-fPIC"], + "//build/bazel_common_rules/platforms/arch:arm": ["-Wall"], + "//build/bazel_common_rules/platforms/arch:arm64": ["-Wall"], + "//build/bazel_common_rules/platforms/arch:x86": ["-fPIC"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["-fPIC"], "//conditions:default": [], })`, "srcs": `["base.cpp"] + select({ - "//build/bazel/platforms/arch:arm": ["arm.cpp"], - "//build/bazel/platforms/arch:arm64": ["arm64.cpp"], - "//build/bazel/platforms/arch:x86": ["x86.cpp"], - "//build/bazel/platforms/arch:x86_64": ["x86_64.cpp"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm.cpp"], + "//build/bazel_common_rules/platforms/arch:arm64": ["arm64.cpp"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.cpp"], + "//build/bazel_common_rules/platforms/arch:x86_64": ["x86_64.cpp"], "//conditions:default": [], })`, "system_dynamic_deps": `[]`, @@ -364,15 +364,15 @@ cc_object { MakeBazelTarget("cc_object", "foo", AttrNameToString{ "copts": `["-fno-addrsig"]`, "objs": `select({ - "//build/bazel/platforms/arch:arm": [":arm_obj"], - "//build/bazel/platforms/arch:x86": [":x86_obj"], - "//build/bazel/platforms/arch:x86_64": [":x86_64_obj"], + "//build/bazel_common_rules/platforms/arch:arm": [":arm_obj"], + "//build/bazel_common_rules/platforms/arch:x86": [":x86_obj"], + "//build/bazel_common_rules/platforms/arch:x86_64": [":x86_64_obj"], "//conditions:default": [], })`, "linker_script": `select({ - "//build/bazel/platforms/arch:arm": "arm.lds", - "//build/bazel/platforms/arch:x86": "x86.lds", - "//build/bazel/platforms/arch:x86_64": "x86_64.lds", + "//build/bazel_common_rules/platforms/arch:arm": "arm.lds", + "//build/bazel_common_rules/platforms/arch:x86": "x86.lds", + "//build/bazel_common_rules/platforms/arch:x86_64": "x86_64.lds", "//conditions:default": None, })`, "srcs": `["base.cpp"]`, @@ -405,18 +405,18 @@ func TestCcObjectSelectOnLinuxAndBionicArchs(t *testing.T) { MakeBazelTarget("cc_object", "foo", AttrNameToString{ "copts": `["-fno-addrsig"]`, "srcs": `["base.cpp"] + select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "linux_arm64.cpp", "bionic_arm64.cpp", ], - "//build/bazel/platforms/os_arch:android_x86": ["linux_x86.cpp"], - "//build/bazel/platforms/os_arch:linux_bionic_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_x86": ["linux_x86.cpp"], + "//build/bazel_common_rules/platforms/os_arch:linux_bionic_arm64": [ "linux_arm64.cpp", "bionic_arm64.cpp", ], - "//build/bazel/platforms/os_arch:linux_glibc_x86": ["linux_x86.cpp"], - "//build/bazel/platforms/os_arch:linux_musl_arm64": ["linux_arm64.cpp"], - "//build/bazel/platforms/os_arch:linux_musl_x86": ["linux_x86.cpp"], + "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86": ["linux_x86.cpp"], + "//build/bazel_common_rules/platforms/os_arch:linux_musl_arm64": ["linux_arm64.cpp"], + "//build/bazel_common_rules/platforms/os_arch:linux_musl_x86": ["linux_x86.cpp"], "//conditions:default": [], })`, }), diff --git a/bp2build/cc_prebuilt_binary_conversion_test.go b/bp2build/cc_prebuilt_binary_conversion_test.go index 0e8048c27..9adaf32d1 100644 --- a/bp2build/cc_prebuilt_binary_conversion_test.go +++ b/bp2build/cc_prebuilt_binary_conversion_test.go @@ -95,8 +95,8 @@ cc_prebuilt_binary { }`, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_binary", "bintest", AttrNameToString{ "src": `select({ - "//build/bazel/platforms/arch:arm": "binb", - "//build/bazel/platforms/arch:arm64": "bina", + "//build/bazel_common_rules/platforms/arch:arm": "binb", + "//build/bazel_common_rules/platforms/arch:arm64": "bina", "//conditions:default": None, })`, }), diff --git a/bp2build/cc_prebuilt_library_conversion_test.go b/bp2build/cc_prebuilt_library_conversion_test.go index 8c33be3c9..a7f0c7b27 100644 --- a/bp2build/cc_prebuilt_library_conversion_test.go +++ b/bp2build/cc_prebuilt_library_conversion_test.go @@ -76,21 +76,21 @@ cc_prebuilt_library { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_static", "libtest_bp2build_cc_library_static", AttrNameToString{ "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), MakeBazelTarget("cc_prebuilt_library_static", "libtest_bp2build_cc_library_static_alwayslink", AttrNameToString{ "alwayslink": "True", "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`, }), @@ -289,16 +289,16 @@ cc_prebuilt_library { MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), MakeBazelTarget("cc_prebuilt_library_static", "libtest_bp2build_cc_library_static", AttrNameToString{ "static_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -306,8 +306,8 @@ cc_prebuilt_library { "alwayslink": "True", "static_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -336,16 +336,16 @@ cc_prebuilt_library { MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), MakeBazelTarget("cc_prebuilt_library_static", "libtest_bp2build_cc_library_static", AttrNameToString{ "static_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -353,8 +353,8 @@ cc_prebuilt_library { "alwayslink": "True", "static_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -381,11 +381,11 @@ ndk_prebuilt_shared_stl { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_static", "ndk_libfoo_static", AttrNameToString{ "static_library": `select({ - "//build/bazel/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_static.a", - "//build/bazel/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_static.a", - "//build/bazel/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_static.a", - "//build/bazel/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_static.a", - "//build/bazel/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_static.a", + "//build/bazel_common_rules/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_static.a", + "//build/bazel_common_rules/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_static.a", + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_static.a", + "//build/bazel_common_rules/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_static.a", + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_static.a", "//conditions:default": None, })`, "export_system_includes": `[ @@ -395,11 +395,11 @@ ndk_prebuilt_shared_stl { }), MakeBazelTarget("cc_prebuilt_library_shared", "ndk_libfoo_shared", AttrNameToString{ "shared_library": `select({ - "//build/bazel/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_shared.so", - "//build/bazel/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_shared.so", - "//build/bazel/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_shared.so", - "//build/bazel/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_shared.so", - "//build/bazel/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_shared.so", + "//build/bazel_common_rules/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_shared.so", + "//build/bazel_common_rules/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_shared.so", + "//build/bazel_common_rules/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_shared.so", + "//build/bazel_common_rules/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_shared.so", + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_shared.so", "//conditions:default": None, })`, "export_system_includes": `[ diff --git a/bp2build/cc_prebuilt_library_shared_conversion_test.go b/bp2build/cc_prebuilt_library_shared_conversion_test.go index 9e975aea3..2242758c6 100644 --- a/bp2build/cc_prebuilt_library_shared_conversion_test.go +++ b/bp2build/cc_prebuilt_library_shared_conversion_test.go @@ -68,8 +68,8 @@ cc_prebuilt_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`, }), @@ -125,8 +125,8 @@ cc_prebuilt_library_shared { MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -155,8 +155,8 @@ cc_prebuilt_library_shared { MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), diff --git a/bp2build/cc_prebuilt_library_shared_test.go b/bp2build/cc_prebuilt_library_shared_test.go index 58c0a703d..1a9579ace 100644 --- a/bp2build/cc_prebuilt_library_shared_test.go +++ b/bp2build/cc_prebuilt_library_shared_test.go @@ -52,8 +52,8 @@ cc_prebuilt_library_shared { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{ "shared_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`, }), diff --git a/bp2build/cc_prebuilt_library_static_conversion_test.go b/bp2build/cc_prebuilt_library_static_conversion_test.go index 77562e726..fb408b5f0 100644 --- a/bp2build/cc_prebuilt_library_static_conversion_test.go +++ b/bp2build/cc_prebuilt_library_static_conversion_test.go @@ -72,15 +72,15 @@ cc_prebuilt_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_static", "libtest", AttrNameToString{ "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), MakeBazelTarget("cc_prebuilt_library_static", "libtest_alwayslink", AttrNameToString{ "alwayslink": "True", "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), }, @@ -141,8 +141,8 @@ cc_prebuilt_library_static { MakeBazelTarget("cc_prebuilt_library_static", "libtest", AttrNameToString{ "static_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -150,8 +150,8 @@ cc_prebuilt_library_static { "alwayslink": "True", "static_library": `"libf.so"`, "export_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -180,8 +180,8 @@ cc_prebuilt_library_static { MakeBazelTarget("cc_prebuilt_library_static", "libtest", AttrNameToString{ "static_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), @@ -189,8 +189,8 @@ cc_prebuilt_library_static { "alwayslink": "True", "static_library": `"libf.so"`, "export_system_includes": `select({ - "//build/bazel/platforms/arch:arm": ["testdir/1/"], - "//build/bazel/platforms/arch:arm64": ["testdir/2/"], + "//build/bazel_common_rules/platforms/arch:arm": ["testdir/1/"], + "//build/bazel_common_rules/platforms/arch:arm64": ["testdir/2/"], "//conditions:default": [], })`, }), diff --git a/bp2build/cc_prebuilt_library_static_test.go b/bp2build/cc_prebuilt_library_static_test.go index 17da8132a..7d0ab2874 100644 --- a/bp2build/cc_prebuilt_library_static_test.go +++ b/bp2build/cc_prebuilt_library_static_test.go @@ -69,15 +69,15 @@ cc_prebuilt_library_static { ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_library_static", "libtest", AttrNameToString{ "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), MakeBazelTarget("cc_prebuilt_library_static", "libtest_alwayslink", AttrNameToString{ "alwayslink": "True", "static_library": `select({ - "//build/bazel/platforms/arch:arm": "libg.so", - "//build/bazel/platforms/arch:arm64": "libf.so", + "//build/bazel_common_rules/platforms/arch:arm": "libg.so", + "//build/bazel_common_rules/platforms/arch:arm64": "libf.so", "//conditions:default": None, })`}), }, diff --git a/bp2build/cc_prebuilt_object_conversion_test.go b/bp2build/cc_prebuilt_object_conversion_test.go index 903c81634..068e4e28b 100644 --- a/bp2build/cc_prebuilt_object_conversion_test.go +++ b/bp2build/cc_prebuilt_object_conversion_test.go @@ -71,8 +71,8 @@ cc_prebuilt_object { }`, ExpectedBazelTargets: []string{ MakeBazelTarget("cc_prebuilt_object", "objtest", AttrNameToString{ "src": `select({ - "//build/bazel/platforms/arch:arm": "objb.o", - "//build/bazel/platforms/arch:arm64": "obja.o", + "//build/bazel_common_rules/platforms/arch:arm": "objb.o", + "//build/bazel_common_rules/platforms/arch:arm64": "obja.o", "//conditions:default": None, })`, }), diff --git a/bp2build/cc_test_conversion_test.go b/bp2build/cc_test_conversion_test.go index 679a36461..c5f5f795c 100644 --- a/bp2build/cc_test_conversion_test.go +++ b/bp2build/cc_test_conversion_test.go @@ -117,26 +117,26 @@ cc_test_library { ":libgtest_main", ":libgtest", ] + select({ - "//build/bazel/platforms/os:darwin": [":hostlib"], - "//build/bazel/platforms/os:linux_bionic": [":hostlib"], - "//build/bazel/platforms/os:linux_glibc": [":hostlib"], - "//build/bazel/platforms/os:linux_musl": [":hostlib"], - "//build/bazel/platforms/os:windows": [":hostlib"], + "//build/bazel_common_rules/platforms/os:darwin": [":hostlib"], + "//build/bazel_common_rules/platforms/os:linux_bionic": [":hostlib"], + "//build/bazel_common_rules/platforms/os:linux_glibc": [":hostlib"], + "//build/bazel_common_rules/platforms/os:linux_musl": [":hostlib"], + "//build/bazel_common_rules/platforms/os:windows": [":hostlib"], "//conditions:default": [], })`, "local_includes": `["."]`, "dynamic_deps": `[":cc_test_lib2"] + select({ - "//build/bazel/platforms/os:android": [":foolib"], + "//build/bazel_common_rules/platforms/os:android": [":foolib"], "//conditions:default": [], })`, "srcs": `["test.cpp"] + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ "linux.cpp", "android.cpp", ], - "//build/bazel/platforms/os:linux_bionic": ["linux.cpp"], - "//build/bazel/platforms/os:linux_glibc": ["linux.cpp"], - "//build/bazel/platforms/os:linux_musl": ["linux.cpp"], + "//build/bazel_common_rules/platforms/os:linux_bionic": ["linux.cpp"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux.cpp"], + "//build/bazel_common_rules/platforms/os:linux_musl": ["linux.cpp"], "//conditions:default": [], })`, "runs_on": `[ @@ -144,7 +144,7 @@ cc_test_library { "device", ]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -178,7 +178,7 @@ cc_test { "device", ]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -217,7 +217,7 @@ cc_test { "device", ]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -248,7 +248,7 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "test_config": `"test_config.xml"`, "deps": `[ ":libgtest_main", @@ -256,7 +256,7 @@ cc_test { ]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -287,7 +287,7 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "test_config": `"AndroidTest.xml"`, "dynamic_config": `"DynamicConfig.xml"`, "deps": `[ @@ -296,7 +296,7 @@ cc_test { ]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -330,7 +330,7 @@ cc_test { "auto_generate_test_config": "True", "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "template_configs": `[ "'<target_preparer class=\"com.android.tradefed.targetprep.RootTargetPreparer\">\\n <option name=\"force-root\" value=\"false\" />\\n </target_preparer>'", "'<option name=\"not-shardable\" value=\"true\" />'", @@ -341,7 +341,7 @@ cc_test { "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -369,14 +369,14 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[ ":libgtest", ":libgtest_main", ]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -405,12 +405,12 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[":libgtest_isolated_main"]`, "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -446,10 +446,10 @@ cc_test { ":libgtest", ]`, "gtest": "True", - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -460,10 +460,10 @@ cc_test { {"cc_test", "mytest_with_no_gtest", AttrNameToString{ "local_includes": `["."]`, "gtest": "False", - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -495,12 +495,12 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[":libgtest_isolated_main"]`, "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `["android_cfi"] + select({ - "//build/bazel/platforms/os_arch:android_arm64": ["-memtag_heap"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["-memtag_heap"], "//conditions:default": [], })`, }, @@ -532,12 +532,12 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[":libgtest_isolated_main"]`, "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": ["-memtag_heap"], + "//build/bazel_common_rules/platforms/os_arch:android_arm64": ["-memtag_heap"], "//conditions:default": [], })`, }, @@ -569,12 +569,12 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[":libgtest_isolated_main"]`, "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "memtag_heap", "diag_memtag_heap", ], @@ -615,12 +615,12 @@ cc_test { {"cc_test", "mytest", AttrNameToString{ "local_includes": `["."]`, "srcs": `["test.cpp"]`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "deps": `[":libgtest_isolated_main"]`, "dynamic_deps": `[":liblog"]`, "runs_on": `["device"]`, "features": `select({ - "//build/bazel/platforms/os_arch:android_arm64": [ + "//build/bazel_common_rules/platforms/os_arch:android_arm64": [ "-memtag_heap", "-diag_memtag_heap", ], diff --git a/bp2build/cc_yasm_conversion_test.go b/bp2build/cc_yasm_conversion_test.go index 55d4febf9..c98e1a16c 100644 --- a/bp2build/cc_yasm_conversion_test.go +++ b/bp2build/cc_yasm_conversion_test.go @@ -126,14 +126,14 @@ cc_library { MakeBazelTarget("yasm", "foo_yasm", map[string]string{ "include_dirs": `["."]`, "srcs": `select({ - "//build/bazel/platforms/arch:x86": ["myfile.asm"], + "//build/bazel_common_rules/platforms/arch:x86": ["myfile.asm"], "//conditions:default": [], })`, }), }, makeCcLibraryTargets("foo", map[string]string{ "local_includes": `["."]`, "srcs": `["main.cpp"] + select({ - "//build/bazel/platforms/arch:x86": [":foo_yasm"], + "//build/bazel_common_rules/platforms/arch:x86": [":foo_yasm"], "//conditions:default": [], })`, })...), @@ -164,7 +164,7 @@ cc_library { MakeBazelTarget("yasm", "foo_yasm", map[string]string{ "include_dirs": `["."]`, "srcs": `["myfile.asm"] + select({ - "//build/bazel/platforms/arch:x86": ["mysecondfile.asm"], + "//build/bazel_common_rules/platforms/arch:x86": ["mysecondfile.asm"], "//conditions:default": [], })`, }), diff --git a/bp2build/fdo_profile_conversion_test.go b/bp2build/fdo_profile_conversion_test.go index 4d04283ca..918b27ce5 100644 --- a/bp2build/fdo_profile_conversion_test.go +++ b/bp2build/fdo_profile_conversion_test.go @@ -50,8 +50,8 @@ fdo_profile { }`, expectedBazelAttrs: AttrNameToString{ "profile": `select({ - "//build/bazel/platforms/arch:arm": "foo_arm.afdo", - "//build/bazel/platforms/arch:arm64": "foo_arm64.afdo", + "//build/bazel_common_rules/platforms/arch:arm": "foo_arm.afdo", + "//build/bazel_common_rules/platforms/arch:arm64": "foo_arm64.afdo", "//conditions:default": None, })`, }, diff --git a/bp2build/genrule_conversion_test.go b/bp2build/genrule_conversion_test.go index 7e9b17bca..af03dffa7 100644 --- a/bp2build/genrule_conversion_test.go +++ b/bp2build/genrule_conversion_test.go @@ -681,11 +681,11 @@ func TestCcGenruleArchAndExcludeSrcs(t *testing.T) { expectedBazelAttrs := AttrNameToString{ "srcs": `["foo1.in"] + select({ - "//build/bazel/platforms/arch:arm": ["foo1_arch.in"], + "//build/bazel_common_rules/platforms/arch:arm": ["foo1_arch.in"], "//conditions:default": [], })`, "cmd": `"cat $(SRCS) > $(OUTS)"`, - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, } expectedBazelTargets := []string{ diff --git a/bp2build/go_conversion_test.go b/bp2build/go_conversion_test.go index 2387641f2..ebd241d11 100644 --- a/bp2build/go_conversion_test.go +++ b/bp2build/go_conversion_test.go @@ -84,8 +84,8 @@ bootstrap_go_package { "foo1.go", "foo2.go", ] + select({ - "//build/bazel/platforms/os:darwin": ["foo_darwin.go"], - "//build/bazel/platforms/os:linux_glibc": ["foo_linux.go"], + "//build/bazel_common_rules/platforms/os:darwin": ["foo_darwin.go"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["foo_linux.go"], "//conditions:default": [], })`, }, @@ -98,8 +98,8 @@ bootstrap_go_package { "foo1_test.go", "foo2_test.go", ] + select({ - "//build/bazel/platforms/os:darwin": ["foo_darwin_test.go"], - "//build/bazel/platforms/os:linux_glibc": ["foo_linux_test.go"], + "//build/bazel_common_rules/platforms/os:darwin": ["foo_darwin_test.go"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["foo_linux_test.go"], "//conditions:default": [], })`, }, diff --git a/bp2build/java_binary_host_conversion_test.go b/bp2build/java_binary_host_conversion_test.go index 4271f76a5..29c0e4422 100644 --- a/bp2build/java_binary_host_conversion_test.go +++ b/bp2build/java_binary_host_conversion_test.go @@ -63,7 +63,7 @@ func TestJavaBinaryHost(t *testing.T) { "java_version": `"8"`, "javacopts": `["-Xdoclint:all/protected"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -71,7 +71,7 @@ func TestJavaBinaryHost(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "jvm_flags": `["-Djava.library.path=$${RUNPATH}other/jni-lib-1"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "runtime_deps": `[":java-binary-host-1_lib"]`, @@ -102,7 +102,7 @@ java_library { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-dep-1"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -132,14 +132,14 @@ java_import_host{ "srcs": `["a.java"]`, "deps": `[":java-lib-dep-1-neverlink"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), MakeBazelTarget("java_binary", "java-binary-host-libs", AttrNameToString{ "main_class": `"com.android.test.MainClass"`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "runtime_deps": `[":java-binary-host-libs_lib"]`, @@ -165,7 +165,7 @@ func TestJavaBinaryHostKotlinSrcs(t *testing.T) { "b.kt", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -173,7 +173,7 @@ func TestJavaBinaryHostKotlinSrcs(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-binary-host_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -197,7 +197,7 @@ func TestJavaBinaryHostKotlinCommonSrcs(t *testing.T) { "srcs": `["a.java"]`, "common_srcs": `["b.kt"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -205,7 +205,7 @@ func TestJavaBinaryHostKotlinCommonSrcs(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-binary-host_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -240,7 +240,7 @@ func TestJavaBinaryHostKotlinWithResourceDir(t *testing.T) { ]`, "resource_strip_prefix": `"res"`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -248,7 +248,7 @@ func TestJavaBinaryHostKotlinWithResourceDir(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-binary-host_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -286,7 +286,7 @@ func TestJavaBinaryHostKotlinWithResources(t *testing.T) { ]`, "resource_strip_prefix": `"adir"`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -294,7 +294,7 @@ func TestJavaBinaryHostKotlinWithResources(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-binary-host_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -321,7 +321,7 @@ func TestJavaBinaryHostKotlinCflags(t *testing.T) { "-flag2", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -329,7 +329,7 @@ func TestJavaBinaryHostKotlinCflags(t *testing.T) { "main_class": `"com.android.test.MainClass"`, "runtime_deps": `[":java-binary-host_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), diff --git a/bp2build/java_import_conversion_test.go b/bp2build/java_import_conversion_test.go index d9910afb9..bba2f5077 100644 --- a/bp2build/java_import_conversion_test.go +++ b/bp2build/java_import_conversion_test.go @@ -88,8 +88,8 @@ java_import { ExpectedBazelTargets: []string{ MakeBazelTarget("java_import", "example_import", AttrNameToString{ "jars": `select({ - "//build/bazel/platforms/os:android": ["android.jar"], - "//build/bazel/platforms/os:linux_glibc": ["linux.jar"], + "//build/bazel_common_rules/platforms/os:android": ["android.jar"], + "//build/bazel_common_rules/platforms/os:linux_glibc": ["linux.jar"], "//conditions:default": [], })`, }), diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go index ad0ec655a..c88af1b55 100644 --- a/bp2build/java_library_conversion_test.go +++ b/bp2build/java_library_conversion_test.go @@ -192,6 +192,45 @@ func TestJavaLibraryJavaVersion(t *testing.T) { }) } +func TestJavaLibraryOpenjdk9(t *testing.T) { + runJavaLibraryTestCase(t, Bp2buildTestCase{ + Blueprint: `java_library { + name: "java-lib-1", + srcs: ["a.java"], + exclude_srcs: ["b.java"], + javacflags: ["flag"], + target: { + android: { + srcs: ["android.java"], + }, + }, + openjdk9: { + srcs: ["b.java", "foo.java"], + javacflags: ["extraflag"], + }, + sdk_version: "current", +}`, + ExpectedBazelTargets: []string{ + MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ + "srcs": `[ + "a.java", + "foo.java", + ] + select({ + "//build/bazel_common_rules/platforms/os:android": ["android.java"], + "//conditions:default": [], + })`, + "sdk_version": `"current"`, + "javacopts": `[ + "flag", + "extraflag", + ]`, + }), + MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"), + }, + }) + +} + func TestJavaLibraryErrorproneEnabledManually(t *testing.T) { runJavaLibraryTestCaseWithRegistrationCtxFunc(t, Bp2buildTestCase{ StubbedBuildDefinitions: []string{"plugin2"}, @@ -424,6 +463,7 @@ func TestJavaLibraryResourcesWithMultipleDirs(t *testing.T) { }, Blueprint: `java_library { name: "java-lib-1", + srcs: ["foo.java"], java_resource_dirs: ["res", "res1"], sdk_version: "current", }`, @@ -433,9 +473,10 @@ func TestJavaLibraryResourcesWithMultipleDirs(t *testing.T) { "resources": `["res1/b.res"]`, }), MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ - "additional_resources": `["java-lib-1_resource_dir_res1"]`, + "deps": `["java-lib-1_resource_dir_res1"]`, "resources": `["res/a.res"]`, "resource_strip_prefix": `"res"`, + "srcs": `["foo.java"]`, "sdk_version": `"current"`, }), MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"), @@ -453,6 +494,7 @@ func TestJavaLibraryJavaResourcesAndResourceDirs(t *testing.T) { java_resources: ["res1", "res2"], java_resource_dirs: ["resdir"], sdk_version: "current", + srcs: ["foo.java"], }`, ExpectedBazelTargets: []string{ MakeBazelTarget("java_resources", "java-lib-1_resource_dir_resdir", AttrNameToString{ @@ -460,12 +502,13 @@ func TestJavaLibraryJavaResourcesAndResourceDirs(t *testing.T) { "resources": `["resdir/a.res"]`, }), MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ - "additional_resources": `["java-lib-1_resource_dir_resdir"]`, + "deps": `["java-lib-1_resource_dir_resdir"]`, "resource_strip_prefix": `"."`, "resources": `[ "res1", "res2", ]`, + "srcs": `["foo.java"]`, "sdk_version": `"current"`, }), MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"), @@ -780,7 +823,7 @@ android_library { AttrNameToString{ "srcs": `["lib.java"] + select({ "//build/bazel/platforms/arch/variants:arm-neon": [], - "//build/bazel/platforms/arch:arm": ["arm_non_neon.java"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm_non_neon.java"], "//conditions:default": [], })`, "manifest": `"manifest/AndroidManifest.xml"`, @@ -899,11 +942,11 @@ func TestJavaLibraryArchVariantDeps(t *testing.T) { MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ "srcs": `["a.java"]`, "exports": `select({ - "//build/bazel/platforms/os:android": [":java-lib-4"], + "//build/bazel_common_rules/platforms/os:android": [":java-lib-4"], "//conditions:default": [], })`, "deps": `[":java-lib-2-neverlink"] + select({ - "//build/bazel/platforms/os:android": [ + "//build/bazel_common_rules/platforms/os:android": [ ":java-lib-3-neverlink", ":java-lib-4", ], @@ -934,7 +977,7 @@ func TestJavaLibraryArchVariantSrcsWithExcludes(t *testing.T) { ExpectedBazelTargets: []string{ MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ "srcs": `["b.java"] + select({ - "//build/bazel/platforms/os:android": [], + "//build/bazel_common_rules/platforms/os:android": [], "//conditions:default": ["a.java"], })`, "sdk_version": `"current"`, @@ -1025,7 +1068,7 @@ filegroup { "srcs": `["a.java"]`, "resources": `["a.res"]`, "resource_strip_prefix": `"."`, - "additional_resources": `[ + "deps": `[ "java-lib-1_filegroup_resources_filegroup1", "java-lib-1_filegroup_resources_filegroup2", ]`, diff --git a/bp2build/java_library_host_conversion_test.go b/bp2build/java_library_host_conversion_test.go index 9e47b0972..d0fdec62d 100644 --- a/bp2build/java_library_host_conversion_test.go +++ b/bp2build/java_library_host_conversion_test.go @@ -50,7 +50,7 @@ java_library_host { "srcs": `["a.java"]`, "deps": `[":java-lib-host-2-neverlink"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -58,7 +58,7 @@ java_library_host { "exports": `[":java-lib-host-1"]`, "neverlink": `True`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -66,7 +66,7 @@ java_library_host { "java_version": `"9"`, "srcs": `["c.java"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -74,7 +74,7 @@ java_library_host { "exports": `[":java-lib-host-2"]`, "neverlink": `True`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "java_version": `"9"`, diff --git a/bp2build/java_plugin_conversion_test.go b/bp2build/java_plugin_conversion_test.go index dcc17b5ce..e63cc55ab 100644 --- a/bp2build/java_plugin_conversion_test.go +++ b/bp2build/java_plugin_conversion_test.go @@ -55,7 +55,7 @@ java_library { ExpectedBazelTargets: []string{ MakeBazelTarget("java_plugin", "java-plug-1", AttrNameToString{ "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "deps": `[ @@ -95,7 +95,7 @@ java_library { ExpectedBazelTargets: []string{ MakeBazelTarget("java_plugin", "java-plug-1", AttrNameToString{ "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "deps": `[ diff --git a/bp2build/java_test_host_conversion_test.go b/bp2build/java_test_host_conversion_test.go index 87f35f6bc..5d93f58d0 100644 --- a/bp2build/java_test_host_conversion_test.go +++ b/bp2build/java_test_host_conversion_test.go @@ -34,7 +34,7 @@ func TestJavaTestHostGeneral(t *testing.T) { runJavaTestHostTestCase(t, Bp2buildTestCase{ Description: "java_test_host general", Filesystem: map[string]string{}, - StubbedBuildDefinitions: []string{"lib_a", "lib_b"}, + StubbedBuildDefinitions: []string{"lib_a", "static_libs_a"}, Blueprint: ` java_test_host { name: "java_test_host-1", @@ -64,7 +64,7 @@ java_library { "javacopts": `["-Xdoclint:all/protected"]`, "srcs": `["a.java"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -76,7 +76,7 @@ java_library { ]`, "srcs": `["a.java"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -111,7 +111,7 @@ java_library { ":static_libs_a", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -137,7 +137,7 @@ java_test_host { ]`, "runtime_deps": `[":java_test_host-1_lib"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -147,7 +147,7 @@ java_test_host { "b.kt", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), diff --git a/bp2build/prebuilt_etc_conversion_test.go b/bp2build/prebuilt_etc_conversion_test.go index e2373038a..c8cfd87ce 100644 --- a/bp2build/prebuilt_etc_conversion_test.go +++ b/bp2build/prebuilt_etc_conversion_test.go @@ -26,10 +26,17 @@ func runPrebuiltEtcTestCase(t *testing.T, tc Bp2buildTestCase) { t.Helper() (&tc).ModuleTypeUnderTest = "prebuilt_etc" (&tc).ModuleTypeUnderTestFactory = etc.PrebuiltEtcFactory - RunBp2BuildTestCase(t, registerPrebuiltEtcModuleTypes, tc) + RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc) } -func registerPrebuiltEtcModuleTypes(ctx android.RegistrationContext) { +func runPrebuiltRootHostTestCase(t *testing.T, tc Bp2buildTestCase) { + t.Helper() + (&tc).ModuleTypeUnderTest = "prebuilt_root_host" + (&tc).ModuleTypeUnderTestFactory = etc.PrebuiltRootHostFactory + RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc) +} + +func registerPrebuiltModuleTypes(ctx android.RegistrationContext) { } func TestPrebuiltEtcSimple(t *testing.T) { @@ -80,8 +87,8 @@ prebuilt_etc { "filename": `"tz_version"`, "installable": `False`, "src": `select({ - "//build/bazel/platforms/arch:arm": "arm", - "//build/bazel/platforms/arch:arm64": "arm64", + "//build/bazel_common_rules/platforms/arch:arm": "arm", + "//build/bazel_common_rules/platforms/arch:arm64": "arm64", "//conditions:default": "version/tz_version", })`, "dir": `"etc/tz"`, @@ -119,11 +126,11 @@ prebuilt_etc { "filename": `"tz_version"`, "installable": `False`, "src": `select({ - "//build/bazel/platforms/os_arch:android_arm": "arm", - "//build/bazel/platforms/os_arch:android_arm64": "darwin_or_arm64", - "//build/bazel/platforms/os_arch:darwin_arm64": "darwin_or_arm64", - "//build/bazel/platforms/os_arch:darwin_x86_64": "darwin_or_arm64", - "//build/bazel/platforms/os_arch:linux_bionic_arm64": "darwin_or_arm64", + "//build/bazel_common_rules/platforms/os_arch:android_arm": "arm", + "//build/bazel_common_rules/platforms/os_arch:android_arm64": "darwin_or_arm64", + "//build/bazel_common_rules/platforms/os_arch:darwin_arm64": "darwin_or_arm64", + "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64": "darwin_or_arm64", + "//build/bazel_common_rules/platforms/os_arch:linux_bionic_arm64": "darwin_or_arm64", "//conditions:default": "version/tz_version", })`, "dir": `"etc/tz"`, @@ -160,7 +167,7 @@ func runPrebuiltUsrShareTestCase(t *testing.T, tc Bp2buildTestCase) { t.Helper() (&tc).ModuleTypeUnderTest = "prebuilt_usr_share" (&tc).ModuleTypeUnderTestFactory = etc.PrebuiltUserShareFactory - RunBp2BuildTestCase(t, registerPrebuiltEtcModuleTypes, tc) + RunBp2BuildTestCase(t, registerPrebuiltModuleTypes, tc) } func registerPrebuiltUsrShareModuleTypes(ctx android.RegistrationContext) { @@ -270,8 +277,8 @@ prebuilt_etc { "filename_from_src": `True`, "dir": `"etc"`, "src": `select({ - "//build/bazel/platforms/arch:arm": "barSrc", - "//build/bazel/platforms/arch:arm64": "bazSrc", + "//build/bazel_common_rules/platforms/arch:arm": "barSrc", + "//build/bazel_common_rules/platforms/arch:arm64": "bazSrc", "//conditions:default": None, })`, })}}) @@ -317,8 +324,8 @@ prebuilt_etc { "filename": `"fooFilename"`, "dir": `"etc"`, "src": `select({ - "//build/bazel/platforms/arch:arm": "armSrc", "//build/bazel/product_config/config_settings:native_coverage-arm": "nativeCoverageArmSrc", + "//build/bazel_common_rules/platforms/arch:arm": "armSrc", "//conditions:default": None, })`, })}}) @@ -360,3 +367,30 @@ prebuilt_etc { ExpectedBazelTargets: []string{}, }) } + +func TestPrebuiltRootHostWithWildCardInSrc(t *testing.T) { + runPrebuiltRootHostTestCase(t, Bp2buildTestCase{ + Description: "prebuilt_root_host - src string has wild card", + Filesystem: map[string]string{ + "prh.dat": "", + }, + Blueprint: ` +prebuilt_root_host { + name: "prh_test", + src: "*.dat", + filename_from_src: true, + relative_install_path: "test/install/path", + bazel_module: { bp2build_available: true }, +} +`, + ExpectedBazelTargets: []string{ + MakeBazelTarget("prebuilt_file", "prh_test", AttrNameToString{ + "filename": `"prh.dat"`, + "src": `"prh.dat"`, + "dir": `"./test/install/path"`, + "target_compatible_with": `select({ + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], + "//conditions:default": [], + })`, + })}}) +} diff --git a/bp2build/python_binary_conversion_test.go b/bp2build/python_binary_conversion_test.go index b69c4eab7..eb993c2e4 100644 --- a/bp2build/python_binary_conversion_test.go +++ b/bp2build/python_binary_conversion_test.go @@ -56,7 +56,7 @@ func TestPythonBinaryHostSimple(t *testing.T) { "b/d.py", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -90,7 +90,7 @@ func TestPythonBinaryHostPy2(t *testing.T) { "imports": `["."]`, "srcs": `["a.py"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -124,7 +124,7 @@ func TestPythonBinaryHostPy3(t *testing.T) { "imports": `["."]`, "srcs": `["a.py"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -156,12 +156,12 @@ func TestPythonBinaryHostArchVariance(t *testing.T) { MakeBazelTarget("py_binary", "foo-arm", AttrNameToString{ "imports": `["."]`, "srcs": `select({ - "//build/bazel/platforms/arch:arm": ["arm.py"], - "//build/bazel/platforms/arch:x86": ["x86.py"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm.py"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.py"], "//conditions:default": [], })`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -183,7 +183,7 @@ func TestPythonBinaryMainIsNotSpecified(t *testing.T) { MakeBazelTarget("py_binary", "foo", AttrNameToString{ "imports": `["."]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -212,7 +212,7 @@ genrule { "main": `":a"`, "imports": `["."]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -241,7 +241,7 @@ func TestPythonBinaryMainIsSubpackageFile(t *testing.T) { "main": `"//a:b.py"`, "imports": `["."]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -269,7 +269,7 @@ func TestPythonBinaryMainIsSubDirFile(t *testing.T) { "main": `"a/b.py"`, "imports": `["."]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), @@ -311,7 +311,7 @@ python_defaults { ":r2", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), diff --git a/bp2build/python_library_conversion_test.go b/bp2build/python_library_conversion_test.go index 497df8091..ad6a27be4 100644 --- a/bp2build/python_library_conversion_test.go +++ b/bp2build/python_library_conversion_test.go @@ -25,7 +25,7 @@ type pythonLibBp2BuildTestCase struct { func convertPythonLibTestCaseToBp2build_Host(tc pythonLibBp2BuildTestCase) Bp2buildTestCase { for i := range tc.expectedBazelTargets { tc.expectedBazelTargets[i].attrs["target_compatible_with"] = `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })` } @@ -296,8 +296,8 @@ func TestPythonArchVariance(t *testing.T) { name: "foo", attrs: AttrNameToString{ "srcs": `select({ - "//build/bazel/platforms/arch:arm": ["arm.py"], - "//build/bazel/platforms/arch:x86": ["x86.py"], + "//build/bazel_common_rules/platforms/arch:arm": ["arm.py"], + "//build/bazel_common_rules/platforms/arch:x86": ["x86.py"], "//conditions:default": [], })`, "srcs_version": `"PY3"`, diff --git a/bp2build/python_test_conversion_test.go b/bp2build/python_test_conversion_test.go index fa2e48507..fca7efbb5 100644 --- a/bp2build/python_test_conversion_test.go +++ b/bp2build/python_test_conversion_test.go @@ -58,7 +58,7 @@ func TestPythonTestHostSimple(t *testing.T) { "b/d.py", ]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, }), diff --git a/bp2build/sh_test_conversion_test.go b/bp2build/sh_test_conversion_test.go index 48fd077b9..4bea396d1 100644 --- a/bp2build/sh_test_conversion_test.go +++ b/bp2build/sh_test_conversion_test.go @@ -120,7 +120,7 @@ func TestShTestHostSimple(t *testing.T) { ]`, "tags": `["no-remote"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, })}, @@ -164,7 +164,7 @@ func TestShTestAutogen(t *testing.T) { "srcs": `["empty.sh"]`, "runs_on": `["device"]`, "auto_generate_test_config": "True", - "target_compatible_with": `["//build/bazel/platforms/os:android"]`, + "target_compatible_with": `["//build/bazel_common_rules/platforms/os:android"]`, "template_test_config": `":art-run-test-target-template"`, "data": `[ "android.hardware.bluetooth@1.1-service.sim.rc", @@ -220,7 +220,7 @@ func TestShTestHostAutogen(t *testing.T) { "runs_on": `["host_without_device"]`, "auto_generate_test_config": "True", "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, "template_test_config": `":art-run-test-target-template"`, @@ -332,7 +332,7 @@ func TestShTestHostSimpleUnset(t *testing.T) { ]`, "tags": `["no-remote"]`, "target_compatible_with": `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })`, })}, diff --git a/bp2build/soong_config_module_type_conversion_test.go b/bp2build/soong_config_module_type_conversion_test.go index 5ec6bab29..2535cf316 100644 --- a/bp2build/soong_config_module_type_conversion_test.go +++ b/bp2build/soong_config_module_type_conversion_test.go @@ -1207,13 +1207,13 @@ cc_binary { local_includes = ["."], srcs = ["main.cc"], target_compatible_with = select({ - "//build/bazel/platforms/os_arch:android_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:darwin_arm64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:darwin_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:linux_bionic_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:linux_glibc_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:linux_musl_x86_64": ["@platforms//:incompatible"], - "//build/bazel/platforms/os_arch:windows_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:android_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:darwin_arm64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:darwin_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:linux_bionic_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:linux_glibc_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:linux_musl_x86_64": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os_arch:windows_x86_64": ["@platforms//:incompatible"], "//conditions:default": [], }) + select({ "//build/bazel/product_config/config_settings:alphabet_module__special_build": [], @@ -1423,7 +1423,7 @@ cc_binary { ExpectedBazelTargets: []string{`cc_binary( name = "my_binary", copts = select({ - "//build/bazel/platforms/os:android": ["-DFOO"], + "//build/bazel_common_rules/platforms/os:android": ["-DFOO"], "//conditions:default": [], }) + select({ "//build/bazel/product_config/config_settings:my_namespace__my_bool_variable__android": ["-DBAR"], @@ -1440,7 +1440,7 @@ cc_binary { }), local_includes = ["."], srcs = ["main.cc"], - target_compatible_with = ["//build/bazel/platforms/os:android"], + target_compatible_with = ["//build/bazel_common_rules/platforms/os:android"], )`}}) } diff --git a/bp2build/testing.go b/bp2build/testing.go index 763cccc44..b2804f909 100644 --- a/bp2build/testing.go +++ b/bp2build/testing.go @@ -682,11 +682,11 @@ func makeBazelTargetHostOrDevice(typ, name string, attrs AttrNameToString, hod a switch hod { case android.HostSupported: attrs["target_compatible_with"] = `select({ - "//build/bazel/platforms/os:android": ["@platforms//:incompatible"], + "//build/bazel_common_rules/platforms/os:android": ["@platforms//:incompatible"], "//conditions:default": [], })` case android.DeviceSupported: - attrs["target_compatible_with"] = `["//build/bazel/platforms/os:android"]` + attrs["target_compatible_with"] = `["//build/bazel_common_rules/platforms/os:android"]` } } diff --git a/cc/bp2build.go b/cc/bp2build.go index ec5d5225b..57333b85e 100644 --- a/cc/bp2build.go +++ b/cc/bp2build.go @@ -1514,7 +1514,7 @@ func createInApexConfigSetting(ctx android.Bp2buildMutatorContext, apexName stri Constraint_values: bazel.MakeLabelListAttribute( bazel.MakeLabelList( []bazel.Label{ - bazel.Label{Label: "//build/bazel/platforms/os:android"}, + bazel.Label{Label: "//build/bazel_common_rules/platforms/os:android"}, }, ), ), diff --git a/cc/config/global.go b/cc/config/global.go index 62b008b06..0354b2537 100644 --- a/cc/config/global.go +++ b/cc/config/global.go @@ -170,6 +170,9 @@ var ( // Emit additional debug info for AutoFDO "-fdebug-info-for-profiling", + + // Enable Hot Cold splitting optimization. + "-mllvm -hot-cold-split=true", } commonGlobalLldflags = []string{ diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go index 94235319a..ca2844244 100644 --- a/etc/prebuilt_etc.go +++ b/etc/prebuilt_etc.go @@ -508,6 +508,7 @@ func PrebuiltRootHostFactory() android.Module { // This module is host-only android.InitAndroidArchModule(module, android.HostSupported, android.MultilibCommon) android.InitDefaultableModule(module) + android.InitBazelModule(module) return module } @@ -759,7 +760,7 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (* filename = *moduleProps.Filename } else if moduleProps.Filename_from_src != nil && *moduleProps.Filename_from_src { if moduleProps.Src != nil { - filename = *moduleProps.Src + filename = android.BazelLabelForModuleSrcSingle(ctx, *moduleProps.Src).Label } filenameFromSrc = true } else { @@ -767,8 +768,8 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (* } var dir = module.installDirBase - if subDir := module.subdirProperties.Sub_dir; subDir != nil { - dir = dir + "/" + *subDir + if module.SubDir() != "" { + dir = dir + "/" + module.SubDir() } var installable bazel.BoolAttribute @@ -796,8 +797,9 @@ func (module *PrebuiltEtc) Bp2buildHelper(ctx android.Bp2buildMutatorContext) (* // which we treat as *PrebuiltFile* func (module *PrebuiltEtc) ConvertWithBp2build(ctx android.Bp2buildMutatorContext) { var dir = module.installDirBase - // prebuilt_file supports only `etc` or `usr/share` - if !(dir == "etc" || dir == "usr/share") { + // prebuilt_file only supports "etc" or "usr/share" or "." as module installDirBase + if !(dir == "etc" || dir == "usr/share" || dir == ".") { + ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_TYPE_UNSUPPORTED, "") return } diff --git a/genrule/allowlists.go b/genrule/allowlists.go index 8c78528ed..8552173a3 100644 --- a/genrule/allowlists.go +++ b/genrule/allowlists.go @@ -58,6 +58,7 @@ var ( "BlueberryFacadeGeneratedStub_h", "BluetoothGeneratedDumpsysBinarySchema_bfbs", "BluetoothGeneratedDumpsysDataSchema_h", + "CompilationTestCases_package-dex-usage", "ControlEnvProxyServerProto_cc", "ControlEnvProxyServerProto_h", "CtsApkVerityTestDebugFiles", diff --git a/java/aar.go b/java/aar.go index 44496dc57..85a6fbb96 100644 --- a/java/aar.go +++ b/java/aar.go @@ -301,23 +301,29 @@ var extractAssetsRule = pctx.AndroidStaticRule("extractAssets", CommandDeps: []string{"${config.Zip2ZipCmd}"}, }) -func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext android.SdkContext, - classLoaderContexts dexpreopt.ClassLoaderContextMap, excludedLibs []string, - enforceDefaultTargetSdkVersion bool, extraLinkFlags ...string) { +type aaptBuildActionOptions struct { + sdkContext android.SdkContext + classLoaderContexts dexpreopt.ClassLoaderContextMap + excludedLibs []string + enforceDefaultTargetSdkVersion bool + extraLinkFlags []string +} + +func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptions) { - staticResourcesNodesDepSet, staticRRODirsDepSet, staticManifestsDepSet, sharedDeps, libFlags := - aaptLibs(ctx, sdkContext, classLoaderContexts) + staticResourcesNodesDepSet, sharedResourcesNodesDepSet, staticRRODirsDepSet, staticManifestsDepSet, sharedExportPackages, libFlags := + aaptLibs(ctx, opts.sdkContext, opts.classLoaderContexts) // Exclude any libraries from the supplied list. - classLoaderContexts = classLoaderContexts.ExcludeLibs(excludedLibs) + opts.classLoaderContexts = opts.classLoaderContexts.ExcludeLibs(opts.excludedLibs) // App manifest file manifestFile := proptools.StringDefault(a.aaptProperties.Manifest, "AndroidManifest.xml") manifestSrcPath := android.PathForModuleSrc(ctx, manifestFile) manifestPath := ManifestFixer(ctx, manifestSrcPath, ManifestFixerParams{ - SdkContext: sdkContext, - ClassLoaderContexts: classLoaderContexts, + SdkContext: opts.sdkContext, + ClassLoaderContexts: opts.classLoaderContexts, IsLibrary: a.isLibrary, DefaultManifestVersion: a.defaultManifestVersion, UseEmbeddedNativeLibs: a.useEmbeddedNativeLibs, @@ -325,10 +331,11 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext android.SdkCon UseEmbeddedDex: a.useEmbeddedDex, HasNoCode: a.hasNoCode, LoggingParent: a.LoggingParent, - EnforceDefaultTargetSdkVersion: enforceDefaultTargetSdkVersion, + EnforceDefaultTargetSdkVersion: opts.enforceDefaultTargetSdkVersion, }) staticDeps := transitiveAarDeps(staticResourcesNodesDepSet.ToList()) + sharedDeps := transitiveAarDeps(sharedResourcesNodesDepSet.ToList()) // Add additional manifest files to transitive manifests. additionalManifests := android.PathsForModuleSrc(ctx, a.aaptProperties.Additional_manifests) @@ -341,7 +348,10 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext android.SdkCon transitiveManifestPaths = append(transitiveManifestPaths, staticManifestsDepSet.ToList()...) if len(transitiveManifestPaths) > 1 && !Bool(a.aaptProperties.Dont_merge_manifests) { - a.mergedManifestFile = manifestMerger(ctx, transitiveManifestPaths[0], transitiveManifestPaths[1:], a.isLibrary) + manifestMergerParams := ManifestMergerParams{ + staticLibManifests: transitiveManifestPaths[1:], + isLibrary: a.isLibrary} + a.mergedManifestFile = manifestMerger(ctx, transitiveManifestPaths[0], manifestMergerParams) if !a.isLibrary { // Only use the merged manifest for applications. For libraries, the transitive closure of manifests // will be propagated to the final application and merged there. The merged manifest for libraries is @@ -352,12 +362,12 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext android.SdkCon a.mergedManifestFile = manifestPath } - compileFlags, linkFlags, linkDeps, resDirs, overlayDirs, rroDirs, resZips := a.aapt2Flags(ctx, sdkContext, manifestPath) + compileFlags, linkFlags, linkDeps, resDirs, overlayDirs, rroDirs, resZips := a.aapt2Flags(ctx, opts.sdkContext, manifestPath) linkFlags = append(linkFlags, libFlags...) - linkDeps = append(linkDeps, sharedDeps...) + linkDeps = append(linkDeps, sharedExportPackages...) linkDeps = append(linkDeps, staticDeps.resPackages()...) - linkFlags = append(linkFlags, extraLinkFlags...) + linkFlags = append(linkFlags, opts.extraLinkFlags...) if a.isLibrary { linkFlags = append(linkFlags, "--static-lib") } @@ -413,6 +423,11 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext android.SdkCon transitiveRJars = append(transitiveRJars, staticDep.rJar) } } + for _, sharedDep := range sharedDeps { + if sharedDep.usedResourceProcessor { + transitiveRJars = append(transitiveRJars, sharedDep.rJar) + } + } } else { // When building an app or building a library without ResourceProcessorBusyBox enabled all static // dependencies are compiled into this module's package-res.apk as overlays. @@ -621,7 +636,7 @@ func (t transitiveAarDeps) assets() android.Paths { // aaptLibs collects libraries from dependencies and sdk_version and converts them into paths func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoaderContexts dexpreopt.ClassLoaderContextMap) ( - staticResourcesNodes *android.DepSet[*resourcesNode], staticRRODirs *android.DepSet[rroDir], + staticResourcesNodes, sharedResourcesNodes *android.DepSet[*resourcesNode], staticRRODirs *android.DepSet[rroDir], staticManifests *android.DepSet[android.Path], sharedLibs android.Paths, flags []string) { if classLoaderContexts == nil { @@ -635,7 +650,8 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoa sharedLibs = append(sharedLibs, sdkDep.jars...) } - var resourcesNodeDepSets []*android.DepSet[*resourcesNode] + var staticResourcesNodeDepSets []*android.DepSet[*resourcesNode] + var sharedResourcesNodeDepSets []*android.DepSet[*resourcesNode] rroDirsDepSetBuilder := android.NewDepSetBuilder[rroDir](android.TOPOLOGICAL) manifestsDepSetBuilder := android.NewDepSetBuilder[android.Path](android.TOPOLOGICAL) @@ -653,6 +669,7 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoa // Nothing, instrumentationForTag is treated as libTag for javac but not for aapt2. case sdkLibTag, libTag: if exportPackage != nil { + sharedResourcesNodeDepSets = append(sharedResourcesNodeDepSets, aarDep.ResourcesNodeDepSet()) sharedLibs = append(sharedLibs, exportPackage) } case frameworkResTag: @@ -661,7 +678,7 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoa } case staticLibTag: if exportPackage != nil { - resourcesNodeDepSets = append(resourcesNodeDepSets, aarDep.ResourcesNodeDepSet()) + staticResourcesNodeDepSets = append(staticResourcesNodeDepSets, aarDep.ResourcesNodeDepSet()) rroDirsDepSetBuilder.Transitive(aarDep.RRODirsDepSet()) manifestsDepSetBuilder.Transitive(aarDep.ManifestsDepSet()) } @@ -677,7 +694,9 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoa // dependencies) the highest priority dependency is listed first, but for resources the highest priority // dependency has to be listed last. staticResourcesNodes = android.NewDepSet(android.TOPOLOGICAL, nil, - android.ReverseSliceInPlace(resourcesNodeDepSets)) + android.ReverseSliceInPlace(staticResourcesNodeDepSets)) + sharedResourcesNodes = android.NewDepSet(android.TOPOLOGICAL, nil, + android.ReverseSliceInPlace(sharedResourcesNodeDepSets)) staticRRODirs = rroDirsDepSetBuilder.Build() staticManifests = manifestsDepSetBuilder.Build() @@ -690,7 +709,7 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext, classLoa flags = append(flags, "-I "+sharedLib.String()) } - return staticResourcesNodes, staticRRODirs, staticManifests, sharedLibs, flags + return staticResourcesNodes, sharedResourcesNodes, staticRRODirs, staticManifests, sharedLibs, flags } type AndroidLibrary struct { @@ -729,7 +748,13 @@ func (a *AndroidLibrary) DepsMutator(ctx android.BottomUpMutatorContext) { func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.aapt.isLibrary = true a.classLoaderContexts = a.usesLibrary.classLoaderContextForUsesLibDeps(ctx) - a.aapt.buildActions(ctx, android.SdkContext(a), a.classLoaderContexts, nil, false) + a.aapt.buildActions(ctx, + aaptBuildActionOptions{ + sdkContext: android.SdkContext(a), + classLoaderContexts: a.classLoaderContexts, + enforceDefaultTargetSdkVersion: false, + }, + ) a.hideApexVariantFromMake = !ctx.Provider(android.ApexInfoProvider).(android.ApexInfo).IsForPlatform() @@ -1080,10 +1105,12 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { linkFlags = append(linkFlags, "--manifest "+a.manifest.String()) linkDeps = append(linkDeps, a.manifest) - staticResourcesNodesDepSet, staticRRODirsDepSet, staticManifestsDepSet, sharedLibs, libFlags := + staticResourcesNodesDepSet, sharedResourcesNodesDepSet, staticRRODirsDepSet, staticManifestsDepSet, sharedLibs, libFlags := aaptLibs(ctx, android.SdkContext(a), nil) + _ = sharedResourcesNodesDepSet _ = staticRRODirsDepSet + staticDeps := transitiveAarDeps(staticResourcesNodesDepSet.ToList()) linkDeps = append(linkDeps, sharedLibs...) diff --git a/java/android_manifest.go b/java/android_manifest.go index f2ebfa6a2..a39c00251 100644 --- a/java/android_manifest.go +++ b/java/android_manifest.go @@ -200,11 +200,16 @@ func ManifestFixer(ctx android.ModuleContext, manifest android.Path, return fixedManifest.WithoutRel() } -func manifestMerger(ctx android.ModuleContext, manifest android.Path, staticLibManifests android.Paths, - isLibrary bool) android.Path { +type ManifestMergerParams struct { + staticLibManifests android.Paths + isLibrary bool +} + +func manifestMerger(ctx android.ModuleContext, manifest android.Path, + params ManifestMergerParams) android.Path { var args string - if !isLibrary { + if !params.isLibrary { // Follow Gradle's behavior, only pass --remove-tools-declarations when merging app manifests. args = "--remove-tools-declarations" } @@ -214,10 +219,10 @@ func manifestMerger(ctx android.ModuleContext, manifest android.Path, staticLibM Rule: manifestMergerRule, Description: "merge manifest", Input: manifest, - Implicits: staticLibManifests, + Implicits: params.staticLibManifests, Output: mergedManifest, Args: map[string]string{ - "libs": android.JoinWithPrefix(staticLibManifests.Strings(), "--libs "), + "libs": android.JoinWithPrefix(params.staticLibManifests.Strings(), "--libs "), "args": args, }, }) diff --git a/java/app.go b/java/app.go index 166c22d94..ce94ababd 100755 --- a/java/app.go +++ b/java/app.go @@ -481,8 +481,15 @@ func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) { if a.Updatable() { a.aapt.defaultManifestVersion = android.DefaultUpdatableModuleVersion } - a.aapt.buildActions(ctx, android.SdkContext(a), a.classLoaderContexts, - a.usesLibraryProperties.Exclude_uses_libs, a.enforceDefaultTargetSdkVersion(), aaptLinkFlags...) + a.aapt.buildActions(ctx, + aaptBuildActionOptions{ + android.SdkContext(a), + a.classLoaderContexts, + a.usesLibraryProperties.Exclude_uses_libs, + a.enforceDefaultTargetSdkVersion(), + aaptLinkFlags, + }, + ) // apps manifests are handled by aapt, don't let Module see them a.properties.Manifest = nil diff --git a/java/app_test.go b/java/app_test.go index fc57f444a..e38a7247b 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -722,10 +722,13 @@ func TestAppJavaResources(t *testing.T) { func TestAndroidResourceProcessor(t *testing.T) { testCases := []struct { - name string - appUsesRP bool - directLibUsesRP bool - transitiveLibUsesRP bool + name string + appUsesRP bool + directLibUsesRP bool + transitiveLibUsesRP bool + sharedLibUsesRP bool + sharedTransitiveStaticLibUsesRP bool + sharedTransitiveSharedLibUsesRP bool dontVerifyApp bool appResources []string @@ -760,6 +763,14 @@ func TestAndroidResourceProcessor(t *testing.T) { transitiveImportResources []string transitiveImportOverlays []string transitiveImportImports []string + + dontVerifyShared bool + sharedResources []string + sharedOverlays []string + sharedImports []string + sharedSrcJars []string + sharedClasspath []string + sharedCombined []string }{ { // Test with all modules set to use_resource_processor: false (except android_library_import modules, @@ -779,10 +790,14 @@ func TestAndroidResourceProcessor(t *testing.T) { "out/soong/.intermediates/direct_import/android_common/package-res.apk", "out/soong/.intermediates/app/android_common/aapt2/app/res/values_strings.arsc.flat", }, - appImports: []string{"out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk"}, + appImports: []string{ + "out/soong/.intermediates/shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, appSrcJars: []string{"out/soong/.intermediates/app/android_common/gen/android/R.srcjar"}, appClasspath: []string{ "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", + "out/soong/.intermediates/shared/android_common/turbine-combined/shared.jar", "out/soong/.intermediates/direct/android_common/turbine-combined/direct.jar", "out/soong/.intermediates/direct_import/android_common/aar/classes-combined.jar", }, @@ -819,6 +834,26 @@ func TestAndroidResourceProcessor(t *testing.T) { transitiveClasspath: []string{"out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar"}, transitiveCombined: nil, + sharedResources: nil, + sharedOverlays: []string{ + "out/soong/.intermediates/shared_transitive_static/android_common/package-res.apk", + "out/soong/.intermediates/shared/android_common/aapt2/shared/res/values_strings.arsc.flat", + }, + sharedImports: []string{ + "out/soong/.intermediates/shared_transitive_shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, + sharedSrcJars: []string{"out/soong/.intermediates/shared/android_common/gen/android/R.srcjar"}, + sharedClasspath: []string{ + "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", + "out/soong/.intermediates/shared_transitive_shared/android_common/turbine-combined/shared_transitive_shared.jar", + "out/soong/.intermediates/shared_transitive_static/android_common/turbine-combined/shared_transitive_static.jar", + }, + sharedCombined: []string{ + "out/soong/.intermediates/shared/android_common/javac/shared.jar", + "out/soong/.intermediates/shared_transitive_static/android_common/javac/shared_transitive_static.jar", + }, + directImportResources: nil, directImportOverlays: []string{"out/soong/.intermediates/direct_import/android_common/flat-res/gen_res.flata"}, directImportImports: []string{ @@ -835,10 +870,13 @@ func TestAndroidResourceProcessor(t *testing.T) { }, { // Test with all modules set to use_resource_processor: true. - name: "resource_processor", - appUsesRP: true, - directLibUsesRP: true, - transitiveLibUsesRP: true, + name: "resource_processor", + appUsesRP: true, + directLibUsesRP: true, + transitiveLibUsesRP: true, + sharedLibUsesRP: true, + sharedTransitiveSharedLibUsesRP: true, + sharedTransitiveStaticLibUsesRP: true, appResources: nil, appOverlays: []string{ @@ -850,11 +888,15 @@ func TestAndroidResourceProcessor(t *testing.T) { "out/soong/.intermediates/direct_import/android_common/package-res.apk", "out/soong/.intermediates/app/android_common/aapt2/app/res/values_strings.arsc.flat", }, - appImports: []string{"out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk"}, + appImports: []string{ + "out/soong/.intermediates/shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, appSrcJars: nil, appClasspath: []string{ "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", "out/soong/.intermediates/app/android_common/busybox/R.jar", + "out/soong/.intermediates/shared/android_common/turbine-combined/shared.jar", "out/soong/.intermediates/direct/android_common/turbine-combined/direct.jar", "out/soong/.intermediates/direct_import/android_common/aar/classes-combined.jar", }, @@ -899,6 +941,27 @@ func TestAndroidResourceProcessor(t *testing.T) { }, transitiveCombined: nil, + sharedResources: nil, + sharedOverlays: []string{"out/soong/.intermediates/shared/android_common/aapt2/shared/res/values_strings.arsc.flat"}, + sharedImports: []string{ + "out/soong/.intermediates/shared_transitive_shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + "out/soong/.intermediates/shared_transitive_static/android_common/package-res.apk", + }, + sharedSrcJars: nil, + sharedClasspath: []string{ + "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", + "out/soong/.intermediates/shared_transitive_static/android_common/busybox/R.jar", + "out/soong/.intermediates/shared_transitive_shared/android_common/busybox/R.jar", + "out/soong/.intermediates/shared/android_common/busybox/R.jar", + "out/soong/.intermediates/shared_transitive_shared/android_common/turbine-combined/shared_transitive_shared.jar", + "out/soong/.intermediates/shared_transitive_static/android_common/turbine-combined/shared_transitive_static.jar", + }, + sharedCombined: []string{ + "out/soong/.intermediates/shared/android_common/javac/shared.jar", + "out/soong/.intermediates/shared_transitive_static/android_common/javac/shared_transitive_static.jar", + }, + directImportResources: nil, directImportOverlays: []string{"out/soong/.intermediates/direct_import/android_common/flat-res/gen_res.flata"}, directImportImports: []string{ @@ -930,12 +993,16 @@ func TestAndroidResourceProcessor(t *testing.T) { "out/soong/.intermediates/direct_import/android_common/package-res.apk", "out/soong/.intermediates/app/android_common/aapt2/app/res/values_strings.arsc.flat", }, - appImports: []string{"out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk"}, + appImports: []string{ + "out/soong/.intermediates/shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, appSrcJars: nil, appClasspath: []string{ "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", // R.jar has to come before direct.jar "out/soong/.intermediates/app/android_common/busybox/R.jar", + "out/soong/.intermediates/shared/android_common/turbine-combined/shared.jar", "out/soong/.intermediates/direct/android_common/turbine-combined/direct.jar", "out/soong/.intermediates/direct_import/android_common/aar/classes-combined.jar", }, @@ -948,6 +1015,7 @@ func TestAndroidResourceProcessor(t *testing.T) { dontVerifyDirect: true, dontVerifyTransitive: true, + dontVerifyShared: true, dontVerifyDirectImport: true, dontVerifyTransitiveImport: true, }, @@ -968,10 +1036,14 @@ func TestAndroidResourceProcessor(t *testing.T) { "out/soong/.intermediates/direct_import/android_common/package-res.apk", "out/soong/.intermediates/app/android_common/aapt2/app/res/values_strings.arsc.flat", }, - appImports: []string{"out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk"}, + appImports: []string{ + "out/soong/.intermediates/shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, appSrcJars: []string{"out/soong/.intermediates/app/android_common/gen/android/R.srcjar"}, appClasspath: []string{ "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", + "out/soong/.intermediates/shared/android_common/turbine-combined/shared.jar", "out/soong/.intermediates/direct/android_common/turbine-combined/direct.jar", "out/soong/.intermediates/direct_import/android_common/aar/classes-combined.jar", }, @@ -1005,6 +1077,7 @@ func TestAndroidResourceProcessor(t *testing.T) { }, dontVerifyTransitive: true, + dontVerifyShared: true, dontVerifyDirectImport: true, dontVerifyTransitiveImport: true, }, @@ -1025,10 +1098,14 @@ func TestAndroidResourceProcessor(t *testing.T) { "out/soong/.intermediates/direct_import/android_common/package-res.apk", "out/soong/.intermediates/app/android_common/aapt2/app/res/values_strings.arsc.flat", }, - appImports: []string{"out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk"}, + appImports: []string{ + "out/soong/.intermediates/shared/android_common/package-res.apk", + "out/soong/.intermediates/default/java/framework-res/android_common/package-res.apk", + }, appSrcJars: []string{"out/soong/.intermediates/app/android_common/gen/android/R.srcjar"}, appClasspath: []string{ "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", + "out/soong/.intermediates/shared/android_common/turbine-combined/shared.jar", "out/soong/.intermediates/direct/android_common/turbine-combined/direct.jar", "out/soong/.intermediates/direct_import/android_common/aar/classes-combined.jar", }, @@ -1068,6 +1145,7 @@ func TestAndroidResourceProcessor(t *testing.T) { }, transitiveCombined: nil, + dontVerifyShared: true, dontVerifyDirectImport: true, dontVerifyTransitiveImport: true, }, @@ -1082,6 +1160,7 @@ func TestAndroidResourceProcessor(t *testing.T) { srcs: ["app/app.java"], resource_dirs: ["app/res"], manifest: "app/AndroidManifest.xml", + libs: ["shared"], static_libs: ["direct", "direct_import"], use_resource_processor: %v, } @@ -1105,6 +1184,35 @@ func TestAndroidResourceProcessor(t *testing.T) { use_resource_processor: %v, } + android_library { + name: "shared", + sdk_version: "current", + srcs: ["shared/shared.java"], + resource_dirs: ["shared/res"], + manifest: "shared/AndroidManifest.xml", + use_resource_processor: %v, + libs: ["shared_transitive_shared"], + static_libs: ["shared_transitive_static"], + } + + android_library { + name: "shared_transitive_shared", + sdk_version: "current", + srcs: ["shared_transitive_shared/shared_transitive_shared.java"], + resource_dirs: ["shared_transitive_shared/res"], + manifest: "shared_transitive_shared/AndroidManifest.xml", + use_resource_processor: %v, + } + + android_library { + name: "shared_transitive_static", + sdk_version: "current", + srcs: ["shared_transitive_static/shared.java"], + resource_dirs: ["shared_transitive_static/res"], + manifest: "shared_transitive_static/AndroidManifest.xml", + use_resource_processor: %v, + } + android_library_import { name: "direct_import", sdk_version: "current", @@ -1130,12 +1238,16 @@ func TestAndroidResourceProcessor(t *testing.T) { sdk_version: "current", aars: ["transitive_import_dep.aar"], } - `, testCase.appUsesRP, testCase.directLibUsesRP, testCase.transitiveLibUsesRP) + `, testCase.appUsesRP, testCase.directLibUsesRP, testCase.transitiveLibUsesRP, + testCase.sharedLibUsesRP, testCase.sharedTransitiveSharedLibUsesRP, testCase.sharedTransitiveStaticLibUsesRP) fs := android.MockFS{ - "app/res/values/strings.xml": nil, - "direct/res/values/strings.xml": nil, - "transitive/res/values/strings.xml": nil, + "app/res/values/strings.xml": nil, + "direct/res/values/strings.xml": nil, + "transitive/res/values/strings.xml": nil, + "shared/res/values/strings.xml": nil, + "shared_transitive_static/res/values/strings.xml": nil, + "shared_transitive_shared/res/values/strings.xml": nil, } result := android.GroupFixturePreparers( @@ -1182,6 +1294,7 @@ func TestAndroidResourceProcessor(t *testing.T) { app := getAaptInfo("app") direct := getAaptInfo("direct") transitive := getAaptInfo("transitive") + shared := getAaptInfo("shared") directImport := getAaptInfo("direct_import") transitiveImport := getAaptInfo("transitive_import") @@ -1212,6 +1325,15 @@ func TestAndroidResourceProcessor(t *testing.T) { android.AssertPathsRelativeToTopEquals(t, "transitive combined", testCase.transitiveCombined, transitive.combined) } + if !testCase.dontVerifyShared { + android.AssertPathsRelativeToTopEquals(t, "shared resources", testCase.sharedResources, shared.resources) + android.AssertPathsRelativeToTopEquals(t, "shared overlays", testCase.sharedOverlays, shared.overlays) + android.AssertPathsRelativeToTopEquals(t, "shared imports", testCase.sharedImports, shared.imports) + android.AssertPathsRelativeToTopEquals(t, "shared srcjars", testCase.sharedSrcJars, shared.srcJars) + android.AssertPathsRelativeToTopEquals(t, "shared classpath", testCase.sharedClasspath, shared.classpath) + android.AssertPathsRelativeToTopEquals(t, "shared combined", testCase.sharedCombined, shared.combined) + } + if !testCase.dontVerifyDirectImport { android.AssertPathsRelativeToTopEquals(t, "direct_import resources", testCase.directImportResources, directImport.resources) android.AssertPathsRelativeToTopEquals(t, "direct_import overlays", testCase.directImportOverlays, directImport.overlays) diff --git a/java/base.go b/java/base.go index 03198b550..53f22a7c0 100644 --- a/java/base.go +++ b/java/base.go @@ -1024,7 +1024,12 @@ func (j *Module) collectJavacFlags( if flags.javaVersion.usesJavaModules() { javacFlags = append(javacFlags, j.properties.Openjdk9.Javacflags...) + } else if len(j.properties.Openjdk9.Javacflags) > 0 { + // java version defaults higher than openjdk 9, these conditionals should no longer be necessary + ctx.PropertyErrorf("openjdk9.javacflags", "JDK version defaults to higher than 9") + } + if flags.javaVersion.usesJavaModules() { if j.properties.Patch_module != nil { // Manually specify build directory in case it is not under the repo root. // (javac doesn't seem to expand into symbolic links when searching for patch-module targets, so @@ -1101,6 +1106,9 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath if flags.javaVersion.usesJavaModules() { j.properties.Srcs = append(j.properties.Srcs, j.properties.Openjdk9.Srcs...) + } else if len(j.properties.Openjdk9.Javacflags) > 0 { + // java version defaults higher than openjdk 9, these conditionals should no longer be necessary + ctx.PropertyErrorf("openjdk9.srcs", "JDK version defaults to higher than 9") } srcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Srcs, j.properties.Exclude_srcs) diff --git a/java/bootclasspath_fragment_test.go b/java/bootclasspath_fragment_test.go index 888caad16..828de2179 100644 --- a/java/bootclasspath_fragment_test.go +++ b/java/bootclasspath_fragment_test.go @@ -316,6 +316,60 @@ func TestBootclasspathFragment_StubLibs(t *testing.T) { android.AssertPathsRelativeToTopEquals(t, "widest dex stubs jar", expectedWidestPaths, info.TransitiveStubDexJarsByScope.StubDexJarsForWidestAPIScope()) } +func TestFromTextWidestApiScope(t *testing.T) { + result := android.GroupFixturePreparers( + prepareForTestWithBootclasspathFragment, + PrepareForTestWithJavaSdkLibraryFiles, + android.FixtureModifyConfig(func(config android.Config) { + config.SetBuildFromTextStub(true) + }), + FixtureWithLastReleaseApis("mysdklibrary", "android-non-updatable"), + FixtureConfigureApexBootJars("someapex:mysdklibrary"), + ).RunTestWithBp(t, ` + bootclasspath_fragment { + name: "myfragment", + contents: ["mysdklibrary"], + additional_stubs: [ + "android-non-updatable", + ], + hidden_api: { + split_packages: ["*"], + }, + } + java_sdk_library { + name: "mysdklibrary", + srcs: ["a.java"], + shared_library: false, + public: {enabled: true}, + system: {enabled: true}, + } + java_sdk_library { + name: "android-non-updatable", + srcs: ["b.java"], + compile_dex: true, + public: { + enabled: true, + }, + system: { + enabled: true, + }, + test: { + enabled: true, + }, + module_lib: { + enabled: true, + }, + } + `) + + fragment := result.ModuleForTests("myfragment", "android_common") + dependencyStubDexFlag := "--dependency-stub-dex=out/soong/.intermediates/default/java/android-non-updatable.stubs.test_module_lib/android_common/dex/android-non-updatable.stubs.test_module_lib.jar" + stubFlagsCommand := fragment.Output("modular-hiddenapi/stub-flags.csv").RuleParams.Command + android.AssertStringDoesContain(t, + "Stub flags generating command does not include the expected dependency stub dex file", + stubFlagsCommand, dependencyStubDexFlag) +} + func TestSnapshotWithBootclasspathFragment_HiddenAPI(t *testing.T) { result := android.GroupFixturePreparers( prepareForTestWithBootclasspathFragment, diff --git a/java/dex.go b/java/dex.go index 348c93921..9ce5053fd 100644 --- a/java/dex.go +++ b/java/dex.go @@ -106,15 +106,12 @@ func (d *dexer) effectiveOptimizeEnabled() bool { var d8, d8RE = pctx.MultiCommandRemoteStaticRules("d8", blueprint.RuleParams{ Command: `rm -rf "$outDir" && mkdir -p "$outDir" && ` + - `mkdir -p $$(dirname $tmpJar) && ` + - `${config.Zip2ZipCmd} -i $in -o $tmpJar -x '**/*.dex' && ` + - `$d8Template${config.D8Cmd} ${config.D8Flags} --output $outDir $d8Flags $tmpJar && ` + + `$d8Template${config.D8Cmd} ${config.D8Flags} --output $outDir $d8Flags --no-dex-input-jar $in && ` + `$zipTemplate${config.SoongZipCmd} $zipFlags -o $outDir/classes.dex.jar -C $outDir -f "$outDir/classes*.dex" && ` + `${config.MergeZipsCmd} -D -stripFile "**/*.class" $mergeZipsFlags $out $outDir/classes.dex.jar $in && ` + - `rm -f "$tmpJar" "$outDir/classes*.dex" "$outDir/classes.dex.jar"`, + `rm -f "$outDir/classes*.dex" "$outDir/classes.dex.jar"`, CommandDeps: []string{ "${config.D8Cmd}", - "${config.Zip2ZipCmd}", "${config.SoongZipCmd}", "${config.MergeZipsCmd}", }, @@ -133,7 +130,7 @@ var d8, d8RE = pctx.MultiCommandRemoteStaticRules("d8", ExecStrategy: "${config.RED8ExecStrategy}", Platform: map[string]string{remoteexec.PoolKey: "${config.REJavaPool}"}, }, - }, []string{"outDir", "d8Flags", "zipFlags", "tmpJar", "mergeZipsFlags"}, nil) + }, []string{"outDir", "d8Flags", "zipFlags", "mergeZipsFlags"}, nil) var r8, r8RE = pctx.MultiCommandRemoteStaticRules("r8", blueprint.RuleParams{ @@ -157,7 +154,6 @@ var r8, r8RE = pctx.MultiCommandRemoteStaticRules("r8", Deps: blueprint.DepsGCC, CommandDeps: []string{ "${config.R8Cmd}", - "${config.Zip2ZipCmd}", "${config.SoongZipCmd}", "${config.MergeZipsCmd}", }, @@ -424,7 +420,6 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam Args: args, }) } else { - tmpJar := android.PathForModuleOut(ctx, "withres-withoutdex", dexParams.jarName) d8Flags, d8Deps := d8Flags(dexParams.flags) d8Deps = append(d8Deps, commonDeps...) rule := d8 @@ -441,7 +436,6 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam "d8Flags": strings.Join(append(commonFlags, d8Flags...), " "), "zipFlags": zipFlags, "outDir": outDir.String(), - "tmpJar": tmpJar.String(), "mergeZipsFlags": mergeZipsFlags, }, }) diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go index f31f5d1a8..81be33dd1 100644 --- a/java/hiddenapi_modular.go +++ b/java/hiddenapi_modular.go @@ -38,10 +38,14 @@ type HiddenAPIScope struct { // The option needed to passed to "hiddenapi list". hiddenAPIListOption string - // The name sof the source stub library modules that contain the API provided by the platform, + // The names of the source stub library modules that contain the API provided by the platform, // i.e. by modules that are not in an APEX. nonUpdatableSourceModule string + // The names of from-text stub library modules that contain the API provided by the platform, + // i.e. by modules that are not in an APEX. + nonUpdatableFromTextModule string + // The names of the prebuilt stub library modules that contain the API provided by the platform, // i.e. by modules that are not in an APEX. nonUpdatablePrebuiltModule string @@ -86,6 +90,9 @@ func (l *HiddenAPIScope) scopeSpecificStubModule(ctx android.BaseModuleContext, if ctx.Config().AlwaysUsePrebuiltSdks() { return l.nonUpdatablePrebuiltModule } else { + if l.nonUpdatableFromTextModule != "" && ctx.Config().BuildFromTextStub() { + return l.nonUpdatableFromTextModule + } return l.nonUpdatableSourceModule } } else { @@ -117,8 +124,9 @@ var ( hiddenAPIListOption: "--test-stub-classpath", }) ModuleLibHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{ - name: "module-lib", - sdkKind: android.SdkModule, + name: "module-lib", + sdkKind: android.SdkModule, + nonUpdatableFromTextModule: "android-non-updatable.stubs.test_module_lib", }) CorePlatformHiddenAPIScope = initHiddenAPIScope(&HiddenAPIScope{ name: "core-platform", @@ -647,7 +655,7 @@ func (s StubDexJarsByModule) addStubDexJar(ctx android.ModuleContext, module and // public version is provided by the art.module.public.api module. In those cases it is necessary // to treat all those modules as they were the same name, otherwise it will result in multiple // definitions of a single class being passed to hidden API processing which will cause an error. - if name == scope.nonUpdatablePrebuiltModule || name == scope.nonUpdatableSourceModule { + if name == scope.nonUpdatablePrebuiltModule || name == scope.nonUpdatableSourceModule || name == scope.nonUpdatableFromTextModule { // Treat all *android-non-updatable* modules as if they were part of an android-non-updatable // java_sdk_library. // TODO(b/192067200): Remove once android-non-updatable is a java_sdk_library or equivalent. diff --git a/java/java.go b/java/java.go index 1cb79433f..990a084f7 100644 --- a/java/java.go +++ b/java/java.go @@ -2814,7 +2814,7 @@ func addCLCFromDep(ctx android.ModuleContext, depModule android.Module, type javaResourcesAttributes struct { Resources bazel.LabelListAttribute Resource_strip_prefix *string - Additional_resources bazel.LabelListAttribute + Additional_resources bazel.LabelListAttribute `blueprint:"mutated"` } func (m *Library) getResourceFilegroupStripPrefix(ctx android.Bp2buildMutatorContext, resourceFilegroup string) (*string, bool) { @@ -2974,8 +2974,8 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{}) for axis, configToProps := range archVariantProps { - for config, _props := range configToProps { - if archProps, ok := _props.(*CommonProperties); ok { + for config, p := range configToProps { + if archProps, ok := p.(*CommonProperties); ok { archSrcs := android.BazelLabelForModuleSrcExcludes(ctx, archProps.Srcs, archProps.Exclude_srcs) srcs.SetSelectValue(axis, config, archSrcs) if archProps.Jarjar_rules != nil { @@ -2985,6 +2985,11 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext } } } + srcs.Append( + bazel.MakeLabelListAttribute( + android.BazelLabelForModuleSrcExcludes(ctx, + m.properties.Openjdk9.Srcs, + m.properties.Exclude_srcs))) srcs.ResolveExcludes() javaSrcPartition := "java" @@ -3068,8 +3073,9 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext plugins := bazel.MakeLabelListAttribute( android.BazelLabelForModuleDeps(ctx, m.properties.Plugins), ) - if m.properties.Javacflags != nil { - javacopts = bazel.MakeStringListAttribute(m.properties.Javacflags) + if m.properties.Javacflags != nil || m.properties.Openjdk9.Javacflags != nil { + javacopts = bazel.MakeStringListAttribute( + append(append([]string{}, m.properties.Javacflags...), m.properties.Openjdk9.Javacflags...)) } epEnabled := m.properties.Errorprone.Enabled @@ -3085,9 +3091,11 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext javacopts.Append(bazel.MakeStringListAttribute([]string{"-XepDisableAllChecks"})) } + resourcesAttrs := m.convertJavaResourcesAttributes(ctx) + commonAttrs := &javaCommonAttributes{ Srcs: javaSrcs, - javaResourcesAttributes: m.convertJavaResourcesAttributes(ctx), + javaResourcesAttributes: resourcesAttrs, Plugins: plugins, Javacopts: javacopts, Java_version: bazel.StringAttribute{Value: m.properties.Java_version}, @@ -3110,6 +3118,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.Bp2buildMutatorContext } depLabels := &javaDependencyLabels{} + deps.Append(resourcesAttrs.Additional_resources) depLabels.Deps = deps for axis, configToProps := range archVariantProps { diff --git a/java/rro.go b/java/rro.go index 53faca069..3e0f8e94d 100644 --- a/java/rro.go +++ b/java/rro.go @@ -146,7 +146,13 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC aaptLinkFlags = append(aaptLinkFlags, "--rename-overlay-category "+*r.overridableProperties.Category) } - r.aapt.buildActions(ctx, r, nil, nil, false, aaptLinkFlags...) + r.aapt.buildActions(ctx, + aaptBuildActionOptions{ + sdkContext: r, + enforceDefaultTargetSdkVersion: false, + extraLinkFlags: aaptLinkFlags, + }, + ) // Sign the built package _, _, certificates := collectAppDeps(ctx, r, false, false) diff --git a/java/testing.go b/java/testing.go index 446135116..16bdd80a1 100644 --- a/java/testing.go +++ b/java/testing.go @@ -491,6 +491,7 @@ func gatherRequiredDepsForTest() string { "android-non-updatable.stubs.system.from-text": systemDroidstubs, "android-non-updatable.stubs.test.from-text": testDroidstubs, "android-non-updatable.stubs.module_lib.from-text": moduleLibDroidstubs, + "android-non-updatable.stubs.test_module_lib": moduleLibDroidstubs, } for _, droidstubs := range droidstubsStructs { diff --git a/rust/builder.go b/rust/builder.go index bea8ff717..fe2d03a0b 100644 --- a/rust/builder.go +++ b/rust/builder.go @@ -278,7 +278,9 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl if ctx.Config().IsEnvTrue("SOONG_RUSTC_INCREMENTAL") { incrementalPath := android.PathForOutput(ctx, "rustc").String() - rustcFlags = append(rustcFlags, "-Cincremental="+incrementalPath) + rustcFlags = append(rustcFlags, "-C incremental="+incrementalPath) + } else { + rustcFlags = append(rustcFlags, "-C codegen-units=1") } // Disallow experimental features diff --git a/rust/config/arm_device.go b/rust/config/arm_device.go index 42c1c0256..a5f4afb92 100644 --- a/rust/config/arm_device.go +++ b/rust/config/arm_device.go @@ -44,6 +44,7 @@ func init() { strings.Join(rustFlags, " ")) } + ExportedVars.ExportStringListStaticVariable("DEVICE_ARM_RUSTC_FLAGS", ArmRustFlags) } type toolchainArm struct { diff --git a/rust/config/global.go b/rust/config/global.go index 4397d585c..b94d92fd9 100644 --- a/rust/config/global.go +++ b/rust/config/global.go @@ -44,7 +44,6 @@ var ( GlobalRustFlags = []string{ "-Z stack-protector=strong", "-Z remap-cwd-prefix=.", - "-C codegen-units=1", "-C debuginfo=2", "-C opt-level=3", "-C relocation-model=pic", @@ -55,7 +54,7 @@ var ( // This flag requires to have no space so that when it's exported to bazel // it can be removed. See aosp/2768339 "--color=always", - "-Zdylib-lto", + "-Z dylib-lto", "-Z link-native-libraries=no", } diff --git a/rust/config/x86_64_device.go b/rust/config/x86_64_device.go index 45d1fd0a1..c797eefe3 100644 --- a/rust/config/x86_64_device.go +++ b/rust/config/x86_64_device.go @@ -53,7 +53,7 @@ func init() { pctx.StaticVariable("X86_64"+variant+"VariantRustFlags", strings.Join(rustFlags, " ")) } - + ExportedVars.ExportStringListStaticVariable("DEVICE_X86_64_RUSTC_FLAGS", x86_64RustFlags) } type toolchainX86_64 struct { diff --git a/rust/config/x86_device.go b/rust/config/x86_device.go index 43f73400e..822f281a8 100644 --- a/rust/config/x86_device.go +++ b/rust/config/x86_device.go @@ -55,6 +55,7 @@ func init() { strings.Join(rustFlags, " ")) } + ExportedVars.ExportStringListStaticVariable("DEVICE_X86_RUSTC_FLAGS", x86RustFlags) } type toolchainX86 struct { diff --git a/rust/sanitize.go b/rust/sanitize.go index 2f5afd74d..0b1043597 100644 --- a/rust/sanitize.go +++ b/rust/sanitize.go @@ -203,6 +203,11 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) { s.Address = nil } + // TODO: Remove once b/304507701 is resolved + if Bool(s.Address) && ctx.Host() { + s.Address = nil + } + // Memtag_heap is only implemented on AArch64. if ctx.Arch().ArchType != android.Arm64 || !ctx.Os().Bionic() { s.Memtag_heap = nil diff --git a/scripts/manifest_check.py b/scripts/manifest_check.py index c8d4f76c8..c33b104bd 100755 --- a/scripts/manifest_check.py +++ b/scripts/manifest_check.py @@ -187,18 +187,17 @@ def extract_uses_libs_apk(badging): return required, optional, tags -def extract_uses_libs_xml(xml): #pylint: disable=inconsistent-return-statements +def extract_uses_libs_xml(xml): """Extract <uses-library> tags from the manifest.""" manifest = parse_manifest(xml) elems = get_children_with_tag(manifest, 'application') - application = elems[0] if len(elems) == 1 else None - if len(elems) > 1: #pylint: disable=no-else-raise + if len(elems) > 1: raise RuntimeError('found multiple <application> tags') - elif not elems: - if uses_libraries or optional_uses_libraries: #pylint: disable=undefined-variable - raise ManifestMismatchError('no <application> tag found') - return + if not elems: + return [], [], [] + + application = elems[0] libs = get_children_with_tag(application, 'uses-library') diff --git a/ui/build/config.go b/ui/build/config.go index f80868c33..264d83e70 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -472,11 +472,6 @@ func NewConfig(ctx Context, args ...string) Config { } } - if ret.BuildFromTextStub() { - // TODO(b/271443071): support hidden api check for from-text stub build - ret.environ.Set("UNSAFE_DISABLE_HIDDENAPI_FLAGS", "true") - } - bpd := ret.BazelMetricsDir() if err := os.RemoveAll(bpd); err != nil { ctx.Fatalf("Unable to remove bazel profile directory %q: %v", bpd, err) @@ -1349,6 +1344,19 @@ func (c *configImpl) rbeProxyLogsDir() string { return v } } + return c.rbeTmpDir() +} + +func (c *configImpl) rbeDownloadTmpDir() string { + for _, f := range []string{"RBE_download_tmp_dir", "FLAG_download_tmp_dir"} { + if v, ok := c.environ.Get(f); ok { + return v + } + } + return c.rbeTmpDir() +} + +func (c *configImpl) rbeTmpDir() string { buildTmpDir := shared.TempDirForOutDir(c.SoongOutDir()) return filepath.Join(buildTmpDir, "rbe") } diff --git a/ui/build/rbe.go b/ui/build/rbe.go index 3b9d301f5..19a54dfc2 100644 --- a/ui/build/rbe.go +++ b/ui/build/rbe.go @@ -55,13 +55,14 @@ func rbeCommand(ctx Context, config Config, rbeCmd string) string { func getRBEVars(ctx Context, config Config) map[string]string { vars := map[string]string{ - "RBE_log_dir": config.rbeProxyLogsDir(), - "RBE_re_proxy": config.rbeReproxy(), - "RBE_exec_root": config.rbeExecRoot(), - "RBE_output_dir": config.rbeProxyLogsDir(), - "RBE_proxy_log_dir": config.rbeProxyLogsDir(), - "RBE_cache_dir": config.rbeCacheDir(), - "RBE_platform": "container-image=" + remoteexec.DefaultImage, + "RBE_log_dir": config.rbeProxyLogsDir(), + "RBE_re_proxy": config.rbeReproxy(), + "RBE_exec_root": config.rbeExecRoot(), + "RBE_output_dir": config.rbeProxyLogsDir(), + "RBE_proxy_log_dir": config.rbeProxyLogsDir(), + "RBE_cache_dir": config.rbeCacheDir(), + "RBE_download_tmp_dir": config.rbeDownloadTmpDir(), + "RBE_platform": "container-image=" + remoteexec.DefaultImage, } if config.StartRBE() { name, err := config.rbeSockAddr(absPath(ctx, config.TempDir())) diff --git a/xml/xml_conversion_test.go b/xml/xml_conversion_test.go index 6606ddca6..c052b44f2 100644 --- a/xml/xml_conversion_test.go +++ b/xml/xml_conversion_test.go @@ -121,8 +121,8 @@ prebuilt_etc_xml { "filename_from_src": `True`, "dir": `"etc"`, "src": `select({ - "//build/bazel/platforms/arch:arm": "barSrc", - "//build/bazel/platforms/arch:arm64": "bazSrc", + "//build/bazel_common_rules/platforms/arch:arm": "barSrc", + "//build/bazel_common_rules/platforms/arch:arm64": "bazSrc", "//conditions:default": None, })`, })}}) |