|  | Copyright 2020 The Monogon Project Authors. | 
|  |  | 
|  | Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | you may not use this file except in compliance with the License. | 
|  | You may obtain a copy of the License at | 
|  |  | 
|  | http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  | 
|  | Unless required by applicable law or agreed to in writing, software | 
|  | distributed under the License is distributed on an "AS IS" BASIS, | 
|  | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | See the License for the specific language governing permissions and | 
|  | limitations under the License. | 
|  |  | 
|  |  | 
|  | From 6313aef65ed37aa971737058af391f5be1ae976c Mon Sep 17 00:00:00 2001 | 
|  | From: Lorenz Brun <lorenz@nexantic.com> | 
|  | Date: Wed, 3 Feb 2021 18:11:03 +0100 | 
|  | Subject: [PATCH] Don't use run_shell with list as cmd | 
|  |  | 
|  | Going upstream at https://github.com/kubernetes/repo-infra/pull/225 | 
|  | --- | 
|  | defs/go.bzl | 26 ++++++++++++++------------ | 
|  | 1 file changed, 14 insertions(+), 12 deletions(-) | 
|  |  | 
|  | diff --git a/defs/go.bzl b/defs/go.bzl | 
|  | index 21cffdd..f4617e1 100644 | 
|  | --- a/defs/go.bzl | 
|  | +++ b/defs/go.bzl | 
|  | @@ -63,16 +63,7 @@ def _go_genrule_impl(ctx): | 
|  |  | 
|  | srcs = [src for srcs in ctx.attr.srcs for src in srcs.files.to_list()] | 
|  |  | 
|  | -    deps = depset( | 
|  | -        gopath_files + srcs, | 
|  | -        transitive = | 
|  | -            # tools | 
|  | -            [dep.files for dep in ctx.attr.tools] + | 
|  | -            # go toolchain | 
|  | -            [depset(go.sdk.libs + go.sdk.srcs + go.sdk.tools + [go.sdk.go])], | 
|  | -    ) | 
|  | - | 
|  | -    _, cmd, _ = ctx.resolve_command( | 
|  | +    inputs, cmd, input_manifests = ctx.resolve_command( | 
|  | command = ctx.attr.cmd, | 
|  | attribute = "cmd", | 
|  | expand_locations = True, | 
|  | @@ -83,6 +74,15 @@ def _go_genrule_impl(ctx): | 
|  | tools = ctx.attr.tools, | 
|  | ) | 
|  |  | 
|  | +    deps = depset( | 
|  | +        gopath_files + srcs + inputs, | 
|  | +        transitive = | 
|  | +            # tools | 
|  | +            [dep.files for dep in ctx.attr.tools] + | 
|  | +            # go toolchain | 
|  | +            [depset(go.sdk.libs + go.sdk.srcs + go.sdk.tools + [go.sdk.go])], | 
|  | +    ) | 
|  | + | 
|  | env = dict() | 
|  | env.update(ctx.configuration.default_shell_env) | 
|  | env.update(go.env) | 
|  | @@ -92,11 +92,13 @@ def _go_genrule_impl(ctx): | 
|  | "GOROOT": paths.dirname(go.sdk.root_file.path), | 
|  | }) | 
|  |  | 
|  | -    ctx.actions.run_shell( | 
|  | +    ctx.actions.run( | 
|  | inputs = deps, | 
|  | outputs = ctx.outputs.outs, | 
|  | env = env, | 
|  | -        command = cmd, | 
|  | +        executable = cmd[0], | 
|  | +        arguments = cmd[1:], | 
|  | +        input_manifests = input_manifests, | 
|  | progress_message = "%s %s" % (ctx.attr.message, ctx), | 
|  | mnemonic = "GoGenrule", | 
|  | ) | 
|  | -- | 
|  | 2.25.1 | 
|  |  |