Skip to content

Commit 6aa4540

Browse files
ssaradssaradp
andauthored
Remove references to objc_provider and remove force_load_direct_deps to support rules_apple > 3.15.0 (#934)
1) With rules_apple removing legacy objc_providers, rules_apple > 3.15.0 is no longer compatible with rules_ios due to bazelbuild/rules_apple#2611 2) Removing force load direct deps as its no longer needed in Bazel 7 #862 ```sh ERROR: /Users/ssarad/Bazel/BUILD.bazel:3:15: in apple_framework_packaging rule Traceback (most recent call last): File "/Users/ssarad/.bazel_cache/output/external/rules_ios~/rules/framework.bzl", line 1109, column 48, in _apple_framework_packaging_impl bundle_outs = _bundle_dynamic_framework(ctx, is_extension_safe = is_extension_safe, avoid_deps = avoid_deps) File "/Users/ssarad/.bazel_cache/output/external/rules_ios~/rules/framework.bzl", line 888, column 44, in _bundle_dynamic_framework partials.framework_provider_partial( File "/Users/ssarad/.bazel_cache/output/external/rules_apple~/apple/internal/partials/framework_provider.bzl", line 94, column 5, in framework_provider_partial def framework_provider_partial( Error: framework_provider_partial() got unexpected keyword argument: objc_provider ``` This PR is attempt to make rules_ios compatible with rules_apple + remove the legacy code to force load direct deps as with Bazel 7, `--incompatible_objc_alwayslink_by_default` does the same thing. --------- Co-authored-by: Sarad <[email protected]>
1 parent 8da30c9 commit 6aa4540

28 files changed

+86
-317
lines changed

.github/workflows/tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
XCODE_VERSION: ${{ matrix.xcode_version }}
3030
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
3131
LATEST_RULES_SWIFT_VERSION: 2.1.1
32-
LATEST_RULES_APPLE_VERSION: 3.8.0
32+
LATEST_RULES_APPLE_VERSION: 3.15.0
3333
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3434
steps:
3535
- uses: actions/checkout@v4

