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()