Releases: MobileNativeFoundation/rules_xcodeproj
1.11.0
What’s Changed
New
- Added the
xcodeproj.target_name_modeattribute: #2590
Adjusted
- Removed fallback output group calculation: #2541
- Upgraded
xcodeproj_rules_dependenciesrules_apple to 2.5.0: #2560 - Upgraded
xcodeproj_rules_dependenciesrules_swift to 1.11.0: #2561 ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS = NOis now set in BwB mode: #2569- Bazel generated
.objlistfiles 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
bcoutput group when needed: #2571 - Fixed issues when using
--incompatible_fail_on_unknown_attributes: #2573 and #2579 - Fixed using
syncwith command-line API: #2585 - Fixed default of
ENABLE_USER_SCRIPT_SANDBOXINGfor 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_mappingsare 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_mappingshandling: #2565 - Removed
WORKSPACEsupport for development: #2566 - Made
platform_mappingsbijective: #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.binfiles 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
WORKSPACEfile), 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_libraryandswift_grpc_library: #2484 and #2515 - Added support for
codesign_inputsand improved support forcodesignopts: #2535
Adjusted
- Some intermediate params files are no longer unnecessarily created: #2468 and #2469
- Generated
.swiftfiles are now downloaded when using BwtB: #2473 - Improved target merging: #2471, #2482, #2487
- Starlark performance improvements: #2518, #2519, #2536, and #2537
CLANG_ENABLE_MODULESis no longer set: #2528- Removed support for WatchKit 1: #2527
- We now count
precompiled_apple_resource_bundleas a resource bundle target: #2523
Fixed
- Fixed
-ivfsoverlayfor mixed-language targets: #2478 -oso_prefixis 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
WORKSPACEfile), 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_libraryandswift_grpc_library: #2484 and #2515 - Added support for
codesign_inputsand improved support forcodesignopts: #2535
Adjusted
- Some intermediate params files are no longer unnecessarily created: #2468 and #2469
- Generated
.swiftfiles are now downloaded when using BwtB: #2473 - Improved target merging: #2471, #2482, #2487
- Starlark performance improvements: #2518, #2519, #2536, and #2537
CLANG_ENABLE_MODULESis no longer set: #2528- Removed support for WatchKit 1: #2527
- We now count
precompiled_apple_resource_bundleas a resource bundle target: #2523
Fixed
- Fixed
-ivfsoverlayfor mixed-language targets: #2478 -oso_prefixis 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()1.9.1
What’s Changed
Since 1.9.0
- Bundle name, instead of module name, is now used in target disambiguation: #2459
- Changed how host output groups are set in fallback case: #2461
- Fixed quoting of flags in
SWIFT_OTHER_FLAGS: #2454 - Fixed rules_ios
.xccurrentversioncollection: #2457 and #2465 - Fixed BwX tesource bundle Info.plist regression: 2466
Below are the changes that were in 1.9.0.
Adjusted
GENERATE_INFOPLIST_FILEis not longer set: #2379- Added an error message when
target_ids_listis missing: #2396 - Changed “Command Line Tool” disambiguation to “Tool”: #2434
- Library module names are now preferred for target name disambiguation: #2407
Fixed
- Fixed handling of conditional
bundle_name: #2368 and #2375 - Fixed Xcode set
LD_LIBRARY_PATHandSDKROOTinfluencingbazel build: #2373 - Fixed handling of conditionally empty build setting values: #2380
- Fixed handling of generated
.xccurrentversionfiles: #2389 - Fixed multiple target name disambiguation bugs: #2415, #2416, #2414, #2418, #2419, #2420, #2429, #2425, #2432, and #2435
- Fixed wrong execution root being used in Index Build indexstore importing: #2422 and #2431
- Fixed more cases of SourceKit (indexing) caching issues: #2264 and #2443
- Fixed Swift generated header not being downloaded in BwB mode: #2440
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.9.1")release.tar.gz’s integrity: sha256-W6zN1qJzSgreucthdWkdBgn4vb18X1Fugo0N90Tun2w=
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 = "5baccdd6a2734a0adeb9cb6175691d0609f8bdbd7c5f516e828d0df744ee9f6c",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.9.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.9.0
What’s Changed
Adjusted
GENERATE_INFOPLIST_FILEis not longer set: #2379- Added an error message when
target_ids_listis missing: #2396 - Changed “Command Line Tool” disambiguation to “Tool”: #2434
- Library module names are now preferred for target name disambiguation: #2407
Fixed
- Fixed handling of conditional
bundle_name: #2368 and #2375 - Fixed Xcode set
LD_LIBRARY_PATHandSDKROOTinfluencingbazel build: #2373 - Fixed handling of conditionally empty build setting values: #2380
- Fixed handling of generated
.xccurrentversionfiles: #2389 - Fixed multiple target name disambiguation bugs: #2415, #2416, #2414, #2418, #2419, #2420, #2429, #2425, #2432, and #2435
- Fixed wrong execution root being used in Index Build indexstore importing: #2422 and #2431
- Fixed more cases of SourceKit (indexing) caching issues: #2264 and #2443
- Fixed Swift generated header not being downloaded in BwB mode: #2440
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.9.0")release.tar.gz’s integrity: sha256-LFey7IYipfxvlmH55VTUFcMPi5FBDiAj5SOcBFSUh18=
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 = "2c57b2ec8622a5fc6f9661f9e554d415c30f8b91410e2023e5239c045494875f",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.9.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.8.1
What’s Changed
Since 1.8.0
- Fixed BwX not generating some Bazel generated files: #2361
- Fixed some transitive modulemaps not being generated: #2362
- Fixed
swift_debug_settings.pynot including testing search paths: #2363 and #2364 - Fixed tool overrides still being set in BwB Index Build: #2365
Below are the changes that were in 1.8.0
Adjusted
- Updated
index-importto 5.8.0.1: #2319 and #2332 - Renamed two build phases for consistency: #2328
- Added support for
/PLACEHOLDER_DEVELOPER_DIRremapping: #2331 - The
DEVELOPER_DIRregex is now restricted to the start of the line: #2337 - Adjusted
.pbxprojformatting to match the way Xcode formats things: #2339, #2340, and #2344 - Indexes are now imported in Index Builds as well: #2283
- Project Format now supports Xcode 15: #2343
BAZELISK_SKIP_WRAPPERis now captured inbazel_env: #2357
Fixed
PBXProj.objectVersionis now correctly set for Xcode 14+: #2341- Fixed
libtoolversion check in Xcode 15: #2359 - Tool overrides are now unset in the in
BazelDependenciestarget: #2358
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.8.1")release.tar.gz’s integrity: sha256-JK7QvGz0Ey9i4I1LgWVhB+qNeATJ9/V8+5rL0Jkrp1s=
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 = "24aed0bc6cf4132f62e08d4b81656107ea8d7804c9f7f57cfb9acbd0992ba75b",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.8.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.8.0
What’s Changed
Adjusted
- Updated
index-importto 5.8.0.1: #2319 and #2332 - Renamed two build phases for consistency: #2328
- Added support for
/PLACEHOLDER_DEVELOPER_DIRremapping: #2331 - The
DEVELOPER_DIRregex is now restricted to the start of the line: #2337 - Adjusted
.pbxprojformatting to match the way Xcode formats things: #2339, #2340, and #2344 - Indexes are now imported in Index Builds as well: #2283
- Project Format now supports Xcode 15: #2343
BAZELISK_SKIP_WRAPPERis now captured inbazel_env: #2357
Fixed
PBXProj.objectVersionis now correctly set for Xcode 14+: #2341- Fixed
libtoolversion check in Xcode 15: #2359 - Tool overrides are now unset in the in
BazelDependenciestarget: #2358
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.8.0")release.tar.gz’s integrity: sha256-I0J0daE9Wgfb0yBxrD+vnC3sQVaiuRUniBmZxJ3Dm5g=
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 = "23427475a13d5a07dbd32071ac3faf9c2dec4156a2b91527881999c49dc39b98",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.8.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.7.1
What’s Changed
Since 1.7.0
- Fixed replacement label handling when wrapped in a macro: #2291
- Fixed BwX Swift testing search paths: #2295
- Fixed possible
bazel buildoutput truncation: #2282 - Fixed indexing of Swift macros: #2292
- Fixed Swift macros in BwX mode: #2294
- Added a usual error message when no diagnostics are parsed: #2286
- Added support for
swift_compiler_plugintargets: #2293 - We now set
--repo_env=XCODE_VERSION: #2287
Below are the changes that were in 1.7.0
Adjusted
- All clang flag processing has been moved into the execution phase: #2212
- Application schemes are now sorted before other auto generated schemes: #2211
- Removed special handling for
-strict-concurrency: #2214 - Removed special handling for
-enable-testing: #2215 - Removed special handling for
SWIFT_OPTIMIZATION_LEVEL: #2227 - Removed special handling of
ENABLE_STRICT_OBJC_MSGSEND: #2233 - Moved generator package directory to
/var/tmp: #2252 - The non-
=version of-working-directoryis now used: #2254 SWIFT_INCLUDE_PATHSis no longer set in BwB mode: #2245 and #2277-I,-explicit-swift-module-map-file, and-vfsoverlayare now set inOTHER_SWIFT_FLAGS: #2256-Fis now set inOTHER_SWIFT_FLAGS: #2258 and #2263PROJECT_DIRis now used instead ofCURRENT_EXECUTION_ROOT: #2259$(BAZEL_OUT)is now used to reference compile params files: #2260- Paths are now always absolute in
swift.compile.paramsandOTHER_SWIFT_FLAGS: #2261, #2265, #2267, and #2269 swiftc_stubnow errors out instead of warning: #2278- Removed unnecessary dependencies from release archive: #2279
Fixed
__BAZEL_variables ar now replaced inswift_debug_sttings.py: #2213- Development region is now properly set in
PBXProject.knownRegions: #2228 - Fixed tests in custom schemes when
ios_unit_test.bundle_nameis used: #2248 - Fixed
test_suitelabel creation if using bzlmod: #2249 - Fixed quoting of string defines in
{c,cxx}.compile.params: #2262 - Builds now properly error out when using an
.xcworkspace: #2273 - Fixed
swiftc_stubwith Xcode 15: #2276 - Fixed handling of build configuration in custom schemes: #2274
Full Changelog
Contributors
- @brentleyjones
- @mattrobmattrob
- @yongjincho92
- @thiagohmcruz
- @luispadron
- @jpsim
- @chiragramani
- @thii
- @BalestraPatrick
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.7.1")release.tar.gz’s integrity: sha256-+DbSpRapEdwKzkSx9RqldWE/FJqTT0vh571VGlSWcv8=
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 = "f836d2a516a911dc0ace44b1f51aa575613f149a934f4be1e7bd551a549672ff",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.7.1/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.7.0: Xcode 15 Beta 1 support
What’s Changed
Adjusted
- All clang flag processing has been moved into the execution phase: #2212
- Application schemes are now sorted before other auto generated schemes: #2211
- Removed special handling for
-strict-concurrency: #2214 - Removed special handling for
-enable-testing: #2215 - Removed special handling for
SWIFT_OPTIMIZATION_LEVEL: #2227 - Removed special handling of
ENABLE_STRICT_OBJC_MSGSEND: #2233 - Moved generator package directory to
/var/tmp: #2252 - The non-
=version of-working-directoryis now used: #2254 SWIFT_INCLUDE_PATHSis no longer set in BwB mode: #2245 and #2277-I,-explicit-swift-module-map-file, and-vfsoverlayare now set inOTHER_SWIFT_FLAGS: #2256-Fis now set inOTHER_SWIFT_FLAGS: #2258 and #2263PROJECT_DIRis now used instead ofCURRENT_EXECUTION_ROOT: #2259$(BAZEL_OUT)is now used to reference compile params files: #2260- Paths are now always absolute in
swift.compile.paramsandOTHER_SWIFT_FLAGS: #2261, #2265, #2267, and #2269 swiftc_stubnow errors out instead of warning: #2278- Removed unnecessary dependencies from release archive: #2279
Fixed
__BAZEL_variables ar now replaced inswift_debug_sttings.py: #2213- Development region is now properly set in
PBXProject.knownRegions: #2228 - Fixed tests in custom schemes when
ios_unit_test.bundle_nameis used: #2248 - Fixed
test_suitelabel creation if using bzlmod: #2249 - Fixed quoting of string defines in
{c,cxx}.compile.params: #2262 - Builds now properly error out when using an
.xcworkspace: #2273 - Fixed
swiftc_stubwith Xcode 15: #2276 - Fixed handling of build configuration in custom schemes: #2274
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.7.0")release.tar.gz’s integrity: sha256-ZypXUqFtT9uD2HL/4oWfG28vKAZVjqAYU3ZzgXntQh0=
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 = "672a5752a16d4fdb83d872ffe2859f1b6f2f2806558ea0185376738179ed421d",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.7.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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.6.0: Mixed language target merging and `test_suite` support
What’s Changed
New
test_suitetargets can now be specified inxcodeproj.top_level_targets: #2184ios_*_test_suitetargets can now be specified inxcodeproj.top_level_targets: #2196- Added a
bzl_librarytarget for xcodeproj files: #2204
Adjusted
- Optimized project generation: #2129, #2130, #2134, #2138, #2136, #2137, #2174, and #2208
- Swift and Objective-C targets can now merge into the same terminal target: #2131, #2146, and #2150
- All symlinks are now resolved to their target file: #2147
- Schemes are now sorted: #2151
- The
Bazel Buildscript is now consistently named and structured: #2164 and #2177 - App extensions can no longer be specified in
xcodeproj.top_level_targets: #2183
Fixed
- Fixed a target consolidation crash: #2195
- Fixed
xcodeproj.xcode_configurationsnot supporting Starlark build settings with bzlmod enabled: #2191 {resource_,}filegroupsnot belonging to focused targets are now properly excluded from the generated project: #2159
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.6.0")release.tar.gz’s integrity: sha256-zpK4eE/lJd1CBCL7CeqOHy3+6J5BukAdM+OmaHGZp9A=⏎
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 = "ce92b8784fe525dd420422fb09ea8e1f2dfee89e41ba401d33e3a6687199a7d0",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.6.0/release.tar.gz",
)
load(
"@rules_xcodeproj//xcodeproj:repositories.bzl",
"xcodeproj_rules_dependencies",
)
xcodeproj_rules_dependencies()
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()