bazel-ios / rules_ios

Bazel rules for building iOS applications and frameworks
Apache License 2.0
276 stars 84 forks source link

Removed fake_rule_label from precompiled_apple_resource_bundle_impl and using swift_module instead #865

Closed tymurmustafaiev closed 4 months ago

tymurmustafaiev commented 4 months ago

Why this is needed? fake_rule_label was as a workaround and I'd like to remove it and use swift_module. This pr is a continuation of https://github.com/bazelbuild/rules_apple/pull/2335. If we try to build 2 different targets with same module name - plist generation will fail due to rule name collision as fake_rule_label is used, which was created from swift_module or bundle_name

What has changed? Using swift_module for compiling assets, plists, storyboards, etc. instead of fake_rule_label. Now, each plist generation action has it's own rule name which has no name collision

NOTE This PR Requires rules_apple to be at least 3.2.0, so I'll fix tests once it's updated

luispadron commented 4 months ago

Thanks, this is a nice cleanup! If this requires a new rules_apple version you'll have to rebase after I merge #864

tymurmustafaiev commented 4 months ago

Thanks, this is a nice cleanup! If this requires a new rules_apple version you'll have to rebase after I merge #864

Cool, thx!