From 6b57ba94c5e305ba1c5c97d2f0804cff82546d37 Mon Sep 17 00:00:00 2001 From: sarad Date: Wed, 29 Jan 2025 20:05:06 -0500 Subject: [PATCH] Mark non_module_deps as reproducible --- BUILD.bazel | 60 +++++++++++++++++++++---------------- MODULE.bazel | 5 ++++ rules/module_extensions.bzl | 12 +++++++- 3 files changed, 51 insertions(+), 26 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index f51942032..2b2036f26 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -134,35 +134,45 @@ selects.config_setting_group( ], ) +# Below are supported Xcode versions for Bazel. +# More info: https://blog.bazel.build/2020/02/26/xcode-selection.html +# and: https://www.smileykeith.com/2021/03/08/locking-xcode-in-bazel/ xcode_version( - name = "version15_2_0_15C500b", - aliases = [ - "15.2", - "15.2.0", - "15.2.0.15C500b", - "15C500b", - ], - default_ios_sdk_version = "17.2", - default_macos_sdk_version = "14.2", - default_tvos_sdk_version = "17.2", - default_visionos_sdk_version = "1.0", - default_watchos_sdk_version = "10.2", - version = "15.2.0.15C500b", + name = "16_1_0_16B40", + aliases = ["16B40"], + default_ios_sdk_version = "18.1", + default_macos_sdk_version = "15.1", + default_tvos_sdk_version = "18.1", + default_watchos_sdk_version = "11.1", + version = "16.1.0.16B40", ) -xcode_config( - name = "host_xcodes", - default = ":version15_2_0_15C500b", - versions = [ - ":version15_2_0_15C500b", - ], - visibility = ["//visibility:public"], +xcode_version( + name = "16_0_0_16A242d", + aliases = ["16A242d"], + default_ios_sdk_version = "18.0", + default_macos_sdk_version = "15.0", + default_tvos_sdk_version = "18.0", + default_watchos_sdk_version = "11.0", + version = "16.0.0.16A242d", ) -available_xcodes( - name = "host_available_xcodes", - default = ":version15_2_0_15C500b", +xcode_version( + name = "15_4_0_15F31d", + aliases = ["15F31d"], + default_ios_sdk_version = "17.5", + default_macos_sdk_version = "14.5", + default_tvos_sdk_version = "17.5", + default_watchos_sdk_version = "10.5", + version = "15.4.0.15F31d", +) + +xcode_config( + name = "host_xcodes", + default = ":16_1_0_16B40", versions = [ - ":version15_2_0_15C500b", + ":16_1_0_16B40", + ":16_0_0_16A242d", + ":15_4_0_15F31d", ], -) +) \ No newline at end of file diff --git a/MODULE.bazel b/MODULE.bazel index fd51d66ab..44026184c 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -40,6 +40,11 @@ bazel_dep( version = "1.4.2", ) +bazel_dep( + name = "bazel_features", + version = "1.9.0", +) + # Declare the development dependencies needed for rules_ios development bazel_dep( name = "buildifier_prebuilt", diff --git a/rules/module_extensions.bzl b/rules/module_extensions.bzl index 996ba804b..0aae4825e 100644 --- a/rules/module_extensions.bzl +++ b/rules/module_extensions.bzl @@ -9,11 +9,21 @@ load( "//tools/toolchains/xcode_configure:xcode_configure.bzl", _xcode_configure = "xcode_configure", ) +load("@bazel_features//:features.bzl", "bazel_features") -def _non_module_deps_impl(_): + +def _non_module_deps_impl(module_ctx): rules_ios_dependencies( load_bzlmod_dependencies = False, ) + metadata_kwargs = {} + if bazel_features.external_deps.extension_metadata_has_reproducible: + metadata_kwargs["reproducible"] = True + + return module_ctx.extension_metadata( + **metadata_kwargs + ) + non_module_deps = module_extension(implementation = _non_module_deps_impl)