From 019a696a6a5f3ef4f53253558559b713e3e596dd Mon Sep 17 00:00:00 2001 From: Andrew Kushnir Date: Thu, 16 Jul 2020 10:09:02 -0700 Subject: [PATCH] Revert "build: remove obsolete Bazel function ctx.new_file (#38080)" (#38101) This reverts commit 406f801b7072f65491eac332056a8e444027dc10. The reason for the revert is the breakage in i18n subsystem in g3. PR Close #38101 --- packages/bazel/src/ng_module.bzl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/bazel/src/ng_module.bzl b/packages/bazel/src/ng_module.bzl index 30c2f806ef..fc67d73766 100644 --- a/packages/bazel/src/ng_module.bzl +++ b/packages/bazel/src/ng_module.bzl @@ -277,8 +277,11 @@ def _expected_outs(ctx): # TODO(alxhub): i18n is only produced by the legacy compiler currently. This should be re-enabled # when ngtsc can extract messages - if is_legacy_ngc: + if is_legacy_ngc and _is_bazel(): i18n_messages_files = [ctx.actions.declare_file(ctx.label.name + "_ngc_messages.xmb")] + elif is_legacy_ngc: + # write the xmb file to blaze-genfiles since that path appears in the translation console keys + i18n_messages_files = [ctx.new_file(ctx.genfiles_dir, ctx.label.name + "_ngc_messages.xmb")] else: i18n_messages_files = [] @@ -455,13 +458,19 @@ def ngc_compile_action( ) if is_legacy_ngc and messages_out != None: + # The base path is bin_dir because of the way the ngc + # compiler host is configured. Under Blaze, we need to explicitly + # point to genfiles/ to redirect the output. + # See _expected_outs above, where the output path for the message file + # is conditional on whether we are in Bazel. + message_file_path = messages_out[0].short_path if _is_bazel() else "../genfiles/" + messages_out[0].short_path ctx.actions.run( inputs = inputs, outputs = messages_out, executable = ctx.executable.ng_xi18n, arguments = (_EXTRA_NODE_OPTIONS_FLAGS + [tsconfig_file.path] + - [messages_out[0].short_path]), + [message_file_path]), progress_message = "Extracting Angular 2 messages (ng_xi18n)", mnemonic = "Angular2MessageExtractor", )