cmd: Add --output_file_prefix, which sets a prefix for the output file name "wire_gen.go"

This commit is contained in:
Jose Gil
2019-09-25 17:59:48 +02:00
committed by Robert van Gent
parent c385f07c5d
commit 55a93fac11
2 changed files with 10 additions and 3 deletions

View File

@@ -99,6 +99,7 @@ func newGenerateOptions(headerFile string) (*wire.GenerateOptions, error) {
type genCmd struct {
headerFile string
prefixFileName string
}
func (*genCmd) Name() string { return "gen" }
@@ -115,6 +116,7 @@ func (*genCmd) Usage() string {
}
func (cmd *genCmd) SetFlags(f *flag.FlagSet) {
f.StringVar(&cmd.headerFile, "header_file", "", "path to file to insert as a header in wire_gen.go")
f.StringVar(&cmd.prefixFileName, "output_file_prefix", "", "string to prepend to output file names.")
}
func (cmd *genCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interface{}) subcommands.ExitStatus {
@@ -128,6 +130,9 @@ func (cmd *genCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interfa
log.Println(err)
return subcommands.ExitFailure
}
opts.PrefixOutputFile = cmd.prefixFileName
outs, errs := wire.Generate(ctx, wd, os.Environ(), packages(f), opts)
if len(errs) > 0 {
logErrors(errs)
@@ -200,6 +205,7 @@ func (cmd *diffCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interf
log.Println(err)
return subcommands.ExitFailure
}
outs, errs := wire.Generate(ctx, wd, os.Environ(), packages(f), opts)
if len(errs) > 0 {
logErrors(errs)

View File

@@ -64,6 +64,7 @@ func (gen GenerateResult) Commit() error {
type GenerateOptions struct {
// Header will be inserted at the start of each generated file.
Header []byte
PrefixOutputFile string
}
// Generate performs dependency injection for the packages that match the given
@@ -94,7 +95,7 @@ func Generate(ctx context.Context, wd string, env []string, patterns []string, o
generated[i].Errs = append(generated[i].Errs, err)
continue
}
generated[i].OutputPath = filepath.Join(outDir, "wire_gen.go")
generated[i].OutputPath = filepath.Join(outDir, opts.PrefixOutputFile+"wire_gen.go")
g := newGen(pkg)
injectorFiles, errs := generateInjectors(g, pkg)
if len(errs) > 0 {