Skip to content

Commit e593998

Browse files
authored
Add get-tools command (#52)
1 parent 950b990 commit e593998

File tree

4 files changed

+44
-22
lines changed

4 files changed

+44
-22
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ github.com/wasilibs/go-shellcheck/cmd/shellcheck
5353
github.com/wasilibs/go-yamllint/cmd/yamllint
5454
```
5555

56+
The command `go run ./build get-tools` can be used to automatically add default
57+
tools to `go.mod`.
58+
5659
A list of all tasks can be seen with `go run ./build -h`. The commonly used tasks
5760
will likely be:
5861

build/go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module build
22

3-
go 1.24.0
3+
go 1.24.4
44

55
tool (
66
github.com/golangci/golangci-lint/v2/cmd/golangci-lint
@@ -32,7 +32,7 @@ require (
3232
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
3333
github.com/Masterminds/semver/v3 v3.3.1 // indirect
3434
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
35-
github.com/alecthomas/chroma/v2 v2.16.0 // indirect
35+
github.com/alecthomas/chroma/v2 v2.17.2 // indirect
3636
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
3737
github.com/alexkohler/nakedret/v2 v2.0.6 // indirect
3838
github.com/alexkohler/prealloc v1.0.0 // indirect
@@ -69,7 +69,7 @@ require (
6969
github.com/davidmz/go-pageant v1.0.2 // indirect
7070
github.com/denis-tingaikin/go-header v0.5.0 // indirect
7171
github.com/dlclark/regexp2 v1.11.5 // indirect
72-
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2 // indirect
72+
github.com/editorconfig/editorconfig-core-go/v2 v2.6.3 // indirect
7373
github.com/ettle/strcase v0.2.0 // indirect
7474
github.com/fatih/color v1.18.0 // indirect
7575
github.com/fatih/structtag v1.2.0 // indirect
@@ -96,7 +96,7 @@ require (
9696
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
9797
github.com/golangci/go-printf-func-name v0.1.0 // indirect
9898
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
99-
github.com/golangci/golangci-lint/v2 v2.1.5 // indirect
99+
github.com/golangci/golangci-lint/v2 v2.1.6 // indirect
100100
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
101101
github.com/golangci/misspell v0.6.0 // indirect
102102
github.com/golangci/plugin-module-register v0.1.1 // indirect
@@ -208,7 +208,7 @@ require (
208208
github.com/suzuki-shunsuke/pinact/v3 v3.3.0 // indirect
209209
github.com/suzuki-shunsuke/urfave-cli-v3-util v0.0.5 // indirect
210210
github.com/tdakkota/asciicheck v0.4.1 // indirect
211-
github.com/tetafro/godot v1.5.0 // indirect
211+
github.com/tetafro/godot v1.5.1 // indirect
212212
github.com/tetratelabs/wazero v1.9.0 // indirect
213213
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
214214
github.com/timonwong/loggercheck v0.11.0 // indirect
@@ -219,7 +219,7 @@ require (
219219
github.com/urfave/cli/v3 v3.3.7 // indirect
220220
github.com/uudashr/gocognit v1.2.0 // indirect
221221
github.com/uudashr/iface v1.3.1 // indirect
222-
github.com/wasilibs/go-prettier/v3 v3.5.3 // indirect
222+
github.com/wasilibs/go-prettier/v3 v3.6.0 // indirect
223223
github.com/wasilibs/go-shellcheck v0.10.0 // indirect
224224
github.com/wasilibs/go-yamllint v1.35.1 // indirect
225225
github.com/xanzy/go-gitlab v0.114.0 // indirect
@@ -230,7 +230,7 @@ require (
230230
github.com/ykadowak/zerologlint v0.1.5 // indirect
231231
github.com/zalando/go-keyring v0.2.6 // indirect
232232
gitlab.com/bosi/decorder v0.4.2 // indirect
233-
go-simpler.org/musttag v0.13.0 // indirect
233+
go-simpler.org/musttag v0.13.1 // indirect
234234
go-simpler.org/sloglint v0.11.0 // indirect
235235
go.augendre.info/fatcontext v0.8.0 // indirect
236236
go.uber.org/atomic v1.10.0 // indirect
@@ -242,7 +242,7 @@ require (
242242
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
243243
golang.org/x/mod v0.24.0 // indirect
244244
golang.org/x/oauth2 v0.30.0 // indirect
245-
golang.org/x/sync v0.13.0 // indirect
245+
golang.org/x/sync v0.15.0 // indirect
246246
golang.org/x/sys v0.33.0 // indirect
247247
golang.org/x/term v0.32.0 // indirect
248248
golang.org/x/text v0.24.0 // indirect

build/go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsu
6363
github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgzrVxUYBlgKNGquUo=
6464
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
6565
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
66-
github.com/alecthomas/chroma/v2 v2.16.0 h1:QC5ZMizk67+HzxFDjQ4ASjni5kWBTGiigRG1u23IGvA=
67-
github.com/alecthomas/chroma/v2 v2.16.0/go.mod h1:RVX6AvYm4VfYe/zsk7mjHueLDZor3aWCNE14TFlepBk=
66+
github.com/alecthomas/chroma/v2 v2.17.2 h1:Rm81SCZ2mPoH+Q8ZCc/9YvzPUN/E7HgPiPJD8SLV6GI=
67+
github.com/alecthomas/chroma/v2 v2.17.2/go.mod h1:RVX6AvYm4VfYe/zsk7mjHueLDZor3aWCNE14TFlepBk=
6868
github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU=
6969
github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E=
7070
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
@@ -160,8 +160,8 @@ github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42
160160
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
161161
github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
162162
github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
163-
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2 h1:dKG8sc7n321deIVRcQtwlMNoBEra7j0qQ8RwxO8RN0w=
164-
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2/go.mod h1:7dvD3GCm7eBw53xZ/lsiq72LqobdMg3ITbMBxnmJmqY=
163+
github.com/editorconfig/editorconfig-core-go/v2 v2.6.3 h1:XVUp6qW3BIkmM3/1EkrHpa6bL56APOynfXcZEmIgOhs=
164+
github.com/editorconfig/editorconfig-core-go/v2 v2.6.3/go.mod h1:ThHVc+hqbUsmE1wmK/MASpQEhCleWu1JDJDNhUOMy0c=
165165
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
166166
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
167167
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -271,8 +271,8 @@ github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUP
271271
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
272272
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
273273
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
274-
github.com/golangci/golangci-lint/v2 v2.1.5 h1:zDcxV8s7kgQW3cpQiVA633CZJnKN/0iEXibPDWO8sZo=
275-
github.com/golangci/golangci-lint/v2 v2.1.5/go.mod h1:RGcjZLyl9fSVLqxdKMrknPlspC3TYETLoKXyRG06RDo=
274+
github.com/golangci/golangci-lint/v2 v2.1.6 h1:LXqShFfAGM5BDzEOWD2SL1IzJAgUOqES/HRBsfKjI+w=
275+
github.com/golangci/golangci-lint/v2 v2.1.6/go.mod h1:EPj+fgv4TeeBq3TcqaKZb3vkiV5dP4hHHKhXhEhzci8=
276276
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
277277
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
278278
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
@@ -637,8 +637,8 @@ github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA
637637
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
638638
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
639639
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
640-
github.com/tetafro/godot v1.5.0 h1:aNwfVI4I3+gdxjMgYPus9eHmoBeJIbnajOyqZYStzuw=
641-
github.com/tetafro/godot v1.5.0/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
640+
github.com/tetafro/godot v1.5.1 h1:PZnjCol4+FqaEzvZg5+O8IY2P3hfY9JzRBNPv1pEDS4=
641+
github.com/tetafro/godot v1.5.1/go.mod h1:cCdPtEndkmqqrhiCfkmxDodMQJ/f3L1BCNskCUZdTwk=
642642
github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I=
643643
github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM=
644644
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk=
@@ -659,8 +659,8 @@ github.com/uudashr/gocognit v1.2.0 h1:3BU9aMr1xbhPlvJLSydKwdLN3tEUUrzPSSM8S4hDYR
659659
github.com/uudashr/gocognit v1.2.0/go.mod h1:k/DdKPI6XBZO1q7HgoV2juESI2/Ofj9AcHPZhBBdrTU=
660660
github.com/uudashr/iface v1.3.1 h1:bA51vmVx1UIhiIsQFSNq6GZ6VPTk3WNMZgRiCe9R29U=
661661
github.com/uudashr/iface v1.3.1/go.mod h1:4QvspiRd3JLPAEXBQ9AiZpLbJlrWWgRChOKDJEuQTdg=
662-
github.com/wasilibs/go-prettier/v3 v3.5.3 h1:Nrr8XJtAaXCR5ReKTvF1NSHmWDAEfZRqrLNA3ht7AFs=
663-
github.com/wasilibs/go-prettier/v3 v3.5.3/go.mod h1:3muD5KiW6jJ5p66FdyrmSDcYJnEQrrWEkDKg/QKuJzM=
662+
github.com/wasilibs/go-prettier/v3 v3.6.0 h1:PFMguyOOAtOnYdDjxyKyLIhwERbEzQMgRXAQPq6Tf4M=
663+
github.com/wasilibs/go-prettier/v3 v3.6.0/go.mod h1:Rx8tcnzu/osaN6wgej4R1FM6yKauF1XfK+CCnolO5tk=
664664
github.com/wasilibs/go-shellcheck v0.10.0 h1:zO8NYkHMLfwO3m3KBinN4Sr4DlXsBy/B2WEgGvljFaw=
665665
github.com/wasilibs/go-shellcheck v0.10.0/go.mod h1:twX/Dj9x4700GZHxIAr/Jdw6zV+S/qmtst/bSJEWfy8=
666666
github.com/wasilibs/go-yamllint v1.35.1 h1:r4zw1XYN3EgqLH3OIkj2cm1OsEMCP5TXIG+NP0LSF+s=
@@ -690,8 +690,8 @@ gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
690690
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
691691
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
692692
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
693-
go-simpler.org/musttag v0.13.0 h1:Q/YAW0AHvaoaIbsPj3bvEI5/QFP7w696IMUpnKXQfCE=
694-
go-simpler.org/musttag v0.13.0/go.mod h1:FTzIGeK6OkKlUDVpj0iQUXZLUO1Js9+mvykDQy9C5yM=
693+
go-simpler.org/musttag v0.13.1 h1:lw2sJyu7S1X8lc8zWUAdH42y+afdcCnHhWpnkWvd6vU=
694+
go-simpler.org/musttag v0.13.1/go.mod h1:8r450ehpMLQgvpb6sg+hV5Ur47eH6olp/3yEanfG97k=
695695
go-simpler.org/sloglint v0.11.0 h1:JlR1X4jkbeaffiyjLtymeqmGDKBDO1ikC6rjiuFAOco=
696696
go-simpler.org/sloglint v0.11.0/go.mod h1:CFDO8R1i77dlciGfPEPvYke2ZMx4eyGiEIWkyeW2Pvw=
697697
go.augendre.info/fatcontext v0.8.0 h1:2dfk6CQbDGeu1YocF59Za5Pia7ULeAM6friJ3LP7lmk=
@@ -843,8 +843,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
843843
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
844844
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
845845
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
846-
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
847-
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
846+
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
847+
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
848848
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
849849
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
850850
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=

standard.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,25 @@ func DefineTasks(opts ...Option) {
187187
}))
188188
}
189189

190+
if !conf.excluded("get-tools") {
191+
goyek.Define(goyek.Task{
192+
Name: "get-tools",
193+
Usage: "Adds default set of tools to build/go.mod",
194+
Action: func(a *goyek.A) {
195+
tools := []string{
196+
"github.com/golangci/golangci-lint/v2/cmd/golangci-lint",
197+
"github.com/reviewdog/reviewdog/cmd/reviewdog",
198+
"github.com/rhysd/actionlint/cmd/actionlint",
199+
"github.com/suzuki-shunsuke/pinact/v3/cmd/pinact",
200+
"github.com/wasilibs/go-prettier/v3/cmd/prettier",
201+
"github.com/wasilibs/go-shellcheck/cmd/shellcheck",
202+
"github.com/wasilibs/go-yamllint/cmd/yamllint",
203+
}
204+
cmd.Exec(a, "go get -tool "+strings.Join(tools, " "), cmd.Dir("build"))
205+
},
206+
})
207+
}
208+
190209
goyek.Define(goyek.Task{
191210
Name: "format",
192211
Usage: "Format code in various languages.",

0 commit comments

Comments
 (0)