github MobileNativeFoundation/rules_xcodeproj 0.5.0
0.5.0: Improved rules support

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

What’s Changed

New

  • Unknown rules are generically handled better
    • For Bazel targets that can't be made into Xcode targets, we let Bazel build them and copy out the required outputs: #575, #578, #590, #591
    • Bazel features needed by Build with Bazel are now enabled for Build with Xcode as well: #576
    • The Build with Bazel custom lldbinit is used when Building with Xcode as well, to enable debugging of the copied swiftmodules: #581
    • Various other fixes: #558, #598
  • Added support for the codesignopts attribute: #593
  • Added support for swift_import: #597
  • Added support for the alwayslink attribute: #607, #608
  • Finalized support for apple_{dynamic,static}_{framework,xcframework}_import: #609, #610, #625, #628
  • Added xcodeproj.scheme_autogeneration_mode with support for none, auto, and all: #612

Fixes and Improvements

  • Improvements to how entitlements are handled: #546, #547
  • Fixed flakey output group check: #551
  • Fixed handling of --define=apple.experimental.tree_artifact_outputs=0: #552
  • Fixed missing App Icons in BwX mode: #556
  • Fixed TestAction scheme ordering: #557
  • Improved resource bundle handling: #559, #563, #564, #567, #571, #580, #599, #604, #605, #611, #624
  • Breakpoints set from swiftsourceinfo now work: #579
  • PCM flags now match what are set by rules_swift: #586, #595
  • Reduced the size of the specification file passed between Bazel and generator: #600, #615, #621
  • Improved collection of header files: #601
  • Improved how linker flags are determined: #602
  • Made file sorting more deterministic: #629

Breaking Changes

  • Adjustments to InputFileAttributesInfo (now named XcodeProjAutomaticTargetProcessingInfo)

Full Changelog: 0.4.2...0.5.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 = "728cb6089ad2f4c4de2003ce23462be662bfdd250a8735dc590e61fb7401e7d2",
    url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.5.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.