Releases: MobileNativeFoundation/rules_xcodeproj
1.15.0: Incremental generation mode fixes
What’s Changed
New
cmake
sources are now included in the Project navigator: #2847
Adjusted
- The default
--experimental_remote_download_regex
flag set by rules_xcodeproj has been expanded to explicitly list file types needed for indexing: #2859- Incremental generation mode has been adjusted to not manually track generated files, resulting in lower CPU and memory usage
- The targets for a scheme (e.g.
.app
,.xctest
,.a
) are now built in Index Build, similar to how Xcode does it - This should improve indexing of more complicated setups (e.g. ones that use VFS overlays or hmap files)
- Added
--experimental_use_cpp_compile_action_args_params_file
to baselinexcodeproj.bazelrc
: #2850- Fixes a long command-line issue in incremental generation mode
Fixed
- Fixed
build_targets
inxcschemes
to accept string labels: #2864 - Fixed folder-type files (e.g.
.xcassets
) in incremental generation mode: #2841 - Fixed generated input source file error in incremental generation mode: #2851
- Fixed simulator UI test debugging in incremental generation mode: #2849
- Fixed a potential hang in
import_indexstores
: #2858
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.15.0")
release.tar.gz
’s integrity
: sha256-d3W+uh+d2zy84gnKHtDRF//ii5LYW/qOZZ+zwXatpWU=
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",
sha256 = "7775beba1f9ddb3cbce209ca1ed0d117ffe28b92d85bfa8e659fb3c176ada565",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.15.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()
1.14.2
What’s Changed
Since 1.14.1
- Fix another incremental installer issue: #2826
Below are the changes that were in 1.14.1.
New
- Added a new incremental generation mode
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
"legacy"
) generation mode:- Much faster generation. Numbers from a large example project:
- Clean
- Analysis: 12% faster (62s vs 71s)
- Execution: 41% faster (72s vs 123s)
- Minimal incremental (add file to a top-level target)
- Analysis: 36% faster (13s vs 21s)
- Execution: 93% faster (8.5s vs 123s)
- Clean
- Lower Starlark memory usage (about 33% lower)
- Improved target consolidation and target merging
- Some targets can now consolidate better
- Libraries can merge into multiple top-level targets
- Mixed-language targets merge better
- Improved indexing
- All Swift compiler flags are now in the project, working around more SourceKit issues
- Improved debugging
- Improved handling of extra files (mainly around target focusing)
- Improved Xcode Previews support
- For maintainers, vastly improved maintainability (docs, tests, code structure, etc.)
- Much faster generation. Numbers from a large example project:
- This is currently opt in
- Set
xcodeproj.generation_mode
to"incremental"
to try it out - Use
xcodeproj.xcschemes
, instead ofxcodeproj.schemes
, if you define custom schemes - Note: Only BwB mode is supported
- Set
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
- Added a Bzlmod dependency on
rules_python
0.27.1
: #2793
Adjusted
- Added recognition of additional
deps
attributes for rules_ios bundle rules: #2750 - Archived bundles are now extracted with Bazel instead of in
copy_outputs.sh
: #2779 cc_common.merge_cc_infos
is now only called if needed: #2762- Disabled the
GenerateTAPI
Xcode action: #2724 - Improved handling of source-less library targets: #2714
- Optimized some Starlark CPU usage: #2760
- Optimized some Starlark retained memory usage: #2769 and #2777
- Upgraded bazel_features to 1.1.1: #2718
- Upgraded apple_support, rules_apple, and rules_swift in
WORKSPACE
macro: #2824 - Removed
--collect_specs
support: #2803 - Removed
DEPLOYMENT_LOCATION
hack when using BwB mode: #2790
Ruleset Development Changes
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.14.2")
release.tar.gz
’s integrity
: sha256-UnbmV2Q0XQqwBa6+dxdjH4j3uzUTDVnYostRWfGQ3Zw=
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",
sha256 = "5276e65764345d0ab005aebe7717631f88f7bb35130d59d8a2cb5159f190dd9c",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.14.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()
1.14.1
What’s Changed
Since 1.14.0
- Fixed incremental installer: #2825
Below are the changes that were in 1.14.0.
New
- Added a new incremental generation mode
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
"legacy"
) generation mode:- Much faster generation. Numbers from a large example project:
- Clean
- Analysis: 12% faster (62s vs 71s)
- Execution: 41% faster (72s vs 123s)
- Minimal incremental (add file to a top-level target)
- Analysis: 36% faster (13s vs 21s)
- Execution: 93% faster (8.5s vs 123s)
- Clean
- Lower Starlark memory usage (about 33% lower)
- Improved target consolidation and target merging
- Some targets can now consolidate better
- Libraries can merge into multiple top-level targets
- Mixed-language targets merge better
- Improved indexing
- All Swift compiler flags are now in the project, working around more SourceKit issues
- Improved debugging
- Improved handling of extra files (mainly around target focusing)
- Improved Xcode Previews support
- For maintainers, vastly improved maintainability (docs, tests, code structure, etc.)
- Much faster generation. Numbers from a large example project:
- This is currently opt in
- Set
xcodeproj.generation_mode
to"incremental"
to try it out - Use
xcodeproj.xcschemes
, instead ofxcodeproj.schemes
, if you define custom schemes - Note: Only BwB mode is supported
- Set
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
- Added a Bzlmod dependency on
rules_python
0.27.1
: #2793
Adjusted
- Added recognition of additional
deps
attributes for rules_ios bundle rules: #2750 - Archived bundles are now extracted with Bazel instead of in
copy_outputs.sh
: #2779 cc_common.merge_cc_infos
is now only called if needed: #2762- Disabled the
GenerateTAPI
Xcode action: #2724 - Improved handling of source-less library targets: #2714
- Optimized some Starlark CPU usage: #2760
- Optimized some Starlark retained memory usage: #2769 and #2777
- Upgraded bazel_features to 1.1.1: #2718
- Upgraded apple_support, rules_apple, and rules_swift in
WORKSPACE
macro: #2824 - Removed
--collect_specs
support: #2803 - Removed
DEPLOYMENT_LOCATION
hack when using BwB mode: #2790
Ruleset Development Changes
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.14.1")
release.tar.gz
’s integrity
: sha256-Y3lwAEzeEmnSFNHC9Ol+geTWkBuuwI9Q4O6arJfBeHg=
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",
sha256 = "637970004cde1269d214d1c2f4e97e81e4d6901baec08f50e0ee9aac97c17878",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.14.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()
1.14.0: Incremental generation mode
What’s Changed
New
- Added a new incremental generation mode
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
"legacy"
) generation mode:- Much faster generation. Numbers from a large example project:
- Clean
- Analysis: 12% faster (62s vs 71s)
- Execution: 41% faster (72s vs 123s)
- Minimal incremental (add file to a top-level target)
- Analysis: 36% faster (13s vs 21s)
- Execution: 93% faster (8.5s vs 123s)
- Clean
- Lower Starlark memory usage (about 33% lower)
- Improved target consolidation and target merging
- Some targets can now consolidate better
- Libraries can merge into multiple top-level targets
- Mixed-language targets merge better
- Improved indexing
- All Swift compiler flags are now in the project, working around more SourceKit issues
- Improved debugging
- Improved handling of extra files (mainly around target focusing)
- Improved Xcode Previews support
- For maintainers, vastly improved maintainability (docs, tests, code structure, etc.)
- Much faster generation. Numbers from a large example project:
- This is currently opt in
- Set
xcodeproj.generation_mode
to"incremental"
to try it out - Use
xcodeproj.xcschemes
, instead ofxcodeproj.schemes
, if you define custom schemes - Note: Only BwB mode is supported
- Set
- Incremental generation mode is a new way for rules_xcodeproj to generate your project. Unlike the Build Mode (BwB or BwX), this should only really affect the process by which rules_xcodeproj takes to generate the project, not how the project itself behaves (with some small caveats). Here are some of the benefits of using incremental generation mode over the current (a.k.a
- Added a Bzlmod dependency on
rules_python
0.27.1
: #2793
Adjusted
- Added recognition of additional
deps
attributes for rules_ios bundle rules: #2750 - Archived bundles are now extracted with Bazel instead of in
copy_outputs.sh
: #2779 cc_common.merge_cc_infos
is now only called if needed: #2762- Disabled the
GenerateTAPI
Xcode action: #2724 - Improved handling of source-less library targets: #2714
- Optimized some Starlark CPU usage: #2760
- Optimized some Starlark retained memory usage: #2769 and #2777
- Upgraded bazel_features to 1.1.1: #2718
- Upgraded apple_support, rules_apple, and rules_swift in
WORKSPACE
macro: #2824 - Removed
--collect_specs
support: #2803 - Removed
DEPLOYMENT_LOCATION
hack when using BwB mode: #2790
Ruleset Development Changes
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.14.0")
release.tar.gz
’s integrity
: sha256-y2mbkDHxAWbyeYf3BjE2LUpAbj+kIqAq4rwnX9APqh4=
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",
sha256 = "cb699b9031f10166f27987f70631362d4a406e3fa422a02ae2bc275fd00faa1e",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.14.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()
1.13.0
What’s Changed
Adjusted
- Moved
import_indexstores.sh
early exit to before kill: #2670 - Added target label to
xcodeproj
macro warnings and errors: #2673 - Converted
import_indexstores.sh
into a Swift binary: #2671 indexstores
are now included as inputs toindexstore_filelist
: #2681- Improved error message when
XCBBuildService
gets stuck on stale data: #2688 - Moved
calculate_output_groups.py
JSON parsing error reporting: #2687 - Made the launchable target error more detailed: #2689
Fixed
- Fixed object path in Index Build imported unit files: #2669
- Made mutable copy of extensions when processing top-level target: #2698
- Non-Swift library targets now compile their code when building their scheme in Xcode: #2699
- We no longer delete
.xcodeproj/xcuserdata
: #2700
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.13.0")
release.tar.gz
’s integrity
: sha256-9cH0vqnwBzLvnVTTM9mBnVdN5wINvZ0IEHQjK5PBCyw=
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",
sha256 = "f5c1f4bea9f00732ef9d54d333d9819d574de7020dbd9d081074232b93c10b2c",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.13.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()
1.12.1
What’s Changed
Since 1.12.0
- Fixed framework Xcode previews: #2663
Below are the changes that were in 1.12.0.
Adjusted
- Upgraded
xcodeproj_rules_dependencies
rules_swift and rules_apple: #2617 - Tests now sort after library targets in schemes: #2616
- We no longer set
dwarf-with-dsym
in an additional location: #2643 - We no longer copy over frameworks in BwB mode: #2644
- Xcode target names using label form now favor shorthand form: #2649
Fixed
- Fixed hanging
calculate_output_groups.py
: #2660
Ruleset Development Changes
- Changed
examples
to use release archive: #2614 - Upgraded dev apple_support, rules_swift, and rules_apple: #2622
- Upgraded swift-argument-parser to 1.2.3: #2632
- Added
AppleLipo
to--modify_execution_info
: #2657
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.12.1")
release.tar.gz
’s integrity
: sha256-0W3icQSABOon+Y1v78sCIUM3kgYXomePWOhFiYAkOl8=
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",
sha256 = "d16de271048004ea27f98d6fefcb02214337920617a2678f58e8458980243a5f",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.12.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()
1.12.0
What’s Changed
Adjusted
- Upgraded
xcodeproj_rules_dependencies
rules_swift and rules_apple: #2617 - Tests now sort after library targets in schemes: #2616
- We no longer set
dwarf-with-dsym
in an additional location: #2643 - We no longer copy over frameworks in BwB mode: #2644
- Xcode target names using label form now favor shorthand form: #2649
Fixed
- Fixed hanging
calculate_output_groups.py
: #2660
Ruleset Development Changes
- Changed
examples
to use release archive: #2614 - Upgraded dev apple_support, rules_swift, and rules_apple: #2622
- Upgraded swift-argument-parser to 1.2.3: #2632
- Added
AppleLipo
to--modify_execution_info
: #2657
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.12.0")
release.tar.gz
’s integrity
: sha256-0lpq9iwLmteBqCT2wehm+BBlMQGct6FyvRfrnMgFpvc=
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",
sha256 = "d25a6af62c0b9ad781a824f6c1e866f8106531019cb7a172bd17eb9cc805a6f7",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.12.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()
1.11.0
What’s Changed
New
- Added the
xcodeproj.target_name_mode
attribute: #2590
Adjusted
- Removed fallback output group calculation: #2541
- Upgraded
xcodeproj_rules_dependencies
rules_apple to 2.5.0: #2560 - Upgraded
xcodeproj_rules_dependencies
rules_swift to 1.11.0: #2561 ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS = NO
is now set in BwB mode: #2569- Bazel generated
.objlist
files are now prevented from in the project: #2570 - Bazel sandboxing is now disabled by default: #2606
Fixed
- All transitive swiftmodules are now included in the
bc
output group when needed: #2571 - Fixed issues when using
--incompatible_fail_on_unknown_attributes
: #2573 and #2579 - Fixed using
sync
with command-line API: #2585 - Fixed default of
ENABLE_USER_SCRIPT_SANDBOXING
for Xcode 15: #2591 - Fixed processed build log paths: #2599
- Fixed nondeterministic product file identifier: #2602
- dSYMs are no longer generated by Xcode in BwB mode: #2605
Ruleset Development Changes
- Upgraded apple_support to 1.9.0: #2553
platform_mappings
are now used everywhere: #2555 and #2609- Upgraded development versions of rules_apple and rules_swift: #2562
- Dropped Bazel 5 dev files and cleaned up
platform_mappings
handling: #2565 - Removed
WORKSPACE
support for development: #2566 - Made
platform_mappings
bijective: #2588 - Bazel 6.4.0rc1 is now used for development: #2608
- The BLAKE3 digest function is now used for development: #2611
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.11.0")
release.tar.gz
’s integrity
: sha256-SIbRBWba3pBIoLI5/EPCHCm7C6A/thGpl/e3htboWbY=
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",
sha256 = "4886d10566dade9048a0b239fc43c21c29bb0ba03fb611a997f7b786d6e859b6",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.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()
1.10.1
What’s Changed
Since 1.10.0
- Removed generated
.proto.bin
files from target'sCompile Sources
: #2538 - Specified path to
sort
: #2540 - Reduced macOS requirement for legacy generator to 12.0: #2545
- Changed sorting of build action in schemes: #2546
Below are the changes that were in 1.10.0.
⚠️ Breaking Changes ⚠️
- Added a dependency on
bazel_features
: #2490- If you don't use Bzlmod (i.e. use a
WORKSPACE
file), see the updated snippet at the end of the release notes.
- If you don't use Bzlmod (i.e. use a
New
- Added initial support for
swift_proto_library
andswift_grpc_library
: #2484 and #2515 - Added support for
codesign_inputs
and improved support forcodesignopts
: #2535
Adjusted
- Some intermediate params files are no longer unnecessarily created: #2468 and #2469
- Generated
.swift
files are now downloaded when using BwtB: #2473 - Improved target merging: #2471, #2482, #2487
- Starlark performance improvements: #2518, #2519, #2536, and #2537
CLANG_ENABLE_MODULES
is no longer set: #2528- Removed support for WatchKit 1: #2527
- We now count
precompiled_apple_resource_bundle
as a resource bundle target: #2523
Fixed
- Fixed
-ivfsoverlay
for mixed-language targets: #2478 -oso_prefix
is now filtered fromlink.params
: #2505- Fixed a Starlark performance improvement when using bzlmod: #2510 and #2530
- Fixed a BwX mode Xcode 15 cyclic dependency error: #2483
- Fixed inherited build settings: #2531
- Fixed running BwB unit tests on device: #2534
Ruleset Development Changes
- Bumped minimum macOS for tools to 13.0: #2475
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.10.1")
release.tar.gz
’s integrity
: sha256-vIsa4Ga3MzoVH9Op6+4NUdd3mIa/uM+fxuD51sEQ/IM=
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",
sha256 = "bc8b1ae066b7333a151fd3a9ebee0d51d7779886bfb8cf9fc6e0f9d6c110fc83",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.10.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()
1.10.0
What’s Changed
⚠️ Breaking Changes ⚠️
- Added a dependency on
bazel_features
: #2490- If you don't use Bzlmod (i.e. use a
WORKSPACE
file), see the updated snippet at the end of the release notes.
- If you don't use Bzlmod (i.e. use a
New
- Added initial support for
swift_proto_library
andswift_grpc_library
: #2484 and #2515 - Added support for
codesign_inputs
and improved support forcodesignopts
: #2535
Adjusted
- Some intermediate params files are no longer unnecessarily created: #2468 and #2469
- Generated
.swift
files are now downloaded when using BwtB: #2473 - Improved target merging: #2471, #2482, #2487
- Starlark performance improvements: #2518, #2519, #2536, and #2537
CLANG_ENABLE_MODULES
is no longer set: #2528- Removed support for WatchKit 1: #2527
- We now count
precompiled_apple_resource_bundle
as a resource bundle target: #2523
Fixed
- Fixed
-ivfsoverlay
for mixed-language targets: #2478 -oso_prefix
is now filtered fromlink.params
: #2505- Fixed a Starlark performance improvement when using bzlmod: #2510 and #2530
- Fixed a BwX mode Xcode 15 cyclic dependency error: #2483
- Fixed inherited build settings: #2531
- Fixed running BwB unit tests on device: #2534
Ruleset Development Changes
- Bumped minimum macOS for tools to 13.0: #2475
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.10.0")
release.tar.gz
’s integrity
: sha256-TOliGnqrNfgvYnjpPtqC7tUROIXGxLEF4yy2jyMbub8=
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",
sha256 = "4ce9621a7aab35f82f6278e93eda82eed5113885c6c4b105e32cb68f231bb9bf",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.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()