github MobileNativeFoundation/rules_xcodeproj 0.7.0
0.7.0: Improved Performance, Custom Schemes, and Focused Projects

latest releases: 3.2.0, 3.1.2, 3.1.1...
3 years ago

What’s Changed

⚠️ Breaking Changes ⚠️

  • xcodeproj's targets attribute has been renamed to top_level_targets: #831
    • This is to better reflect what types of targets you should list here. Listing dependencies of top-level targets (including device_and_simulator) will result in additional incorrectly configured targets in your project.

New

  • Added C++ support to BwB: #787
  • Added initial support for custom schemes: #803, #808, #809
  • Added support for manually defined Focused Projects: #826
    • These are defined by specifying labels in the focused_targets and/or unfocused_targets attributes on xcodeproj

Fixes and Improvements

  • Disabled BES for Index Builds: #736
  • Improved handling of linkopts: #738, #737, #745, #747, #746, #750, #751, #757, #765, #777, #785, #789, and #829
  • Improved handling of "simple" projects (BwX with no generated files): #743
  • Most Bazel generated files are no longer copied into Derived Data: #744, #749, #752, #754, #760, #761, #768, #767, #771, #773, #775, #780
  • Improved handling of automatic unfocused targets (i.e. "Xcode unsupported" targets): #753, #824, and #830
  • Fixed errors when using --incompatible_enable_cc_toolchain_resolution: #756
  • Fixed launching of tests with test hosts with custom executable_name: #758
  • EXECUTABLE_EXTENSION is now only set when it differs from the default: #759
  • Improved handling of resources: #769, #788, #814, #883, and #886
  • Improved handling of Info.plists: #770, #778, and #793
  • Improved handling of entitlements: #774 and #776
  • Improved third-party rule support: #781 and #782
  • Reduced spec.json size: #791, #814, #827, #875
  • BazelDependency now only generates files for the specified target: #796, #851, and #862
  • Reduced amount of work done during project generation: #797 and #880
  • Improved formatting of generated schemes to better match what Xcode expects: #800
  • Fixed calculation of *_DEPLOYMENT_TARGET build settings: #843
  • Greatly improved handling of Swift -> Objective-C debugging: #836, #876, #877, #879
  • Improved handling of cc_binary and swift_binary: #840 and #874
  • Moved intermediate files to $OBJROOT: #860
  • Improved indexing: #880

Full Changelog: 0.6.0...0.7.0

Contributors

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 = "com_github_buildbuddy_io_rules_xcodeproj",
    sha256 = "a647ad9ee6664a78377cf5707331966b6788be09d1fea48045a61bc450c8f1b1",
    url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.7.0/release.tar.gz",
)

load(
    "@com_github_buildbuddy_io_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()

Don't miss a new rules_xcodeproj release

NewReleases is sending notifications on new releases.