Skip to content

Commit 50e4f72

Browse files
authored
Merge pull request #122 from zcolleen/master
Option for go run in go:generate
2 parents 8e4ea19 + 42e3e46 commit 50e4f72

File tree

6 files changed

+30
-20
lines changed

6 files changed

+30
-20
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ generate:
2222
go run ./cmd/minimock/minimock.go -i ./tests.actor -o ./tests/actor_mock.go
2323
go run ./cmd/minimock/minimock.go -i ./tests.formatterAlias -o ./tests/formatter_alias_mock.go
2424
go run ./cmd/minimock/minimock.go -i ./tests.formatterType -o ./tests/formatter_type_mock.go
25-
go run ./cmd/minimock/minimock.go -i ./tests.reader -o ./tests/reader_mock.go
25+
go run ./cmd/minimock/minimock.go -i ./tests.reader -o ./tests/reader_mock.go -gr
2626

2727
./bin:
2828
mkdir ./bin

cmd/minimock/minimock.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"text/template"
1616
"time"
1717

18-
minimock "github.com/gojuno/minimock/v3"
18+
"github.com/gojuno/minimock/v3"
1919
"github.com/gojuno/minimock/v3/internal/types"
2020
"github.com/hexdigest/gowrap/generator"
2121
"github.com/hexdigest/gowrap/pkg"
@@ -51,11 +51,12 @@ var helpers = template.FuncMap{
5151

5252
type (
5353
options struct {
54-
interfaces []interfaceInfo
55-
noGenerate bool
56-
suffix string
57-
mockNames []string
58-
packageNames []string
54+
interfaces []interfaceInfo
55+
noGenerate bool
56+
suffix string
57+
mockNames []string
58+
packageNames []string
59+
goGenerateGoRun bool
5960
}
6061

6162
interfaceInfo struct {
@@ -162,6 +163,7 @@ func run(opts *options) (err error) {
162163
"GenerateInstruction": !opts.noGenerate,
163164
"Version": version,
164165
"PackageName": packageName,
166+
"GenerateGoRun": opts.goGenerateGoRun,
165167
},
166168
Vars: map[string]interface{}{},
167169
Funcs: helpers,
@@ -382,6 +384,8 @@ func processArgs(args []string, stdout, stderr io.Writer) (*options, error) {
382384
fs := flag.NewFlagSet("", flag.ContinueOnError)
383385

384386
fs.BoolVar(&opts.noGenerate, "g", false, "don't put go:generate instruction into the generated code")
387+
fs.BoolVar(&opts.goGenerateGoRun, "gr", false, `changes go:generate line from "//go:generate minimock args..." to "//go:generate go run github.com/gojuno/minimock/v3/cmd/minimock",
388+
useful while controlling minimock version with go mod`)
385389
fs.StringVar(&opts.suffix, "s", "_mock_test.go", "mock file suffix")
386390

387391
input := fs.String("i", "*", "comma-separated names of the interfaces to mock, i.e fmt.Stringer,io.Reader\nuse io.* notation to generate mocks for all interfaces in the \"io\" package")

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ require (
66
github.com/pkg/errors v0.9.1
77
github.com/pmezard/go-difflib v1.0.0
88
github.com/stretchr/testify v1.8.4
9-
golang.org/x/tools v0.1.12
9+
golang.org/x/tools v0.6.0
1010
google.golang.org/protobuf v1.30.0
1111
)
1212

1313
require (
1414
github.com/kr/text v0.2.0 // indirect
15-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
16-
golang.org/x/sys v0.5.0 // indirect
17-
golang.org/x/text v0.3.8 // indirect
15+
golang.org/x/mod v0.8.0 // indirect
16+
golang.org/x/sys v0.15.0 // indirect
17+
golang.org/x/text v0.14.0 // indirect
1818
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
1919
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
2020
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@ github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XF
2121
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
2222
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
2323
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
24-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
25-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
26-
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
27-
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
28-
golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
29-
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
30-
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
31-
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
24+
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
25+
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
26+
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
27+
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
28+
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
29+
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
30+
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
31+
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
32+
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
33+
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
3234
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
3335
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U=
3436
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/templates/header.tmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
package {{$packageName}}
99

1010
{{if $.Options.HeaderVars.GenerateInstruction}}
11+
{{if $.Options.HeaderVars.GenerateGoRun}}
12+
//go:generate go run github.com/gojuno/minimock/v3/cmd/minimock -i {{$.SourcePackage.PkgPath}}.{{$.Options.InterfaceName}} -o {{$.Options.HeaderVars.OutputFile}} -n {{(title (index $.Vars "MockName"))}} -p {{ $packageName }} -gr
13+
{{else}}
1114
//go:generate minimock -i {{$.SourcePackage.PkgPath}}.{{$.Options.InterfaceName}} -o {{$.Options.HeaderVars.OutputFile}} -n {{(title (index $.Vars "MockName"))}} -p {{ $packageName }}
15+
{{end}}
1216
{{end}}
1317

1418
import (

tests/reader_mock.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)