Skip to content

Commit

Permalink
Add --write_command_comment=false option (#153)
Browse files Browse the repository at this point in the history
The invocation command can be user specific, especially if absolute
paths are used for the destination. This in turn can cause very large
needless diffs that will create lots of source control noise and be
distracting in PRs.

To remove these command comments simply pass
`--write_command_comment=false` on the CLI. The default behavior is
maintained.

Fixes #104.
  • Loading branch information
sodul authored Feb 7, 2024
1 parent 39ddc38 commit 2c718f2
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions mockgen/mockgen.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ var (
mockNames = flag.String("mock_names", "", "Comma-separated interfaceName=mockName pairs of explicit mock names to use. Mock names default to 'Mock'+ interfaceName suffix.")
packageOut = flag.String("package", "", "Package of the generated code; defaults to the package of the input with a 'mock_' prefix.")
selfPackage = flag.String("self_package", "", "The full package import path for the generated code. The purpose of this flag is to prevent import cycles in the generated code by trying to include its own package. This can happen if the mock's package is set to one of its inputs (usually the main one) and the output is stdio so mockgen cannot detect the final output package. Setting this flag will then tell mockgen which import to exclude.")
writeCmdComment = flag.Bool("write_command_comment", true, "Writes the command used as a comment if true.")
writePkgComment = flag.Bool("write_package_comment", true, "Writes package documentation comment (godoc) if true.")
writeSourceComment = flag.Bool("write_source_comment", true, "Writes original file (source mode) or interface names (reflect mode) comment if true.")
writeGenerateDirective = flag.Bool("write_generate_directive", false, "Add //go:generate directive to regenerate the mock")
Expand Down Expand Up @@ -313,16 +314,18 @@ func (g *generator) Generate(pkg *model.Package, outputPkgName string, outputPac
g.p("// Source: %v (interfaces: %v)", g.srcPackage, g.srcInterfaces)
}
}
g.p("//")
g.p("// Generated by this command:")
g.p("//")
// only log the name of the executable, not the full path
name := filepath.Base(os.Args[0])
if runtime.GOOS == "windows" {
name = strings.TrimSuffix(name, ".exe")
if *writeCmdComment {
g.p("//")
g.p("// Generated by this command:")
g.p("//")
// only log the name of the executable, not the full path
name := filepath.Base(os.Args[0])
if runtime.GOOS == "windows" {
name = strings.TrimSuffix(name, ".exe")
}
g.p("//\t%v", strings.Join(append([]string{name}, os.Args[1:]...), " "))
g.p("//")
}
g.p("//\t%v", strings.Join(append([]string{name}, os.Args[1:]...), " "))
g.p("//")

// Get all required imports, and generate unique names for them all.
im := pkg.Imports()
Expand Down

0 comments on commit 2c718f2

Please # to comment.