Skip to content

1.3.3: Fixes for multiple Xcode configurations

Compare
Choose a tag to compare
@brentleyjones brentleyjones released this 24 Mar 19:04
· 946 commits to main since this release
1.3.3
c5deefc

What’s Changed

Since 1.3.2

  • Upgraded rules_swift to 1.7.1 when not using Bzlmod: #1914
  • Upgraded rules_apple to 2.2.0 when not using Bzlmod: #1916
  • Fixed linux builds: #1896
  • Fixed target focusing in less than Bazel 6: #1913
  • Logs are now colorized: #1907
  • Adjusted target merging to account for targets that are present in Xcode: #1903
  • Illegal characters are now removed from custom scheme names: #1915
  • --output_base set on command-line is now respected: #1917

Below are the changes that were in 1.3.0–1.3.2

New

Adjusted

  • Moved generated generators to an external repository: #1876, #1886, and #1887
    • The .rules_xcodeproj directory isn't created anymore, and you can remove it from ignore lists
    • You'll need to change your visibility/package_groups to mention the @rules_xcodeproj//xcodeproj:generated package_group
  • Changed the default name of the repo to @rules_xcodeproj: #1814
    • You should do this as well
    • First change the repo name from com_github_buildbuddy_io_rules_xcodeproj to rules_xcodeproj in your MODULE.bazel or WORKSPACE file
    • Then run this buildifier command: buildozer 'substitute_load com_github_buildbuddy_io_rules_xcodeproj rules_xcodeproj' '//...:*'
  • Optimized project generation to be faster: #1788, #1825, #1826, #1827, #1829, #1830, #1831, #1832, #1833, #1834, #1836, #1838, #1839, #1840, #1841, #1842, #1843, #1845, #1844, #1848, and #1850
  • Bazel targets with conditional dependencies will consolidate to few targets now: #1805
  • User compiler flags are now processed by the cc_toolchain: #1810
  • Improved handling of dSYMs: #1856 and #1767
  • Removed resource files from conditional source files in BwB mode: #1863
  • Some small scheme generation improvements: #1816, #1817, and #1818
  • Improved the efficiency of various Stalark code: #1866, #1867, #1868, #1869, #1871, #1872, #1873, #1874, #1879, #1882, #1884, #1883, and #1885

Fixed

  • Fixed handling of multiline xcodeproj.{pre,post}_build values: #1892
  • Fixed visibility with bzlmod: #1895
    • You should change your visibility/package_groups to mention the @rules_xcodeproj//xcodeproj:generated package_group
  • Fixed extra_files logic for merged targets when using focused targets: #1782
  • Stale files in .xcodeproj/rules_xcodeproj/bazel are now properly deleted: #1803
  • Fixed CC copts tokenization: #1811
  • Fixed bazelisk invoking in runner.sh: #1849
  • Fixed handling of large number of linker flags: #1862
  • Fixed handling of -Xcc -iquote -Xcc path type flags: #1875
  • Fixed handling of some quoted paths in link_params_processor.py: #1877
  • Fixed device-only project generation: #1880

Full Changelog

1.2.0...1.3.3

Contributors

Bzlmod Snippet

bazel_dep(name = "rules_xcodeproj", version = "1.3.3")

release.tar.gz’s integrity: sha256-eWezcr0XdyFM5lyHqCrAYwFQt1BLRD3gMV6lLkV1jgw=

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 = "7967b372bd1777214ce65c87a82ac0630150b7504b443de0315ea52e45758e0c",
    url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.3.3/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()