Skip to content

Commit cbc0126

Browse files
authored
Use tool directives in go.mod (#2576)
* Use `tool` directives in `go.mod` Remove `tools/` package and instead mark tools directly in `go.mod` with `tool` directive (support added in go1.24). This has the added benefit of making tools indirect dependencies. See: https://go.dev/ref/mod#go-mod-file-tool Signed-off-by: Hamza El-Saawy <[email protected]> * PR: forgot test/go.mod Signed-off-by: Hamza El-Saawy <[email protected]> --------- Signed-off-by: Hamza El-Saawy <[email protected]>
1 parent 04d91ee commit cbc0126

File tree

23 files changed

+51
-80
lines changed

23 files changed

+51
-80
lines changed

cmd/containerd-shim-runhcs-v1/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const usage = ``
3131
const ttrpcAddressEnv = "TTRPC_ADDRESS"
3232

3333
// Add a manifest to get proper Windows version detection.
34-
//go:generate go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
34+
//go:generate go tool github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
3535

3636
// `-ldflags '-X ...'` only works if the variable is uninitialized or set to a constant value.
3737
// keep empty and override with data from [internal/version] only if empty to allow

cmd/runhcs/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
)
2121

2222
// Add a manifest to get proper Windows version detection.
23-
//go:generate go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
23+
//go:generate go tool github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
2424

2525
// `-ldflags '-X ...'` only works if the variable is uninitialized or set to a constant value.
2626
// keep empty and override with data from [internal/version] only if empty to allow

cmd/wclayer/wclayer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
)
1414

1515
// Add a manifest to get proper Windows version detection.
16-
//go:generate go run github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
16+
//go:generate go tool github.com/josephspurrier/goversioninfo/cmd/goversioninfo -platform-specific
1717

1818
var usage = `Windows Container layer utility
1919

computestorage/storage.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2"
88
)
99

10-
//go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go storage.go
10+
//go:generate go tool github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go storage.go
1111

1212
//sys hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) = computestorage.HcsImportLayer?
1313
//sys hcsExportLayer(layerPath string, exportFolderPath string, layerData string, options string) (hr error) = computestorage.HcsExportLayer?

go.mod

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,27 @@ module github.com/Microsoft/hcsshim
22

33
go 1.24.0
44

5+
// protobuf/gRPC/ttrpc generation
6+
tool (
7+
github.com/containerd/protobuild
8+
github.com/containerd/protobuild/cmd/go-fix-acronym
9+
github.com/containerd/ttrpc/cmd/protoc-gen-go-ttrpc
10+
google.golang.org/grpc/cmd/protoc-gen-go-grpc
11+
google.golang.org/protobuf/cmd/protoc-gen-go
12+
)
13+
14+
// used in go:generate directives
15+
tool (
16+
// generate Win32 API code
17+
github.com/Microsoft/go-winio/tools/mkwinsyscall
18+
19+
// create syso files for manifesting
20+
github.com/josephspurrier/goversioninfo/cmd/goversioninfo
21+
22+
// mock gRPC client and servers
23+
go.uber.org/mock/mockgen
24+
)
25+
526
require (
627
github.com/Microsoft/cosesign1go v1.4.0
728
github.com/Microsoft/didx509go v0.0.3
@@ -16,12 +37,10 @@ require (
1637
github.com/containerd/errdefs/pkg v0.3.0
1738
github.com/containerd/go-runc v1.1.0
1839
github.com/containerd/platforms v1.0.0-rc.1
19-
github.com/containerd/protobuild v0.3.0
2040
github.com/containerd/ttrpc v1.2.7
2141
github.com/containerd/typeurl/v2 v2.2.3
2242
github.com/google/go-cmp v0.7.0
2343
github.com/google/go-containerregistry v0.20.1
24-
github.com/josephspurrier/goversioninfo v1.5.0
2544
github.com/linuxkit/virtsock v0.0.0-20241009230534-cb6a20cc0422
2645
github.com/mattn/go-shellwords v1.0.12
2746
github.com/moby/sys/user v0.4.0
@@ -43,7 +62,6 @@ require (
4362
golang.org/x/sync v0.16.0
4463
golang.org/x/sys v0.39.0
4564
google.golang.org/grpc v1.75.0
46-
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1
4765
google.golang.org/protobuf v1.36.7
4866
)
4967

@@ -59,6 +77,7 @@ require (
5977
github.com/containerd/fifo v1.1.0 // indirect
6078
github.com/containerd/log v0.1.0 // indirect
6179
github.com/containerd/plugin v1.0.0 // indirect
80+
github.com/containerd/protobuild v0.3.0 // indirect
6281
github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect
6382
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
6483
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
@@ -81,6 +100,7 @@ require (
81100
github.com/golang/protobuf v1.5.4 // indirect
82101
github.com/google/uuid v1.6.0 // indirect
83102
github.com/gorilla/mux v1.8.1 // indirect
103+
github.com/josephspurrier/goversioninfo v1.5.0 // indirect
84104
github.com/klauspost/compress v1.18.0 // indirect
85105
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
86106
github.com/lestrrat-go/blackmagic v1.0.2 // indirect
@@ -124,6 +144,7 @@ require (
124144
golang.org/x/text v0.28.0 // indirect
125145
golang.org/x/tools v0.36.0 // indirect
126146
google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect
147+
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 // indirect
127148
gopkg.in/yaml.v3 v3.0.1 // indirect
128149
sigs.k8s.io/yaml v1.4.0 // indirect
129150
)

hcn/hcn.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/Microsoft/go-winio/pkg/guid"
1111
)
1212

13-
//go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcn.go
13+
//go:generate go tool github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcn.go
1414

1515
/// HNS V1 API
1616

hcsshim.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/Microsoft/hcsshim/internal/hcserror"
1212
)
1313

14-
//go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcsshim.go
14+
//go:generate go tool github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcsshim.go
1515

1616
//sys SetCurrentThreadCompartmentId(compartmentId uint32) (hr error) = iphlpapi.SetCurrentThreadCompartmentId
1717

internal/computeagent/doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
// used for ncproxy.
66
package computeagent
77

8-
//go:generate go run go.uber.org/mock/mockgen -source=computeagent_ttrpc.pb.go -package=computeagent_mock -destination=mock\computeagent_mock.pb.go
8+
//go:generate go tool go.uber.org/mock/mockgen -source=computeagent_ttrpc.pb.go -package=computeagent_mock -destination=mock\computeagent_mock.pb.go

internal/hns/hns.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package hns
22

33
import "fmt"
44

5-
//go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hns.go
5+
//go:generate go tool github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hns.go
66

77
//sys _hnsCall(method string, path string, object string, response **uint16) (hr error) = vmcompute.HNSCall?
88

internal/interop/interop.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"unsafe"
88
)
99

10-
//go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go interop.go
10+
//go:generate go tool github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go interop.go
1111

1212
//sys coTaskMemFree(buffer unsafe.Pointer) = api_ms_win_core_com_l1_1_0.CoTaskMemFree
1313

0 commit comments

Comments
 (0)