MODULE.bazel

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ bazel_dep(
2222
)
2323
bazel_dep(
2424
name = "rules_apple",
25-
version = "3.5.1",
25+
version = "3.15.0",
2626
repo_name = "build_bazel_rules_apple",
2727
)
2828
bazel_dep(
2929
name = "rules_cc",
30-
version = "0.0.6",
30+
version = "0.0.10",
3131
)
3232
bazel_dep(
3333
name = "rules_swift",

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ See the following table for supported rules_apple release versions.
4444

4545
| rules_apple release | Minimum supported rules version | Final supported rules version
4646
|:-------------------:|:-------------------------:|:-------------------------:
47-
| 3.5.1 | 4.3.1 | current
47+
| 3.15.0 | 5.3.0 | current
4848
| 3.* | 3.* | 4.2.1
4949
| 2.* | 2.* | 3.2.2
5050
| 1.* | 1.0.0 | 3.2.2

docs/BUILD.bazel

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ _DOC_SRCS = [
1414
"import_middleman",
1515
"library",
1616
"plists",
17-
"force_load_direct_deps",
1817
"precompiled_apple_resource_bundle",
1918
"providers",
2019
"substitute_build_settings",

docs/app_clip_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## ios_app_clip
88

99
<pre>
10+
load("@rules_ios//rules:app_clip.bzl", "ios_app_clip")
11+
1012
ios_app_clip(<a href="#ios_app_clip-name">name</a>, <a href="#ios_app_clip-families">families</a>, <a href="#ios_app_clip-infoplists">infoplists</a>, <a href="#ios_app_clip-infoplists_by_build_setting">infoplists_by_build_setting</a>, <a href="#ios_app_clip-xcconfig">xcconfig</a>,
1113
<a href="#ios_app_clip-xcconfig_by_build_setting">xcconfig_by_build_setting</a>, <a href="#ios_app_clip-kwargs">kwargs</a>)
1214
</pre>

docs/app_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## ios_application
88

99
<pre>
10+
load("@rules_ios//rules:app.bzl", "ios_application")
11+
1012
ios_application(<a href="#ios_application-name">name</a>, <a href="#ios_application-families">families</a>, <a href="#ios_application-apple_library">apple_library</a>, <a href="#ios_application-infoplists">infoplists</a>, <a href="#ios_application-infoplists_by_build_setting">infoplists_by_build_setting</a>, <a href="#ios_application-xcconfig">xcconfig</a>,
1113
<a href="#ios_application-xcconfig_by_build_setting">xcconfig_by_build_setting</a>, <a href="#ios_application-kwargs">kwargs</a>)
1214
</pre>

docs/extension_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## ios_extension
88

99
<pre>
10+
load("@rules_ios//rules:extension.bzl", "ios_extension")
11+
1012
ios_extension(<a href="#ios_extension-name">name</a>, <a href="#ios_extension-families">families</a>, <a href="#ios_extension-infoplists">infoplists</a>, <a href="#ios_extension-infoplists_by_build_setting">infoplists_by_build_setting</a>, <a href="#ios_extension-xcconfig">xcconfig</a>,
1113
<a href="#ios_extension-xcconfig_by_build_setting">xcconfig_by_build_setting</a>, <a href="#ios_extension-kwargs">kwargs</a>)
1214
</pre>

docs/force_load_direct_deps_doc.md

-48
This file was deleted.

docs/framework_doc.md

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Framework rules
77
## apple_framework_packaging
88

99
<pre>
10+
load("@rules_ios//rules:framework.bzl", "apple_framework_packaging")
11+
1012
apple_framework_packaging(<a href="#apple_framework_packaging-name">name</a>, <a href="#apple_framework_packaging-deps">deps</a>, <a href="#apple_framework_packaging-data">data</a>, <a href="#apple_framework_packaging-bundle_extension">bundle_extension</a>, <a href="#apple_framework_packaging-bundle_id">bundle_id</a>, <a href="#apple_framework_packaging-environment_plist">environment_plist</a>,
1113
<a href="#apple_framework_packaging-exported_symbols_lists">exported_symbols_lists</a>, <a href="#apple_framework_packaging-framework_name">framework_name</a>, <a href="#apple_framework_packaging-frameworks">frameworks</a>, <a href="#apple_framework_packaging-infoplists">infoplists</a>,
1214
<a href="#apple_framework_packaging-library_linkopts">library_linkopts</a>, <a href="#apple_framework_packaging-link_dynamic">link_dynamic</a>, <a href="#apple_framework_packaging-minimum_deployment_os_version">minimum_deployment_os_version</a>,
@@ -49,6 +51,8 @@ Packages compiled code into an Apple .framework package
4951
## apple_framework
5052

5153
<pre>
54+
load("@rules_ios//rules:framework.bzl", "apple_framework")
55+
5256
apple_framework(<a href="#apple_framework-name">name</a>, <a href="#apple_framework-apple_library">apple_library</a>, <a href="#apple_framework-infoplists">infoplists</a>, <a href="#apple_framework-infoplists_by_build_setting">infoplists_by_build_setting</a>, <a href="#apple_framework-xcconfig">xcconfig</a>,
5357
<a href="#apple_framework-xcconfig_by_build_setting">xcconfig_by_build_setting</a>, <a href="#apple_framework-kwargs">kwargs</a>)
5458
</pre>

docs/hmap_doc.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Header Map rules
77
## headermap
88

99
<pre>
10+
load("@rules_ios//rules:hmap.bzl", "headermap")
11+
1012
headermap(<a href="#headermap-name">name</a>, <a href="#headermap-hdrs">hdrs</a>, <a href="#headermap-direct_hdr_providers">direct_hdr_providers</a>, <a href="#headermap-namespace">namespace</a>)
1113
</pre>
1214

@@ -32,14 +34,15 @@ regardless of the package structure being used.
3234
## HeaderMapInfo
3335

3436
<pre>
37+
load("@rules_ios//rules:hmap.bzl", "HeaderMapInfo")
38+
3539
HeaderMapInfo(<a href="#HeaderMapInfo-files">files</a>)
3640
</pre>
3741

3842
Propagates header maps
3943

4044
**FIELDS**
4145

42-
4346
| Name | Description |
4447
| :------------- | :------------- |
4548
| <a id="HeaderMapInfo-files"></a>files | depset with headermaps |
@@ -50,6 +53,8 @@ Propagates header maps
5053
## hmap.make_hmap
5154

5255
<pre>
56+
load("@rules_ios//rules:hmap.bzl", "hmap")
57+
5358
hmap.make_hmap(<a href="#hmap.make_hmap-actions">actions</a>, <a href="#hmap.make_hmap-headermap_builder">headermap_builder</a>, <a href="#hmap.make_hmap-output">output</a>, <a href="#hmap.make_hmap-namespace">namespace</a>, <a href="#hmap.make_hmap-hdrs_lists">hdrs_lists</a>)
5459
</pre>
5560

docs/import_middleman_doc.md

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## import_middleman
88

99
<pre>
10+
load("@rules_ios//rules:import_middleman.bzl", "import_middleman")
11+
1012
import_middleman(<a href="#import_middleman-name">name</a>, <a href="#import_middleman-deps">deps</a>, <a href="#import_middleman-test_deps">test_deps</a>, <a href="#import_middleman-update_in_place">update_in_place</a>)
1113
</pre>
1214

@@ -50,6 +52,8 @@ can be updated to work without the other behavior
5052
## find_imports
5153

5254
<pre>
55+
load("@rules_ios//rules:import_middleman.bzl", "find_imports")
56+
5357
find_imports(<a href="#find_imports-name">name</a>)
5458
</pre>
5559

docs/library_doc.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Library rules
77
## extend_modulemap
88

99
<pre>
10+
load("@rules_ios//rules:library.bzl", "extend_modulemap")
11+
1012
extend_modulemap(<a href="#extend_modulemap-name">name</a>, <a href="#extend_modulemap-destination">destination</a>, <a href="#extend_modulemap-module_name">module_name</a>, <a href="#extend_modulemap-source">source</a>, <a href="#extend_modulemap-swift_header">swift_header</a>)
1113
</pre>
1214

@@ -29,14 +31,15 @@ Extends a modulemap with a Swift submodule
2931
## PrivateHeadersInfo
3032

3133
<pre>
34+
load("@rules_ios//rules:library.bzl", "PrivateHeadersInfo")
35+
3236
PrivateHeadersInfo(<a href="#PrivateHeadersInfo-headers">headers</a>)
3337
</pre>
3438

3539
Propagates private headers, so they can be accessed if necessary
3640

3741
**FIELDS**
3842

39-
4043
| Name | Description |
4144
| :------------- | :------------- |
4245
| <a id="PrivateHeadersInfo-headers"></a>headers | Private headers |
@@ -47,6 +50,8 @@ Propagates private headers, so they can be accessed if necessary
4750
## apple_library
4851

4952
<pre>
53+
load("@rules_ios//rules:library.bzl", "apple_library")
54+
5055
apple_library(<a href="#apple_library-name">name</a>, <a href="#apple_library-library_tools">library_tools</a>, <a href="#apple_library-export_private_headers">export_private_headers</a>, <a href="#apple_library-namespace_is_module_name">namespace_is_module_name</a>,
5156
<a href="#apple_library-default_xcconfig_name">default_xcconfig_name</a>, <a href="#apple_library-xcconfig">xcconfig</a>, <a href="#apple_library-xcconfig_by_build_setting">xcconfig_by_build_setting</a>, <a href="#apple_library-objc_defines">objc_defines</a>, <a href="#apple_library-swift_defines">swift_defines</a>,
5257
<a href="#apple_library-kwargs">kwargs</a>)

docs/plists_doc.md

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Defines macros for working with plist files.
77
## process_infoplists
88

99
<pre>
10+
load("@rules_ios//rules:plists.bzl", "process_infoplists")
11+
1012
process_infoplists(<a href="#process_infoplists-name">name</a>, <a href="#process_infoplists-infoplists">infoplists</a>, <a href="#process_infoplists-infoplists_by_build_setting">infoplists_by_build_setting</a>, <a href="#process_infoplists-xcconfig">xcconfig</a>,
1113
<a href="#process_infoplists-xcconfig_by_build_setting">xcconfig_by_build_setting</a>)
1214
</pre>
@@ -34,6 +36,8 @@ A selectable dict of the substituted_plists grouped by config_setting
3436
## substituted_plist
3537

3638
<pre>
39+
load("@rules_ios//rules:plists.bzl", "substituted_plist")
40+
3741
substituted_plist(<a href="#substituted_plist-name">name</a>, <a href="#substituted_plist-plist">plist</a>, <a href="#substituted_plist-xcconfig">xcconfig</a>)
3842
</pre>
3943

@@ -58,6 +62,8 @@ The plist target with the substituted variables.
5862
## write_info_plists_if_needed
5963

6064
<pre>
65+
load("@rules_ios//rules:plists.bzl", "write_info_plists_if_needed")
66+
6167
write_info_plists_if_needed(<a href="#write_info_plists_if_needed-name">name</a>, <a href="#write_info_plists_if_needed-plists">plists</a>)
6268
</pre>
6369

docs/precompiled_apple_resource_bundle_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ if this is ever fixed in bazel it should be removed
1111
## precompiled_apple_resource_bundle
1212

1313
<pre>
14+
load("@rules_ios//rules:precompiled_apple_resource_bundle.bzl", "precompiled_apple_resource_bundle")
15+
1416
precompiled_apple_resource_bundle(<a href="#precompiled_apple_resource_bundle-kwargs">kwargs</a>)
1517
</pre>
1618

docs/providers_doc.md

+4-6
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@
77
## AvoidDepsInfo
88

99
<pre>
10+
load("@rules_ios//rules:providers.bzl", "AvoidDepsInfo")
11+
1012
AvoidDepsInfo(<a href="#AvoidDepsInfo-libraries">libraries</a>, <a href="#AvoidDepsInfo-link_dynamic">link_dynamic</a>)
1113
</pre>
1214

13-
14-
1515
**FIELDS**
1616

17-
1817
| Name | Description |
1918
| :------------- | :------------- |
2019
| <a id="AvoidDepsInfo-libraries"></a>libraries | Libraries to avoid |
@@ -26,14 +25,13 @@ AvoidDepsInfo(<a href="#AvoidDepsInfo-libraries">libraries</a>, <a href="#AvoidD
2625
## FrameworkInfo
2726

2827
<pre>
28+
load("@rules_ios//rules:providers.bzl", "FrameworkInfo")
29+
2930
FrameworkInfo(<a href="#FrameworkInfo-vfsoverlay_infos">vfsoverlay_infos</a>, <a href="#FrameworkInfo-binary">binary</a>, <a href="#FrameworkInfo-headers">headers</a>, <a href="#FrameworkInfo-private_headers">private_headers</a>, <a href="#FrameworkInfo-modulemap">modulemap</a>, <a href="#FrameworkInfo-swiftmodule">swiftmodule</a>, <a href="#FrameworkInfo-swiftdoc">swiftdoc</a>)
3031
</pre>
3132

32-
33-
3433
**FIELDS**
3534

36-
3735
| Name | Description |
3836
| :------------- | :------------- |
3937
| <a id="FrameworkInfo-vfsoverlay_infos"></a>vfsoverlay_infos | Merged VFS overlay infos, present when virtual frameworks enabled |

docs/substitute_build_settings_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## substitute_build_settings
88

99
<pre>
10+
load("@rules_ios//rules:substitute_build_settings.bzl", "substitute_build_settings")
11+
1012
substitute_build_settings(<a href="#substitute_build_settings-name">name</a>, <a href="#substitute_build_settings-source">source</a>, <a href="#substitute_build_settings-variables">variables</a>)
1113
</pre>
1214

docs/test_doc.md

+18
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
## default_test_factory.make_named_split
88

99
<pre>
10+
load("@rules_ios//rules:test.bzl", "default_test_factory")
11+
1012
default_test_factory.make_named_split(<a href="#default_test_factory.make_named_split-name">name</a>, <a href="#default_test_factory.make_named_split-split_kwargs">split_kwargs</a>, <a href="#default_test_factory.make_named_split-in_split">in_split</a>)
1113
</pre>
1214

@@ -27,6 +29,8 @@ default_test_factory.make_named_split(<a href="#default_test_factory.make_named_
2729
## default_test_factory.make_runner_split
2830

2931
<pre>
32+
load("@rules_ios//rules:test.bzl", "default_test_factory")
33+
3034
default_test_factory.make_runner_split(<a href="#default_test_factory.make_runner_split-name">name</a>, <a href="#default_test_factory.make_runner_split-runner">runner</a>, <a href="#default_test_factory.make_runner_split-in_split">in_split</a>)
3135
</pre>
3236

@@ -47,6 +51,8 @@ default_test_factory.make_runner_split(<a href="#default_test_factory.make_runne
4751
## default_test_factory.make_test
4852

4953
<pre>
54+
load("@rules_ios//rules:test.bzl", "default_test_factory")
55+
5056
default_test_factory.make_test(<a href="#default_test_factory.make_test-name">name</a>, <a href="#default_test_factory.make_test-test_rule">test_rule</a>, <a href="#default_test_factory.make_test-kwargs">kwargs</a>)
5157
</pre>
5258

@@ -67,6 +73,8 @@ Helper to create an individual test
6773
## default_test_factory.make_test_suite
6874

6975
<pre>
76+
load("@rules_ios//rules:test.bzl", "default_test_factory")
77+
7078
default_test_factory.make_test_suite(<a href="#default_test_factory.make_test_suite-factory">factory</a>, <a href="#default_test_factory.make_test_suite-name">name</a>, <a href="#default_test_factory.make_test_suite-test_rule">test_rule</a>, <a href="#default_test_factory.make_test_suite-test_kwargs">test_kwargs</a>)
7179
</pre>
7280

@@ -88,6 +96,8 @@ default_test_factory.make_test_suite(<a href="#default_test_factory.make_test_su
8896
## default_test_factory.make_test_suite_splits
8997

9098
<pre>
99+
load("@rules_ios//rules:test.bzl", "default_test_factory")
100+
91101
default_test_factory.make_test_suite_splits(<a href="#default_test_factory.make_test_suite_splits-factory">factory</a>, <a href="#default_test_factory.make_test_suite_splits-name">name</a>, <a href="#default_test_factory.make_test_suite_splits-in_kwargs">in_kwargs</a>)
92102
</pre>
93103

@@ -113,6 +123,8 @@ Finally - you can set the splits to be whatever you want.
113123
## default_test_factory.make_tests
114124

115125
<pre>
126+
load("@rules_ios//rules:test.bzl", "default_test_factory")
127+
116128
default_test_factory.make_tests(<a href="#default_test_factory.make_tests-factory">factory</a>, <a href="#default_test_factory.make_tests-name">name</a>, <a href="#default_test_factory.make_tests-test_rule">test_rule</a>, <a href="#default_test_factory.make_tests-kwargs">kwargs</a>)
117129
</pre>
118130

@@ -134,6 +146,8 @@ Main entry point of generating tests"
134146
## ios_ui_test
135147

136148
<pre>
149+
load("@rules_ios//rules:test.bzl", "ios_ui_test")
150+
137151
ios_ui_test(<a href="#ios_ui_test-name">name</a>, <a href="#ios_ui_test-apple_library">apple_library</a>, <a href="#ios_ui_test-test_factory">test_factory</a>, <a href="#ios_ui_test-kwargs">kwargs</a>)
138152
</pre>
139153

@@ -155,6 +169,8 @@ Builds and packages iOS UI Tests.
155169
## ios_unit_snapshot_test
156170

157171
<pre>
172+
load("@rules_ios//rules:test.bzl", "ios_unit_snapshot_test")
173+
158174
ios_unit_snapshot_test(<a href="#ios_unit_snapshot_test-name">name</a>, <a href="#ios_unit_snapshot_test-apple_library">apple_library</a>, <a href="#ios_unit_snapshot_test-test_factory">test_factory</a>, <a href="#ios_unit_snapshot_test-kwargs">kwargs</a>)
159175
</pre>
160176

@@ -176,6 +192,8 @@ Builds and packages iOS Unit Snapshot Tests.
176192
## ios_unit_test
177193

178194
<pre>
195+
load("@rules_ios//rules:test.bzl", "ios_unit_test")
196+
179197
ios_unit_test(<a href="#ios_unit_test-name">name</a>, <a href="#ios_unit_test-apple_library">apple_library</a>, <a href="#ios_unit_test-test_factory">test_factory</a>, <a href="#ios_unit_test-kwargs">kwargs</a>)
180198
</pre>
181199

docs/transition_support_doc.md

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ part on the language used for XCFramework library identifiers:
2323
## transition_support.current_apple_platform
2424

2525
<pre>
26+
load("@rules_ios//rules:transition_support.bzl", "transition_support")
27+
2628
transition_support.current_apple_platform(<a href="#transition_support.current_apple_platform-apple_fragment">apple_fragment</a>, <a href="#transition_support.current_apple_platform-xcode_config">xcode_config</a>)
2729
</pre>
2830

0 commit comments

Comments
 (0)