From 44d60402c40a96b054b619d526d186f90572b87f Mon Sep 17 00:00:00 2001 From: Jack Chistyakov Date: Tue, 28 Jan 2025 04:04:19 -0800 Subject: [PATCH] go_list cleanup Summary: Better layout. #build_rule_type[go_library,go_binary,go_unittest,go_test] Reviewed By: leoleovich Differential Revision: D68721492 fbshipit-source-id: 278a72a33b5d64c35b7ff3dde53e3ab6cc2bf054 --- go/go_list.bzl | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/go/go_list.bzl b/go/go_list.bzl index 12118b0f5..892e9aef7 100644 --- a/go/go_list.bzl +++ b/go/go_list.bzl @@ -8,6 +8,7 @@ load("@prelude//:paths.bzl", "paths") load(":toolchain.bzl", "GoToolchainInfo", "get_toolchain_env_vars") +# Modeled after: https://pkg.go.dev/cmd/go/internal/list#pkg-variables GoListOut = record( name = field(str), imports = field(list[str], default = []), @@ -46,9 +47,28 @@ def go_list(ctx: AnalysisContext, pkg_name: str, srcs: list[Artifact], package_r if asan: all_tags.append("asan") - required_felds = "Name,Imports,GoFiles,CgoFiles,HFiles,CFiles,CXXFiles,SFiles,EmbedFiles,CgoCFLAGS,CgoCPPFLAGS,IgnoredGoFiles,IgnoredOtherFiles" + required_felds = [ + "Name", + "Imports", + "GoFiles", + "CgoFiles", + "HFiles", + "CFiles", + "CXXFiles", + "SFiles", + "EmbedFiles", + "CgoCFLAGS", + "CgoCPPFLAGS", + "IgnoredGoFiles", + "IgnoredOtherFiles", + ] if with_tests: - required_felds += ",TestImports,XTestImports,TestGoFiles,XTestGoFiles" + required_felds += [ + "TestImports", + "XTestImports", + "TestGoFiles", + "XTestGoFiles", + ] go_list_args = [ go_toolchain.go_wrapper, @@ -57,7 +77,7 @@ def go_list(ctx: AnalysisContext, pkg_name: str, srcs: list[Artifact], package_r ["--output", go_list_out.as_output()], "list", "-e", - "-json=" + required_felds, + "-json=" + ",".join(required_felds), ["-tags", ",".join(all_tags) if all_tags else []], ".", ]