From b0a4176194fcf379e4ab4a8ac9f213f34bc9771c Mon Sep 17 00:00:00 2001 From: Matthew Clarkson Date: Thu, 7 Dec 2023 21:07:32 +0000 Subject: [PATCH] fix(resolved): propagate `.bat`/`.com` extensions Needed for Windows to execute the scripts correctly under `cmd.exe`. --- e2e/MODULE.bazel.lock | 35 +---------------------------------- toolchain/resolved.bzl | 7 ++++++- 2 files changed, 7 insertions(+), 35 deletions(-) diff --git a/e2e/MODULE.bazel.lock b/e2e/MODULE.bazel.lock index 07eda74..009e98d 100644 --- a/e2e/MODULE.bazel.lock +++ b/e2e/MODULE.bazel.lock @@ -835,7 +835,7 @@ "moduleExtensions": { "//:MODULE.bazel%_repo_rules": { "general": { - "bzlTransitiveDigest": "iStpKxMrukZgBzg8rLfwr6dfXDdERc2Oq/kQnPw31XU=", + "bzlTransitiveDigest": "9JxXrmfNb78Xi25kLIofG+wYfaaT/4WtRWFscwj7N9s=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -1507,39 +1507,6 @@ } } } - }, - "@@rules_toolchain~override//:MODULE.bazel%_repo_rules": { - "general": { - "bzlTransitiveDigest": "4dF26p1sSSHcbwj60ndza5fdK5QeD94q2c21V9FovL0=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local": { - "bzlFile": "@@rules_toolchain~override//toolchain/local/triplet:repository.bzl", - "ruleClassName": "triplet", - "attributes": { - "name": "rules_toolchain~override~_repo_rules~local" - } - } - } - } - }, - "@@rules_toolchain~override//toolchain/export:defs.bzl%toolchain_export": { - "general": { - "bzlTransitiveDigest": "GaX6IuOvOKsD8efBm9Fy5gFKF6piHEW7gvUENxCsD9M=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "export": { - "bzlFile": "@@rules_toolchain~override//toolchain/export/symlink:repository.bzl", - "ruleClassName": "symlink", - "attributes": { - "name": "rules_toolchain~override~toolchain_export~export", - "target": "@@_main~_repo_rules~fixture//:fixture" - } - } - } - } } } } diff --git a/toolchain/resolved.bzl b/toolchain/resolved.bzl index 17fd584..c0df8d5 100644 --- a/toolchain/resolved.bzl +++ b/toolchain/resolved.bzl @@ -27,10 +27,15 @@ def implementation(ctx): basename = ctx.attr.basename or ctx.label.name toolchain = ctx.toolchains[ctx.attr.toolchain_type.label] + target = toolchain.executable + extension = target.extension + if extension in ("bat", "com"): + basename = "{}.{}".format(basename, extension) + executable = ctx.actions.declare_file(basename) ctx.actions.symlink( output = executable, - target_file = toolchain.executable, + target_file = target, is_executable = True, ) -- GitLab