bazelbuild / bazelbuild/rules_apple
Should expose `//apple/internal:resources.bzl`'s `resources` as public API
- Dominant language
- Starlark
- Stars
- 593
- Forks
- 334
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 9
Description
The `AppleResourceInfo` provider is public API. But it can be hard to correctly create an instance of this provider. The `//apple/internal:resources.bzl`'s `resources` module should be exposed as public API, or at least the `bucketize()` method. I know of at least one large iOS project that uses this `# buildifier: disable=bzl-visibility`, and it would be better if it was a supported method of creating `AppleResourceInfo` instances instead.
Contributor guide
Research direction
Start by reading //apple/internal:resources.bzl, especially the resources module and its bucketize() method, then trace how AppleResourceInfo instances are created. Done means providing a supported public way to create AppleResourceInfo without disabling visibility for the internal module; determine whether the whole module or only bucketize() should be exposed.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100