bazelbuild / bazelbuild/rules_apple

Should expose `//apple/internal:resources.bzl`'s `resources` as public API

Open
#1,412 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.