From 75d176263b46d6c83b58c7fc930320f89ca62d0b Mon Sep 17 00:00:00 2001 From: Keith Smiley Date: Mon, 21 Jul 2025 23:41:01 +0000 Subject: [PATCH] Add support-path-mapping to mojo_library The only changes here are making sure we let the args object handle path mapping. This is slightly complicated by using the dirname for import paths, but ignoring the value from our provider. --- mojo/mojo_library.bzl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mojo/mojo_library.bzl b/mojo/mojo_library.bzl index 50c6c95..f03c41d 100644 --- a/mojo/mojo_library.bzl +++ b/mojo/mojo_library.bzl @@ -3,6 +3,9 @@ load("//mojo:providers.bzl", "MojoInfo") load("//mojo/private:utils.bzl", "MOJO_EXTENSIONS", "collect_mojoinfo") +def _format_include(arg): + return ["-I", arg.dirname] + def _mojo_library_implementation(ctx): mojo_toolchain = ctx.toolchains["//:toolchain_type"].mojo_toolchain_info @@ -10,7 +13,7 @@ def _mojo_library_implementation(ctx): args = ctx.actions.args() args.add("package") args.add("-strip-file-prefix=.") - args.add("-o", mojo_package.path) + args.add("-o", mojo_package) args.add_all(ctx.attr.copts) import_paths, transitive_mojopkgs = collect_mojoinfo(ctx.attr.deps + mojo_toolchain.implicit_deps) @@ -19,9 +22,9 @@ def _mojo_library_implementation(ctx): file_args = ctx.actions.args() for file in ctx.files.srcs: if not file.dirname.startswith(root_directory): - file_args.add("-I", file.dirname) + args.add_all([file], map_each = _format_include) - file_args.add_all(import_paths, before_each = "-I") + file_args.add_all(transitive_mojopkgs, map_each = _format_include) file_args.add(root_directory) ctx.actions.run( executable = mojo_toolchain.mojo, @@ -37,6 +40,9 @@ def _mojo_library_implementation(ctx): }, use_default_shell_env = True, toolchain = "//:toolchain_type", + execution_requirements = { + "supports-path-mapping": "1", + }, ) transitive_runfiles = []