refactor(bazel): allow google3 overrides for external deps (#26488)
PR Close #26488
This commit is contained in:
parent
2b3cac5b31
commit
2132c8f461
|
@ -13,10 +13,20 @@ load(
|
||||||
_compile_ts = "compile_ts",
|
_compile_ts = "compile_ts",
|
||||||
_ts_providers_dict_to_struct = "ts_providers_dict_to_struct",
|
_ts_providers_dict_to_struct = "ts_providers_dict_to_struct",
|
||||||
)
|
)
|
||||||
|
load(
|
||||||
|
"@build_bazel_rules_nodejs//internal/common:node_module_info.bzl",
|
||||||
|
_NodeModuleInfo = "NodeModuleInfo",
|
||||||
|
_collect_node_modules_aspect = "collect_node_modules_aspect",
|
||||||
|
)
|
||||||
|
|
||||||
|
NodeModuleInfo = _NodeModuleInfo
|
||||||
|
collect_node_modules_aspect = _collect_node_modules_aspect
|
||||||
tsc_wrapped_tsconfig = _tsc_wrapped_tsconfig
|
tsc_wrapped_tsconfig = _tsc_wrapped_tsconfig
|
||||||
COMMON_ATTRIBUTES = _COMMON_ATTRIBUTES
|
COMMON_ATTRIBUTES = _COMMON_ATTRIBUTES
|
||||||
COMMON_OUTPUTS = _COMMON_OUTPUTS
|
COMMON_OUTPUTS = _COMMON_OUTPUTS
|
||||||
compile_ts = _compile_ts
|
compile_ts = _compile_ts
|
||||||
DEPS_ASPECTS = _DEPS_ASPECTS
|
DEPS_ASPECTS = _DEPS_ASPECTS
|
||||||
ts_providers_dict_to_struct = _ts_providers_dict_to_struct
|
ts_providers_dict_to_struct = _ts_providers_dict_to_struct
|
||||||
|
|
||||||
|
DEFAULT_NG_COMPILER = "@angular//:@angular/bazel/ngc-wrapped"
|
||||||
|
DEFAULT_NG_XI18N = "@npm//@angular/bazel/bin:xi18n"
|
|
@ -6,18 +6,18 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
load(
|
load(
|
||||||
":rules_typescript.bzl",
|
":external.bzl",
|
||||||
"COMMON_ATTRIBUTES",
|
"COMMON_ATTRIBUTES",
|
||||||
"COMMON_OUTPUTS",
|
"COMMON_OUTPUTS",
|
||||||
"DEPS_ASPECTS",
|
"DEPS_ASPECTS",
|
||||||
|
"DEFAULT_NG_COMPILER",
|
||||||
|
"DEFAULT_NG_XI18N",
|
||||||
|
"collect_node_modules_aspect",
|
||||||
"compile_ts",
|
"compile_ts",
|
||||||
"ts_providers_dict_to_struct",
|
"ts_providers_dict_to_struct",
|
||||||
"tsc_wrapped_tsconfig",
|
"tsc_wrapped_tsconfig",
|
||||||
|
"NodeModuleInfo",
|
||||||
)
|
)
|
||||||
load("@build_bazel_rules_nodejs//internal/common:node_module_info.bzl", "NodeModuleInfo", "collect_node_modules_aspect")
|
|
||||||
|
|
||||||
_DEFAULT_COMPILER = "@angular//:@angular/bazel/ngc-wrapped"
|
|
||||||
_DEFAULT_NG_XI18N = "@npm//@angular/bazel/bin:xi18n"
|
|
||||||
|
|
||||||
def compile_strategy(ctx):
|
def compile_strategy(ctx):
|
||||||
"""Detect which strategy should be used to implement ng_module.
|
"""Detect which strategy should be used to implement ng_module.
|
||||||
|
@ -396,7 +396,8 @@ def _compile_action(ctx, inputs, outputs, messages_out, tsconfig_file, node_opts
|
||||||
# Give the Angular compiler all the user-listed assets
|
# Give the Angular compiler all the user-listed assets
|
||||||
file_inputs = list(ctx.files.assets)
|
file_inputs = list(ctx.files.assets)
|
||||||
|
|
||||||
file_inputs.extend(_filter_ts_inputs(ctx.files.node_modules))
|
if hasattr(ctx.attr, "node_modules"):
|
||||||
|
file_inputs.extend(_filter_ts_inputs(ctx.files.node_modules))
|
||||||
|
|
||||||
# If the user supplies a tsconfig.json file, the Angular compiler needs to read it
|
# If the user supplies a tsconfig.json file, the Angular compiler needs to read it
|
||||||
if hasattr(ctx.attr, "tsconfig") and ctx.file.tsconfig:
|
if hasattr(ctx.attr, "tsconfig") and ctx.file.tsconfig:
|
||||||
|
@ -533,12 +534,12 @@ NG_MODULE_ATTRIBUTES = {
|
||||||
compiler works out of the box. Otherwise, you'll have to override
|
compiler works out of the box. Otherwise, you'll have to override
|
||||||
the compiler attribute manually.
|
the compiler attribute manually.
|
||||||
""",
|
""",
|
||||||
default = Label(_DEFAULT_COMPILER),
|
default = Label(DEFAULT_NG_COMPILER),
|
||||||
executable = True,
|
executable = True,
|
||||||
cfg = "host",
|
cfg = "host",
|
||||||
),
|
),
|
||||||
"ng_xi18n": attr.label(
|
"ng_xi18n": attr.label(
|
||||||
default = Label(_DEFAULT_NG_XI18N),
|
default = Label(DEFAULT_NG_XI18N),
|
||||||
executable = True,
|
executable = True,
|
||||||
cfg = "host",
|
cfg = "host",
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue