Releases: MobileNativeFoundation/rules_xcodeproj
1.5.1
What’s Changed
Since 1.5.0
- More optimizations: #2118, #2119, #2114, #2115, and #2116
- Fixed
_write_target_ids_listregression: #2121 - Fixed
_skip_targethandling ofcompilation_providers.merge: #2123
Below are the changes that were in 1.5.0
Adjusted
- Upgraded XcodeProj to 8.9.0: #2048
- Lots of generation memory and cpu reduction optimizations: #2022, #2008, #2025, #2026, #2030, #2028, #2032, #2033, #2031, #2034, #2037, #2038, #2043, #2042, #2045, #2049, #2052, #2053, #2054, #2056, #2059, #2060, #2067, #2073, #2063, #2076, #2079, #2081, #2082, #2083, #2087, #2086, #2090, #2089, #2094, #2095, #2096, #2098, #2099, #2104, #2105, #2102, #2107, #2101, #2112, and #2110
- Reorder default PATH by @thii in #2039
- Added code highlighting to
Podfilefiles: #2041 - Removed extra quoting in
link.paramsfiles: #2061 - Added support for multiple compile targets: #2072
Fixed
- Fixed output base when using
--config=indexbuildwith the command-line API: #2027 - Fixed
create_lldbinit.shnot appending content to a new line: #2036 - Fixed
import_indexstores.shwhen usingswift.remap_xcode_path: 2064 - Fixed space handling linkopts: #2062 and #2069
- Fixed space handling in
target.swift-extra-clang-flags: #2070 - Fixed custom bundle extension handling: #2093
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.5.1")release.tar.gz’s integrity: sha256-VM7lJKvXLblQSC3tFo3UQ5c2kHe3NNTPSwb3NOEKPoA=
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 = "54cee524abd72db950482ded168dd44397369077b734d4cf4b06f734e10a3e80",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.5.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.5.0: Lots of optimizations
What’s Changed
Adjusted
- Upgraded XcodeProj to 8.9.0: #2048
- Lots of generation memory and cpu reduction optimizations: #2022, #2008, #2025, #2026, #2030, #2028, #2032, #2033, #2031, #2034, #2037, #2038, #2043, #2042, #2045, #2049, #2052, #2053, #2054, #2056, #2059, #2060, #2067, #2073, #2063, #2076, #2079, #2081, #2082, #2083, #2087, #2086, #2090, #2089, #2094, #2095, #2096, #2098, #2099, #2104, #2105, #2102, #2107, #2101, #2112, and #2110
- Reorder default PATH by @thii in #2039
- Added code highlighting to
Podfilefiles: #2041 - Removed extra quoting in
link.paramsfiles: #2061 - Added support for multiple compile targets: #2072
Fixed
- Fixed output base when using
--config=indexbuildwith the command-line API: #2027 - Fixed
create_lldbinit.shnot appending content to a new line: #2036 - Fixed
import_indexstores.shwhen usingswift.remap_xcode_path: 2064 - Fixed space handling linkopts: #2062 and #2069
- Fixed space handling in
target.swift-extra-clang-flags: #2070 - Fixed custom bundle extension handling: #2093
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.5.0")release.tar.gz’s integrity: sha256-PWEjriwcMYGgxVCD9vGBXJub1WzYPadRdTIPQJZvHN4=
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 = "3d6123ae2c1c3181a0c55083f6f1815c9b9bd56cd83da75175320f40966f1cde",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.5.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.4.0
What’s Changed
New
- Added support for
cc_library.implementation_deps: #1933, #1967, and #2015 - Added the
xcodeproj.bazel_envattribute: #1990 - Added the
xcodeprojfail_for_invalid_extra_files_targetsattribute: #1977
Adjusted
- Upgraded swift-collections to 1.0.4: #1960
- Spotlight is now prevented from indexing our Bazel output bases: #2013
- Improved target merging: #1902, #1928, and #1946
- Improved CC dynamic linking support: #1943, #1944, #1942, and #1949
- Various project generation performance improvements: #1957, #1958, #1961, #1962, #1972, #1973, #1974, #1976, #1978, #1979, #1980, #1985, #1986, #1998, #2001, #2003, #2004, and #2005
- Builds in Xcode now verify that the requested target ids are still valid: #1982
PATHis now set to/usr/bin:/binwhenbazel_path(e.g.bazel) is called to generate a project or build inside of Xcode: #1950- To adjust this behavior, set
xcodeproj.bazel_env.
- To adjust this behavior, set
- Improved progress messages for project generation: #1999 and #2002
- Improved error message when decoding fails: #1975
- You can now the generator label in the command-line API: #2011
Fixed
- Fixed Xcode 14.3 support: #1937 and #1981
- Generating multiple targets in the same workspace now works correctly: #1992, #2000, and #2012
- Fixed some focused targets issues: #1923, #1930, #1983, #1994, #1995, and #1997
- Fixed handling of bzlmod external targets: #1926
- Fixed handling of
--force_pic: #1939 - Fixed CC optimization level flag calculations: #2017
- Fixed command-line API to work with the
dumpandshutdowncommands: #2019 - Fixed specs collection: #1966
- Fixed BwB test action env variables for custom schemes without launch actions: #1955
- Fixed BwX
swift_debug_settings.pygeneration: #1971
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.4.0")release.tar.gz’s integrity: sha256-UP5yA3vVEW4vpTnIo3T//hIEmbylKflRWcmtTyaFWw8=
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 = "50fe72037bd5116e2fa539c8a374fffe120499bca529f95159c9ad4f26855b0f",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.4.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.3.3: Fixes for multiple Xcode configurations
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_baseset on command-line is now respected: #1917
Below are the changes that were in 1.3.0–1.3.2
New
- Added support for multiple Xcode configurations with the new
xcodeproj.xcode_configurationsattribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_nameparameter toproject_optionsparameter: #1804 - Added the
profile_actionparameter toxcode_schemes.scheme: #1819 and #1835
Adjusted
- Moved generated generators to an external repository: #1876, #1886, and #1887
- The
.rules_xcodeprojdirectory 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:generatedpackage_group
- The
- 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_xcodeprojtorules_xcodeprojin yourMODULE.bazelorWORKSPACEfile - Then run this
buildifiercommand: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}_buildvalues: #1892 - Fixed visibility with bzlmod: #1895
- You should change your
visibility/package_groups to mention the@rules_xcodeproj//xcodeproj:generatedpackage_group
- You should change your
- Fixed
extra_fileslogic for merged targets when using focused targets: #1782 - Stale files in
.xcodeproj/rules_xcodeproj/bazelare now properly deleted: #1803 - Fixed CC
coptstokenization: #1811 - Fixed
bazeliskinvoking inrunner.sh: #1849 - Fixed handling of large number of linker flags: #1862
- Fixed handling of
-Xcc -iquote -Xcc pathtype flags: #1875 - Fixed handling of some quoted paths in
link_params_processor.py: #1877 - Fixed device-only project generation: #1880
Full Changelog
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()1.3.2: Fixes for multiple Xcode configurations
What’s Changed
Since 1.3.1
- Fixed handling of multiline
xcodeproj.{pre,post}_buildvalues: #1892 - Fixed visibility with bzlmod: #1895
- You should change your
visibility/package_groups to mention the@rules_xcodeproj//xcodeproj:generatedpackage_group
- You should change your
Below are the changes that were in 1.3.0–1.3.1
New
- Added support for multiple Xcode configurations with the new
xcodeproj.xcode_configurationsattribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_nameparameter toproject_optionsparameter: #1804 - Added the
profile_actionparameter toxcode_schemes.scheme: #1819 and #1835
Adjusted
- Moved generated generators to an external repository: #1876, #1886, and #1887
- The
.rules_xcodeprojdirectory 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:generatedpackage_group
- The
- 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_xcodeprojtorules_xcodeprojin yourMODULE.bazelorWORKSPACEfile - Then run this
buildifiercommand: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
extra_fileslogic for merged targets when using focused targets: #1782 - Stale files in
.xcodeproj/rules_xcodeproj/bazelare now properly deleted: #1803 - Fixed CC
coptstokenization: #1811 - Fixed
bazeliskinvoking inrunner.sh: #1849 - Fixed handling of large number of linker flags: #1862
- Fixed handling of
-Xcc -iquote -Xcc pathtype flags: #1875 - Fixed handling of some quoted paths in
link_params_processor.py: #1877 - Fixed device-only project generation: #1880
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.3.2")release.tar.gz’s integrity: sha256-PsKoHe9RqsWd5JJzz2+OPxUalbxPS0iRdQr6dQpVlzs=
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 = "3ec2a81def51aac59de49273cf6f8e3f151a95bc4f4b4891750afa750a55973b",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.3.2/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.3.1: Multiple Xcode configurations, removed `.rules_xcodeproj/` temporary directory
What’s Changed
Since 1.3.0
- Moved generated generators to an external repository: #1876, #1886, and #1887
- The
.rules_xcodeprojdirectory isn't created anymore, and you can remove it from ignore lists - You'll need to change your
visibility/package_groups to mention@rules_xcodeproj_generated//:__subpackages__
- The
- Improved the efficency of various Stalark code: #1866, #1867, #1868, #1869, #1871, #1872, #1873, #1874, #1879, #1882, #1884, #1883, and #1885
- Fixed handling of
-Xcc -iquote -Xcc pathtype flags: #1875 - Fixed handling of some quoted paths in
link_params_processor.py: #1877 - Fixed device-only project generation: #1880
Below are the changes that were in the 1.3.0.
New
- Added support for multiple Xcode configurations with the new
xcodeproj.xcode_configurationsattribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_nameparameter toproject_optionsparameter: #1804 - Added the
profile_actionparameter toxcode_schemes.scheme: #1819 and #1835
Adjusted
- 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_xcodeprojtorules_xcodeprojin yourMODULE.bazelorWORKSPACEfile - Then run this
buildifiercommand: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
Fixed
- Fixed
extra_fileslogic for merged targets when using focused targets: #1782 - Stale files in
.xcodeproj/rules_xcodeproj/bazelare now properly deleted: #1803 - Fixed CC
coptstokenization: #1811 - Fixed
bazeliskinvoking inrunner.sh: #1849 - Fixed handling of large number of linker flags: #1862
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.3.1")release.tar.gz’s integrity: sha256-73CgdKdLtet9Sh8XqJ03VdZL5xU8PrQeHW/dIYRP/NQ=
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 = "ef70a074a74bb5eb7d4a1f17a89d3755d64be7153c3eb41e1d6fdd21844ffcd4",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/1.3.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.3.0: Multiple Xcode configurations
What’s Changed
New
- Added support for multiple Xcode configurations with the new
xcodeproj.xcode_configurationsattribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_nameparameter toproject_optionsparameter: #1804 - Added the
profile_actionparameter toxcode_schemes.scheme: #1819 and #1835
Adjusted
- 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_xcodeprojtorules_xcodeprojin yourMODULE.bazelorWORKSPACEfile - Then run this
buildifiercommand: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
Fixed
- Fixed
extra_fileslogic for merged targets when using focused targets: #1782 - Stale files in
.xcodeproj/rules_xcodeproj/bazelare now properly deleted: #1803 - Fixed CC
coptstokenization: #1811 - Fixed
bazeliskinvoking inrunner.sh: #1849 - Fixed handling of large number of linker flags: #1862
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.3.0")release.tar.gz’s integrity: sha256-L242QEaWy4wv8o/xeIy7hcHA/ncJyOQRzC9ri6+1DwI=
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 = "2f6e36404696cb8c2ff28ff1788cbb85c1c0fe7709c8e411cc2f6b8bafb50f02",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/1.3.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.2.0
What’s Changed
New
- Added
xcodeproj.project_options: #1756
Adjusted
- We now use the first architecture when importing indexing data if multiple are set: #1763
- We now set the full range for
SUPPORTED_PLATFORMSin normal builds: #1762 --cache_computed_file_digestsis now set to a higher value by default: #1765- Upgraded index-import to 5.7.0.1: #1770
- Upgraded rules_swift to 1.6.0: #1772
- Upgraded rules_apple to 2.1.0: #1777
Fixed
- Fixed LLDB issue with testable targets: #1755
- Fixed handling of relative paths in index unit files: #1761
- Fixed project generation when merge target becomes unfocused: #1769
- Fixed (in Bazel 6.1+) schemes not being able to reference external targets when using Bzlmod: #1771
- Fixed generated
*_framework.exported_symbols_listin BwX mode: #1780
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.2.0", repo_name = "com_github_buildbuddy_io_rules_xcodeproj")release.tar.gz’s integrity: sha256-0CkyJVuj/6qxhZ5EUoxpmI6T+jU/o0kkPh71BUvRuoA=
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 = "d02932255ba3ffaab1859e44528c69988e93fa353fa349243e1ef5054bd1ba80",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/1.2.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()1.1.0: Bzlmod fix for the 1.0 release
What’s Changed
This release is the same as the 1.0.1 release, with the version changed to 1.1.0.
See the 1.0 release for details.
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.1.0", repo_name = "com_github_buildbuddy_io_rules_xcodeproj")release.tar.gz’s integrity: sha256-Hi9A6u5SAJM0NSismkqRgLBQDN2DseXiqVq8jFQWhuI=
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 = "1e2f40eaee520093343528ac9a4a9180b0500cdd83b1e5e2a95abc8c541686e2",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/1.1.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()1.0
What’s Changed
This release is the same as the 1.0.0rc3 release, with the version changed to 1.0.1.
This is the first release with a non-zero major version. Since we are using Semantic Versioning for rules_xcodeproj, from this release forward there won’t be breaking changes unless we increment our major version as well.12
Since this is the first major release, every feature can be seen as “new”, so here is the state of all features in the release:
- Full support for Xcode features:
- Indexing (i.e. autocomplete, syntax highlighting, jump to definition)
- Debugging
- Runtime sanitizers
- Inline warnings and errors
- Fix-its (currently only in BwX mode)
- Test selection and running
- Embedded Targets (App Clips, App Extensions, and Watch Apps)
- Dynamic frameworks
- SwiftUI Previews
- Focused Projects
- Include a subset of your targets in Xcode
- Unfocused targets are built with Bazel
- Works in BwX mode as well!
- Comprehensive Bazel rules support
- Core Bazel C/C++/Objective-C
- rules_swift
- rules_apple
- rules_ios
- Most likely your custom rules as well!
- Minimal configuration needed
- Multiple ways of building your project in Xcode
- Build your Bazel targets with Bazel (a.k.a Build with Bazel or BwB mode)
- Build your Bazel targets with Xcode, not Bazel (a.k.a. Build with Xcode or BwX mode)3
Contributors
- @brentleyjones
- @BalestraPatrick
- @cgrindel
- @erikkerber
- @maxwellE
- @thii
- @chiragramani
- @jpsim
- @sebastianv1
- @ra1028
- @luispadron
- @pennig
- @CognitiveDisson
- @mattrobmattrob
- @keith
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.1.0", repo_name = "com_github_buildbuddy_io_rules_xcodeproj")release.tar.gz’s integrity: sha256-TygG8P6XZiY85GuCsnpnQrvjokivPop2bc52X5VPvsE=
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 = "4f2806f0fe9766263ce46b82b27a6742bbe3a248af3e8a766dce765f954fbec1",
url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/1.0.1/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()-
Bzlmod has a different way of marking breaking changes with
module.compatibility_level. We will increment both the major version and thecompatibility_levelin tandum. ↩ -
There are some APIs that have been explicitly marked as unstable, such as the
XcodeProjAutomaticTargetProcessingInfoandXcodeProjInfoproviders. Changes to unstable APIs do not count as breaking changes. ↩ -
Build with Bazel mode is the build mode with first class support. We will try to make Build with Xcode mode work with every project, but there are limitations that can make the experience subpar, or not work at all. We recommend using BwB mode if possible. ↩