Skip to content

Commit 66c7a8a

Browse files
jsharpeclaude
andcommitted
Fix buildinfo generation and formatting issues
This commit addresses three test failures: 1. metadata_test - buildinfo was not being generated for binaries with only internal deps 2. external_deps_test - same issue as above 3. buildifier_test - Bazel files needed reformatting Changes: - importcfg.go: Generate buildinfo whenever buildinfoFile is provided, not just when deps list is non-empty. This ensures metadata is embedded even when all dependencies are internal (filtered out). - Reformat Bazel files with buildifier to fix formatting issues (sorted load statements, added blank lines per style guide) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 2aa512b commit 66c7a8a

File tree

6 files changed

+12
-9
lines changed

6 files changed

+12
-9
lines changed

go/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ bzl_library(
5151
"//go/private:context",
5252
"//go/private:go_toolchain",
5353
"//go/private:providers",
54+
"//go/private/aspects:all_rules",
5455
"//go/private/rules:library",
5556
"//go/private/rules:nogo",
5657
"//go/private/rules:sdk",
57-
"//go/private/aspects:all_rules",
5858
"//go/private/rules:source",
5959
"//go/private/rules:wrappers",
6060
"//go/private/tools:path",

go/private/actions/link.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def emit_link(
8181
if hasattr(info, "module") and hasattr(info, "version"):
8282
module = info.module
8383
version = info.version
84+
8485
# Use first version (by sorted label order) if duplicates exist
8586
# This makes conflicts deterministic and debuggable
8687
if module not in version_map:

go/private/aspects/buildinfo_aspect.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def _buildinfo_aspect_impl(target, ctx):
5757
attr_value = ctx.rule.attr.package_metadata
5858
if attr_value:
5959
package_metadata = attr_value if type(attr_value) == type([]) else [attr_value]
60+
6061
# Store the metadata targets directly for later processing
6162
direct_metadata.extend(package_metadata)
6263

go/private/rules/binary.bzl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ load(
4747
"GoInfo",
4848
"GoSDK",
4949
)
50-
load(
51-
"//go/private/rules:transition.bzl",
52-
"go_transition",
53-
"non_go_transition",
54-
)
5550
load(
5651
"//go/private/aspects:buildinfo_aspect.bzl",
5752
"BuildInfoMetadata",
5853
"buildinfo_aspect",
5954
)
55+
load(
56+
"//go/private/rules:transition.bzl",
57+
"go_transition",
58+
"non_go_transition",
59+
)
6060

6161
_EMPTY_DEPSET = depset([])
6262

go/tools/builders/importcfg.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,9 @@ package with this path is linked.`,
219219
fmt.Fprintf(buf, "packagefile %s=%s\n", arc.packagePath, arc.file)
220220
}
221221

222-
// Generate buildinfo if dependencies are provided
223-
if cfg.deps != nil && len(cfg.deps) > 0 {
222+
// Generate buildinfo if a buildinfo file was provided
223+
// This ensures metadata is embedded even when there are no external dependencies
224+
if cfg.buildinfoFile != "" {
224225
buildInfo := BuildInfo{
225226
GoVersion: runtime.Version(),
226227
Path: cfg.path,

tests/core/buildinfo/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
44
test_suite(
55
name = "buildinfo",
66
tests = [
7-
":metadata_test",
87
":external_deps_test",
8+
":metadata_test",
99
],
1010
)
1111

0 commit comments

Comments
 (0)