Split :toolchain_type
to correctly cover all use cases
#3800
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: #3795
See issue for details.
What is the new behavior?
@rules_nodejs//nodejs:toolchain_type
into@rules_nodejs//nodejs:runtime_toolchain_type
and@rules_nodejs//nodejs:exec_runtime_toolchain_type
.@rules_nodejs//nodejs:runtime_toolchain_type
is suited towards usage in the target environment (e.g. runtime for*_binary
rule outputs).@rules_nodejs//nodejs:exec_runtime_toolchain_type
is suited towards usage within rule actions (e.g. running NodeJS directly).incompatible_split_toolchains
on;node.toolchain
module extension tag.nodejs_register_toolchains
macro.nodejs_toolchains_repo
repository rule (private API).:resolved_toolchain
target moved into@rules_nodejs//nodejs
. This makes it possible to access a NodeJS toolchain implementation without needing to know the name of a user controlled generated repository (e.g. for use inside agenrule
defined in another ruleset).@rules_nodejs//nodejs:compilation_toolchain_type
suited to usage of NodeJS as a compiler (e.g. for snapshot generation) when the exec and target platforms need to be aligned. The exact platforms can still be different, but they should at least be compatible across OS and CPU.Does this PR introduce a breaking change?
Other information
Extra TODO