mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 15:12:02 +00:00
nogo: add gocritic (#49103)
Add gocritic from https://sourcegraph.com/github.com/go-critic/go-critic ### Why do we have our own analyzer run implemention We cannot use the analyzer exported by the `checkers/analyzer` package directly since it doesn't allow us to specify which linters we want to disable ### Test plan * `bazel build //cmd/` - disabled linters aren't reported issues * CI ``` <!-- All pull requests REQUIRE a test plan: https://docs.sourcegraph.com/dev/background-information/testing_principles -->
This commit is contained in:
parent
d7070e3f37
commit
240c322bc3
1
BUILD.bazel
generated
1
BUILD.bazel
generated
@ -209,6 +209,7 @@ nogo(
|
||||
"//dev/linters/bodyclose",
|
||||
"//dev/linters/forbidigo",
|
||||
"//dev/linters/ineffassign",
|
||||
"//dev/linters/gocritic",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@ -4,14 +4,27 @@ go 1.19
|
||||
|
||||
require (
|
||||
github.com/ashanbrown/forbidigo v1.5.1
|
||||
github.com/go-critic/go-critic v0.6.7
|
||||
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28
|
||||
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e
|
||||
golang.org/x/tools v0.3.0
|
||||
golang.org/x/tools v0.6.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/google/go-cmp v0.5.6 // indirect
|
||||
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astcopy v1.0.2 // indirect
|
||||
github.com/go-toolsmith/astequal v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astfmt v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astp v1.1.0 // indirect
|
||||
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
||||
github.com/go-toolsmith/typep v1.1.0 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
||||
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||
github.com/quasilyte/go-ruleguard v0.3.19 // indirect
|
||||
github.com/quasilyte/gogrep v0.5.0 // indirect
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
||||
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
|
||||
@ -3,10 +3,32 @@ github.com/ashanbrown/forbidigo v1.5.1/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/go-critic/go-critic v0.6.7 h1:1evPrElnLQ2LZtJfmNDzlieDhjnq36SLgNzisx06oPM=
|
||||
github.com/go-critic/go-critic v0.6.7/go.mod h1:fYZUijFdcnxgx6wPjQA2QEjIRaNCT0gO8bhexy6/QmE=
|
||||
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
|
||||
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
|
||||
github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0=
|
||||
github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y=
|
||||
github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
|
||||
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
|
||||
github.com/go-toolsmith/astequal v1.1.0 h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw=
|
||||
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
|
||||
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
|
||||
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
|
||||
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
|
||||
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
|
||||
github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5 h1:eD9POs68PHkwrx7hAB78z1cb6PfGq/jyWn3wJywsH1o=
|
||||
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
|
||||
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
|
||||
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
|
||||
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
|
||||
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
|
||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U=
|
||||
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
|
||||
@ -25,6 +47,14 @@ github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT9
|
||||
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/quasilyte/go-ruleguard v0.3.19 h1:tfMnabXle/HzOb5Xe9CUZYWXKfkS1KwRmZyPmD9nVcc=
|
||||
github.com/quasilyte/go-ruleguard v0.3.19/go.mod h1:lHSn69Scl48I7Gt9cX3VrbsZYvYiBYszZOZW4A+oTEw=
|
||||
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
|
||||
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY=
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
@ -42,12 +72,15 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
|
||||
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 h1:6WHiuFL9FNjg8RljAaT7FNUuKDbvMqS1i5cr2OE2sLQ=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
|
||||
golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
|
||||
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
@ -92,12 +125,12 @@ golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0t
|
||||
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
|
||||
golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM=
|
||||
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
|
||||
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
||||
13
dev/linters/gocritic/BUILD.bazel
generated
Normal file
13
dev/linters/gocritic/BUILD.bazel
generated
Normal file
@ -0,0 +1,13 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "gocritic",
|
||||
srcs = ["gocritic.go"],
|
||||
importpath = "github.com/sourcegraph/sourcegraph/dev/linters/gocritic",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"@com_github_gocritic_gocritic//framework/linter:linter",
|
||||
"@org_golang_x_tools//go/analysis:go_default_library",
|
||||
"@org_golang_x_exp_typeparams//:go_default_library",
|
||||
],
|
||||
)
|
||||
112
dev/linters/gocritic/gocritic.go
Normal file
112
dev/linters/gocritic/gocritic.go
Normal file
@ -0,0 +1,112 @@
|
||||
package gocritic
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/go-critic/go-critic/framework/linter"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
)
|
||||
|
||||
var Analyzer *analysis.Analyzer = createAnalyzer()
|
||||
|
||||
// DisabledLinters is a list of linter names that should be disabled and not be used during analysis
|
||||
var DisabledLinters = []string{
|
||||
"appendAssign",
|
||||
"assignOp",
|
||||
"commentFormatting",
|
||||
"deprecatedComment",
|
||||
"exitAfterDefer",
|
||||
"ifElseChain",
|
||||
"singleCaseSwitch",
|
||||
}
|
||||
|
||||
func createAnalyzer() *analysis.Analyzer {
|
||||
linters := GetEnabledLinters(DisabledLinters...)
|
||||
|
||||
return &analysis.Analyzer{
|
||||
Name: "gocritic",
|
||||
Doc: "linter from go-critic/go-critic, modified to be runnable in nogo",
|
||||
Run: runWithLinters(linters),
|
||||
}
|
||||
}
|
||||
|
||||
// runWithLinters is copied from https://sourcegraph.com/github.com/go-critic/go-critic@3f8d719ce34bb78eacfdb8fef52228aff8cbdb10/-/blob/checkers/analyzer/run.go?L27
|
||||
// modifications: manually specify the checkers instead of parsing it from command line args
|
||||
func runWithLinters(enabledLinters []*linter.CheckerInfo) func(*analysis.Pass) (interface{}, error) {
|
||||
return func(pass *analysis.Pass) (interface{}, error) {
|
||||
ctx := linter.NewContext(pass.Fset, pass.TypesSizes)
|
||||
ctx.SetPackageInfo(pass.TypesInfo, pass.Pkg)
|
||||
|
||||
checkers, err := toCheckers(ctx, enabledLinters)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, f := range pass.Files {
|
||||
filename := filepath.Base(pass.Fset.Position(f.Pos()).Filename)
|
||||
ctx.SetFileInfo(filename, f)
|
||||
for _, c := range checkers {
|
||||
warnings := c.Check(f)
|
||||
for _, warning := range warnings {
|
||||
diag := analysis.Diagnostic{
|
||||
Pos: warning.Pos,
|
||||
Message: fmt.Sprintf("%s: %s", c.Info.Name, warning.Text),
|
||||
}
|
||||
if warning.HasQuickFix() {
|
||||
diag.SuggestedFixes = []analysis.SuggestedFix{
|
||||
{
|
||||
Message: "suggested replacement",
|
||||
TextEdits: []analysis.TextEdit{
|
||||
{
|
||||
Pos: warning.Suggestion.From,
|
||||
End: warning.Suggestion.To,
|
||||
NewText: warning.Suggestion.Replacement,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
pass.Report(diag)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
func toCheckers(ctx *linter.Context, linters []*linter.CheckerInfo) ([]*linter.Checker, error) {
|
||||
checkers := []*linter.Checker{}
|
||||
|
||||
for _, l := range linters {
|
||||
c, err := linter.NewChecker(ctx, l)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
checkers = append(checkers, c)
|
||||
}
|
||||
|
||||
return checkers, nil
|
||||
}
|
||||
|
||||
func GetEnabledLinters(disabledLinters ...string) []*linter.CheckerInfo {
|
||||
all := linter.GetCheckersInfo()
|
||||
|
||||
enabled := []*linter.CheckerInfo{}
|
||||
for _, l := range all {
|
||||
if !isDisabled(l, disabledLinters) {
|
||||
enabled = append(enabled, l)
|
||||
}
|
||||
}
|
||||
|
||||
return enabled
|
||||
}
|
||||
|
||||
func isDisabled(linter *linter.CheckerInfo, disabledLinters []string) bool {
|
||||
for _, d := range disabledLinters {
|
||||
if d == linter.Name {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
106
linter_deps.bzl
106
linter_deps.bzl
@ -35,9 +35,115 @@ def linter_dependencies():
|
||||
|
||||
go_repository(
|
||||
name = "com_github_gordonklaus_ineffassign",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/gordonklaus/ineffassign",
|
||||
version = "v0.0.0-20230107090616-13ace0543b28",
|
||||
sum = "h1:9alfqbrhuD+9fLZ4iaAVwhlp5PEhmnBt7yvK2Oy5C1U=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_gocritic_gocritic",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-critic/go-critic",
|
||||
version = "v0.6.7",
|
||||
sum = "h1:1evPrElnLQ2LZtJfmNDzlieDhjnq36SLgNzisx06oPM=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_astcast",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/astcast",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_astcopy",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/astcopy",
|
||||
version = "v1.0.2",
|
||||
sum = "h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_astequal",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/astequal",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_astfmt",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/astfmt",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_astp",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/astp",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_pkgload",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/pkgload",
|
||||
version = "v1.0.2-0.20220101231613-e814995d17c5",
|
||||
sum = "h1:eD9POs68PHkwrx7hAB78z1cb6PfGq/jyWn3wJywsH1o=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_strparse",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/strparse",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_go_toolsmith_typep",
|
||||
build_file_proto_mode = "disable_global",
|
||||
importpath = "github.com/go-toolsmith/typep",
|
||||
version = "v1.1.0",
|
||||
sum = "h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_quasilyte_go_ruleguard",
|
||||
importpath = "github.com/quasilyte/go-ruleguard",
|
||||
version = "v0.3.19",
|
||||
sum = "h1:tfMnabXle/HzOb5Xe9CUZYWXKfkS1KwRmZyPmD9nVcc=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_quasilyte_gogrep",
|
||||
importpath = "github.com/quasilyte/gogrep",
|
||||
version = "v0.5.0",
|
||||
sum = "h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_quasilyte_regex_syntax",
|
||||
importpath = "github.com/quasilyte/regex/syntax",
|
||||
version = "v0.0.0-20200407221936-30656e2c4a95",
|
||||
sum = "h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "com_github_quasilyte_stdinfo",
|
||||
importpath = "github.com/quasilyte/stdinfo",
|
||||
version = "v0.0.0-20220114132959-f7386bf02567",
|
||||
sum = "h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=",
|
||||
)
|
||||
|
||||
go_repository(
|
||||
name = "org_golang_x_exp_typeparams",
|
||||
importpath = "golang.org/x/exp/typeparams",
|
||||
version = "v0.0.0-20230203172020-98cc5a0785f9",
|
||||
sum = "h1:6WHiuFL9FNjg8RljAaT7FNUuKDbvMqS1i5cr2OE2sLQ=",
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user