Releases: MobileNativeFoundation/rules_xcodeproj
1.7.1
What’s Changed
Since 1.7.0
- Fixed replacement label handling when wrapped in a macro: #2291
- Fixed BwX Swift testing search paths: #2295
- Fixed possible
bazel build
output truncation: #2282 - Fixed indexing of Swift macros: #2292
- Fixed Swift macros in BwX mode: #2294
- Added a usual error message when no diagnostics are parsed: #2286
- Added support for
swift_compiler_plugin
targets: #2293 - We now set
--repo_env=XCODE_VERSION
: #2287
Below are the changes that were in 1.7.0
Adjusted
- All clang flag processing has been moved into the execution phase: #2212
- Application schemes are now sorted before other auto generated schemes: #2211
- Removed special handling for
-strict-concurrency
: #2214 - Removed special handling for
-enable-testing
: #2215 - Removed special handling for
SWIFT_OPTIMIZATION_LEVEL
: #2227 - Removed special handling of
ENABLE_STRICT_OBJC_MSGSEND
: #2233 - Moved generator package directory to
/var/tmp
: #2252 - The non-
=
version of-working-directory
is now used: #2254 SWIFT_INCLUDE_PATHS
is no longer set in BwB mode: #2245 and #2277-I
,-explicit-swift-module-map-file
, and-vfsoverlay
are now set inOTHER_SWIFT_FLAGS
: #2256-F
is now set inOTHER_SWIFT_FLAGS
: #2258 and #2263PROJECT_DIR
is now used instead ofCURRENT_EXECUTION_ROOT
: #2259$(BAZEL_OUT)
is now used to reference compile params files: #2260- Paths are now always absolute in
swift.compile.params
andOTHER_SWIFT_FLAGS
: #2261, #2265, #2267, and #2269 swiftc_stub
now errors out instead of warning: #2278- Removed unnecessary dependencies from release archive: #2279
Fixed
__BAZEL_
variables ar now replaced inswift_debug_sttings.py
: #2213- Development region is now properly set in
PBXProject.knownRegions
: #2228 - Fixed tests in custom schemes when
ios_unit_test.bundle_name
is used: #2248 - Fixed
test_suite
label creation if using bzlmod: #2249 - Fixed quoting of string defines in
{c,cxx}.compile.params
: #2262 - Builds now properly error out when using an
.xcworkspace
: #2273 - Fixed
swiftc_stub
with Xcode 15: #2276 - Fixed handling of build configuration in custom schemes: #2274
Full Changelog
Contributors
- @brentleyjones
- @mattrobmattrob
- @yongjincho92
- @thiagohmcruz
- @luispadron
- @jpsim
- @chiragramani
- @thii
- @BalestraPatrick
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.7.1")
release.tar.gz
’s integrity
: sha256-+DbSpRapEdwKzkSx9RqldWE/FJqTT0vh571VGlSWcv8=
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 = "f836d2a516a911dc0ace44b1f51aa575613f149a934f4be1e7bd551a549672ff",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.7.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.7.0: Xcode 15 Beta 1 support
What’s Changed
Adjusted
- All clang flag processing has been moved into the execution phase: #2212
- Application schemes are now sorted before other auto generated schemes: #2211
- Removed special handling for
-strict-concurrency
: #2214 - Removed special handling for
-enable-testing
: #2215 - Removed special handling for
SWIFT_OPTIMIZATION_LEVEL
: #2227 - Removed special handling of
ENABLE_STRICT_OBJC_MSGSEND
: #2233 - Moved generator package directory to
/var/tmp
: #2252 - The non-
=
version of-working-directory
is now used: #2254 SWIFT_INCLUDE_PATHS
is no longer set in BwB mode: #2245 and #2277-I
,-explicit-swift-module-map-file
, and-vfsoverlay
are now set inOTHER_SWIFT_FLAGS
: #2256-F
is now set inOTHER_SWIFT_FLAGS
: #2258 and #2263PROJECT_DIR
is now used instead ofCURRENT_EXECUTION_ROOT
: #2259$(BAZEL_OUT)
is now used to reference compile params files: #2260- Paths are now always absolute in
swift.compile.params
andOTHER_SWIFT_FLAGS
: #2261, #2265, #2267, and #2269 swiftc_stub
now errors out instead of warning: #2278- Removed unnecessary dependencies from release archive: #2279
Fixed
__BAZEL_
variables ar now replaced inswift_debug_sttings.py
: #2213- Development region is now properly set in
PBXProject.knownRegions
: #2228 - Fixed tests in custom schemes when
ios_unit_test.bundle_name
is used: #2248 - Fixed
test_suite
label creation if using bzlmod: #2249 - Fixed quoting of string defines in
{c,cxx}.compile.params
: #2262 - Builds now properly error out when using an
.xcworkspace
: #2273 - Fixed
swiftc_stub
with Xcode 15: #2276 - Fixed handling of build configuration in custom schemes: #2274
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.7.0")
release.tar.gz
’s integrity
: sha256-ZypXUqFtT9uD2HL/4oWfG28vKAZVjqAYU3ZzgXntQh0=
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 = "672a5752a16d4fdb83d872ffe2859f1b6f2f2806558ea0185376738179ed421d",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.7.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.6.0: Mixed language target merging and `test_suite` support
What’s Changed
New
test_suite
targets can now be specified inxcodeproj.top_level_targets
: #2184ios_*_test_suite
targets can now be specified inxcodeproj.top_level_targets
: #2196- Added a
bzl_library
target for xcodeproj files: #2204
Adjusted
- Optimized project generation: #2129, #2130, #2134, #2138, #2136, #2137, #2174, and #2208
- Swift and Objective-C targets can now merge into the same terminal target: #2131, #2146, and #2150
- All symlinks are now resolved to their target file: #2147
- Schemes are now sorted: #2151
- The
Bazel Build
script is now consistently named and structured: #2164 and #2177 - App extensions can no longer be specified in
xcodeproj.top_level_targets
: #2183
Fixed
- Fixed a target consolidation crash: #2195
- Fixed
xcodeproj.xcode_configurations
not supporting Starlark build settings with bzlmod enabled: #2191 {resource_,}filegroups
not belonging to focused targets are now properly excluded from the generated project: #2159
Full Changelog
Contributors
Bzlmod Snippet
bazel_dep(name = "rules_xcodeproj", version = "1.6.0")
release.tar.gz
’s integrity
: sha256-zpK4eE/lJd1CBCL7CeqOHy3+6J5BukAdM+OmaHGZp9A=⏎
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 = "ce92b8784fe525dd420422fb09ea8e1f2dfee89e41ba401d33e3a6687199a7d0",
url = "https://github.com/MobileNativeFoundation/rules_xcodeproj/releases/download/1.6.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.5.1
What’s Changed
Since 1.5.0
- More optimizations: #2118, #2119, #2114, #2115, and #2116
- Fixed
_write_target_ids_list
regression: #2121 - Fixed
_skip_target
handling 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
Podfile
files: #2041 - Removed extra quoting in
link.params
files: #2061 - Added support for multiple compile targets: #2072
Fixed
- Fixed output base when using
--config=indexbuild
with the command-line API: #2027 - Fixed
create_lldbinit.sh
not appending content to a new line: #2036 - Fixed
import_indexstores.sh
when 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
Podfile
files: #2041 - Removed extra quoting in
link.params
files: #2061 - Added support for multiple compile targets: #2072
Fixed
- Fixed output base when using
--config=indexbuild
with the command-line API: #2027 - Fixed
create_lldbinit.sh
not appending content to a new line: #2036 - Fixed
import_indexstores.sh
when 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_env
attribute: #1990 - Added the
xcodeprojfail_for_invalid_extra_files_targets
attribute: #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
PATH
is now set to/usr/bin:/bin
whenbazel_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
dump
andshutdown
commands: #2019 - Fixed specs collection: #1966
- Fixed BwB test action env variables for custom schemes without launch actions: #1955
- Fixed BwX
swift_debug_settings.py
generation: #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_base
set 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_configurations
attribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_name
parameter toproject_options
parameter: #1804 - Added the
profile_action
parameter toxcode_schemes.scheme
: #1819 and #1835
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_group
s to mention the@rules_xcodeproj//xcodeproj:generated
package_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_xcodeproj
torules_xcodeproj
in yourMODULE.bazel
orWORKSPACE
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_group
s to mention the@rules_xcodeproj//xcodeproj:generated
package_group
- You should change your
- 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 inrunner.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
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}_build
values: #1892 - Fixed visibility with bzlmod: #1895
- You should change your
visibility
/package_group
s to mention the@rules_xcodeproj//xcodeproj:generated
package_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_configurations
attribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_name
parameter toproject_options
parameter: #1804 - Added the
profile_action
parameter toxcode_schemes.scheme
: #1819 and #1835
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_group
s to mention the@rules_xcodeproj//xcodeproj:generated
package_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_xcodeproj
torules_xcodeproj
in yourMODULE.bazel
orWORKSPACE
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
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 inrunner.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
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_xcodeproj
directory isn't created anymore, and you can remove it from ignore lists - You'll need to change your
visibility
/package_group
s 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 path
type 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_configurations
attribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_name
parameter toproject_options
parameter: #1804 - Added the
profile_action
parameter 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_xcodeproj
torules_xcodeproj
in yourMODULE.bazel
orWORKSPACE
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
Fixed
- 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 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_configurations
attribute: #1789, #1791, #1793, #1796, #1797, #1799, #1800, #1801, #1806, #1807, #1815, #1858 - Added the
organization_name
parameter toproject_options
parameter: #1804 - Added the
profile_action
parameter 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_xcodeproj
torules_xcodeproj
in yourMODULE.bazel
orWORKSPACE
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
Fixed
- 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 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()