Releases: MobileNativeFoundation/rules_xcodeproj
2.11.2: More macOS 15.4 fixes
What’s Changed
Since 2.11.1
- Fixed
index-import
to work on all Xcode 16.x versions: #3162
Below are the changes that were in 2.11.1.
Adjusted
- We now default
LANG
toen_US.UTF-8
in project generation: #3143 - Indexstore
.filelist
creation has been simplified: #3144 WriteTargetBuildSettings
can now optionally use remote cache or RBE: #3149- We now use
--action_env=TOOLCHAINS=
instead of--define=SWIFT_CUSTOM_TOOLCHAIN=
: #3123 - Changed instances of
--experimental_remote_download_regex
to--remote_download_regex
: #3125 - Added
compile_only
aspect: #3156
Fixed
- We now use
md5sum
when not on macOS: #3145 xcode-select
orDEVELOPER_DIR
are no longer required to generate a project: #3147- Fixed
incremental_installer.sh
when running on Linux: #3148 swift_compiler_plugin
sources are now added to the generated project: #3142- Removed duplicate post/pre actions: #3122
- Fixed
rsync
on macOS 15.4: #3157 - Fixed
comm
on macOS 15.4: #3161
Full Changelog
https://github.com/buildbuddy-io/rules_xcodeproj/compare/2.10.0..2.11.2
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.11.2")
release.tar.gz
’s integrity
: sha256-PlVOapHq+fYXQarlVA0BLykDPHUTOlfAx5WuasIyMjY=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-PlVOapHq+fYXQarlVA0BLykDPHUTOlfAx5WuasIyMjY=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.11.2/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.11.1: macOS 15.4 fixes
What’s Changed
Since 2.11.0
Below are the changes that were in 2.11.0.
Adjusted
- We now default
LANG
toen_US.UTF-8
in project generation: #3143 - Indexstore
.filelist
creation has been simplified: #3144 WriteTargetBuildSettings
can now optionally use remote cache or RBE: #3149- We now use
--action_env=TOOLCHAINS=
instead of--define=SWIFT_CUSTOM_TOOLCHAIN=
: #3123 - Changed instances of
--experimental_remote_download_regex
to--remote_download_regex
: #3125
Fixed
- We now use
md5sum
when not on macOS: #3145 xcode-select
orDEVELOPER_DIR
are no longer required to generate a project: #3147- Fixed
incremental_installer.sh
when running on Linux: #3148 swift_compiler_plugin
sources are now added to the generated project: #3142- Removed duplicate post/pre actions: #3122
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.11.1")
release.tar.gz
’s integrity
: sha256-PxChTZllvtBOebsfBN5tJOMk8QePQqxxugUIEpjeh7g=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-PxChTZllvtBOebsfBN5tJOMk8QePQqxxugUIEpjeh7g=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.11.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.11.0: Partial Linux support
What’s Changed
Adjusted
- We now default
LANG
toen_US.UTF-8
in project generation: #3143 - Indexstore
.filelist
creation has been simplified: #3144 WriteTargetBuildSettings
can now optionally use remote cache or RBE: #3149- We now use
--action_env=TOOLCHAINS=
instead of--define=SWIFT_CUSTOM_TOOLCHAIN=
: #3123 - Changed instances of
--experimental_remote_download_regex
to--remote_download_regex
: #3125
Fixed
- We now use
md5sum
when not on macOS: #3145 xcode-select
orDEVELOPER_DIR
are no longer required to generate a project: #3147- Fixed
incremental_installer.sh
when running on Linux: #3148 swift_compiler_plugin
sources are now added to the generated project: #3142- Removed duplicate post/pre actions: #3122
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.11.0")
release.tar.gz
’s integrity
: sha256-JH+sQkvoZyDlHMd9WpUYdq4natpb9x5u2+W3/1P9NpA=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-JH+sQkvoZyDlHMd9WpUYdq4natpb9x5u2+W3/1P9NpA=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.11.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.10.0: Bazel 8 support
What’s Changed
⚠️ Breaking changes ⚠️
- “Make” variables are now expanded values in the
env
dictionary on test rules: #3088 - Upgraded rules_apple to 3.16.1: #3114
- Drops support for Bazel 6
New
- Added ExtensionKit support: #3109
Fixed
- Fixed support for Bazel 8 and 9: #3117
Ruleset Development Changes
- Upgraded to Bazel 8.0.0: #3119
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.10.0")
release.tar.gz
’s integrity
: sha256-hHsx77jVC7+ArceeTRIsc2Ym1oqDYiVNNakGW789Z/Q=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-hHsx77jVC7+ArceeTRIsc2Ym1oqDYiVNNakGW789Z/Q=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.10.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.9.2
What’s Changed
Since 2.9.1
- Fixed parsing of custom scheme test options: #3110
Below are the changes that were in 2.9.1.
New
Fixed
- Fixed handling of
mixed_language_library
when both targets are unfocused: #3104
Full Changelog
Contributors
- TBD
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.9.2")
release.tar.gz
’s integrity
: sha256-GJAmZRiNMmN/CpGEjO20eMndARx4ByCrRJt4PyQ4BSc=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-GJAmZRiNMmN/CpGEjO20eMndARx4ByCrRJt4PyQ4BSc=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.9.2/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.9.1
What’s Changed
Since 2.9.0
- Fixed when
xcschemes.autogeneration_config.test
is not set: #3108
Below are the changes that were in 2.9.0.
New
- Added support for
App Language
andApp Region
scheme test action options: #3105
Fixed
- Fixed handling of
mixed_language_library
when both targets are unfocused: #3104
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.9.1")
release.tar.gz
’s integrity
: sha256-4qeMrhA0uWI6QdI86qEX8qoPjjhtHpDdLZulJYToMYM=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-4qeMrhA0uWI6QdI86qEX8qoPjjhtHpDdLZulJYToMYM=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.9.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.9.0
What’s Changed
New
- Added support for
App Language
andApp Region
scheme test action options: #3105
Fixed
- Fixed handling of
mixed_language_library
when both targets are unfocused: #3104
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.9.0")
release.tar.gz
’s integrity
: sha256-AbMkBAiszem4tLkYEHzT1qPTnRvXROlBxdCI+x6Q4Y4=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-AbMkBAiszem4tLkYEHzT1qPTnRvXROlBxdCI+x6Q4Y4=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.9.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.8.1
What’s Changed
Since 2.8.0
- Fixed missing BUILD files in Project navigator: #3102
Below are the changes that were in 2.8.0.
New
- Added thread checkers to
xcscheme.diagnostics
: #3096
Adjusted
Fixed
- Fixed "Generate Bazel Dependencies" target name typo Fix typo: #3091
- Fixed handling of
apple_precompiled_resource_bundle
and similar rules: #3097 and #3099
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.8.1")
release.tar.gz
’s integrity
: sha256-I3EVPca7ANRry6ozx41PVIikPUc3TUlYe408gKIuuRQ=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-I3EVPca7ANRry6ozx41PVIikPUc3TUlYe408gKIuuRQ=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.8.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.8.0
What’s Changed
New
- Added thread checkers to
xcscheme.diagnostics
: #3096
Adjusted
Fixed
- Fixed "Generate Bazel Dependencies" target name typo Fix typo: #3091
- Fixed handling of
apple_precompiled_resource_bundle
and similar rules: #3097 and #3099
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.8.0")
release.tar.gz
’s integrity
: sha256-HqJUyMPmiyhI12pk46r4lEi0fdPxsTmGHPMqU9lS12w=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-HqJUyMPmiyhI12pk46r4lEi0fdPxsTmGHPMqU9lS12w=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.8.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()
2.7.0: Merged Xcode Build and Index Build output bases
What’s Changed
⚠️ Breaking changes ⚠️
- Environment variables are now filtered when building with Bazel: #3075, #3077, and #3081
- This shouldn't break anyone, but if it does,
xcodeproj.bazel_env
is the suggested fix
- This shouldn't break anyone, but if it does,
- Only the debug settings from the most-downstream Swift targets are used: #3073
- For this to work best, the library target for a top-level target should be a
swift_library
,mixed_language_library
, or equivalent. Using a non-Swift library can result in now-broken lldb debugging
- For this to work best, the library target for a top-level target should be a
Adjusted
- Aligned the various
--experimental_remote_download_regex
flags: #3076 - Less work is performed when not importing Index Build indexstores: #3078
- The same output base is now used for Xcode Build and Index Build: #3074 and #3080
Fixed
- Fixed target merging involving source-less library targets: #3079
- Fixed unfocused framework target input files filtering: #3085
- Fixed top-level targets merging with
mixed_language_library
: #3082 -const-gather-protocols-file
is now skipped when calculatingSWIFT_OTHER_FLAGS
: #3084
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "2.7.0")
release.tar.gz
’s integrity
: sha256-b+AKGo9kJFkcN52bTraVuIu6hKlTEe/Y+LAHkhXs29o=
Workspace Snippet
Please use the release asset (release.tar.gz
) from your Bazel WORKSPACE
instead of GitHub's source asset to reduce download size and improve reproducibility.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_xcodeproj",
integrity = "sha256-b+AKGo9kJFkcN52bTraVuIu6hKlTEe/Y+LAHkhXs29o=",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/2.7.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load(
"@build_bazel_rules_apple//apple:repositories.bzl",
"apple_rules_dependencies",
)
apple_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:repositories.bzl",
"swift_rules_dependencies",
)
swift_rules_dependencies()
load(
"@build_bazel_rules_swift//swift:extras.bzl",
"swift_rules_extra_dependencies",
)
swift_rules_extra_dependencies()
load(
"@build_bazel_apple_support//lib:repositories.bzl",
"apple_support_dependencies",
)
apple_support_dependencies()