Skip to content

Commit

Permalink
cmd: Add --output_file_prefix, which sets a prefix for the output fil…
Browse files Browse the repository at this point in the history
…e name "wire_gen.go"
  • Loading branch information
josgilmo authored and vangent committed Sep 25, 2019
1 parent c385f07 commit 55a93fa
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
8 changes: 7 additions & 1 deletion cmd/wire/main.go
Expand Up @@ -98,7 +98,8 @@ func newGenerateOptions(headerFile string) (*wire.GenerateOptions, error) {
}

type genCmd struct {
headerFile string
headerFile string
prefixFileName string
}

func (*genCmd) Name() string { return "gen" }
Expand All @@ -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 {
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
5 changes: 3 additions & 2 deletions internal/wire/wire.go
Expand Up @@ -63,7 +63,8 @@ func (gen GenerateResult) Commit() error {
// GenerateOptions holds options for Generate.
type GenerateOptions struct {
// Header will be inserted at the start of each generated file.
Header []byte
Header []byte
PrefixOutputFile string
}

// Generate performs dependency injection for the packages that match the given
Expand Down Expand Up @@ -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 {
Expand Down

0 comments on commit 55a93fa

Please sign in to comment.