Skip to content

Releases: MobileNativeFoundation/rules_xcodeproj

1.15.0: Incremental generation mode fixes

08 Jan 20:00
1.15.0
94a7c3d
Compare
Choose a tag to compare

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 baseline xcodeproj.bazelrc: #2850
    • Fixes a long command-line issue in incremental generation mode

Fixed

  • Fixed build_targets in xcschemes 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

1.14.2...1.15.0

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

19 Dec 20:23
1.14.2
9e4562e
Compare
Choose a tag to compare

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)
      • 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.)
    • This is currently opt in
  • 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

  • Upgraded rules_apple related dev dependencies: #2728
  • Upgraded dev version of skylib to 1.5.0: #2729

Full Changelog

1.13.0...1.14.2

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

19 Dec 19:09
1.14.1
010d2f9
Compare
Choose a tag to compare

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)
      • 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.)
    • This is currently opt in
  • 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

  • Upgraded rules_apple related dev dependencies: #2728
  • Upgraded dev version of skylib to 1.5.0: #2729

Full Changelog

1.13.0...1.14.1

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

19 Dec 16:57
1.14.0
53e40ec
Compare
Choose a tag to compare

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)
      • 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.)
    • This is currently opt in
  • 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

  • Upgraded rules_apple related dev dependencies: #2728
  • Upgraded dev version of skylib to 1.5.0: #2729

Full Changelog

1.13.0...1.14.0

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

30 Oct 18:49
1.13.0
5e19dc3
Compare
Choose a tag to compare

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 to indexstore_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

1.12.1...1.13.0

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

04 Oct 21:55
1.12.1
f5e0d84
Compare
Choose a tag to compare

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

1.11.0...1.12.1

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

04 Oct 17:17
1.12.0
a682785
Compare
Choose a tag to compare

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

1.11.0...1.12.0

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

20 Sep 15:03
1.11.0
ae29c44
Compare
Choose a tag to compare

What’s Changed

New

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

1.10.1...1.11.0

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

06 Sep 18:17
1.10.1
fe32813
Compare
Choose a tag to compare

What’s Changed

Since 1.10.0

  • Removed generated .proto.bin files from target's Compile 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.

New

  • Added initial support for swift_proto_library and swift_grpc_library: #2484 and #2515
  • Added support for codesign_inputs and improved support for codesignopts: #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 from link.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

1.9.1...1.10.1

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

31 Aug 17:28
1.10.0
d1f4ec6
Compare
Choose a tag to compare

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.

New

  • Added initial support for swift_proto_library and swift_grpc_library: #2484 and #2515
  • Added support for codesign_inputs and improved support for codesignopts: #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 from link.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

1.9.1...1.10.0

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()