From a9159b3e78539b92f02bf6dc922b61c165969762 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 4 Apr 2022 14:43:59 -0400 Subject: [PATCH] migration: support goimports -local --- assert/cmd/gty-migrate-from-testify/main.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/assert/cmd/gty-migrate-from-testify/main.go b/assert/cmd/gty-migrate-from-testify/main.go index 1bf531f..6c66dc2 100644 --- a/assert/cmd/gty-migrate-from-testify/main.go +++ b/assert/cmd/gty-migrate-from-testify/main.go @@ -25,7 +25,8 @@ type options struct { debug bool cmpImportName string showLoaderErrors bool - useAllFiles bool + buildFlags []string + localImportPath string } func main() { @@ -60,8 +61,10 @@ func setupFlags(name string) (*pflag.FlagSet, *options) { "import alias to use for the assert/cmp package") flags.BoolVar(&opts.showLoaderErrors, "print-loader-errors", false, "print errors from loading source") - flags.BoolVar(&opts.useAllFiles, "ignore-build-tags", false, - "migrate all files ignoring build tags") + flags.StringSliceVar(&opts.buildFlags, "build-tags", nil, + "build to pass to Go when loading source files") + flags.StringVar(&opts.localImportPath, "local-import-path", "", + "value to pass to 'goimports -local' flag for sorting local imports") flags.Usage = func() { fmt.Fprintf(os.Stderr, `Usage: %s [OPTIONS] PACKAGE [PACKAGE...] @@ -85,6 +88,8 @@ func handleExitError(name string, err error) { } func run(opts options) error { + imports.LocalPrefix = opts.localImportPath + fset := token.NewFileSet() pkgs, err := loadPackages(opts, fset) if err != nil { @@ -141,10 +146,11 @@ var loadMode = packages.NeedName | func loadPackages(opts options, fset *token.FileSet) ([]*packages.Package, error) { conf := &packages.Config{ - Mode: loadMode, - Fset: fset, - Tests: true, - Logf: debugf, + Mode: loadMode, + Fset: fset, + Tests: true, + Logf: debugf, + BuildFlags: opts.buildFlags, } pkgs, err := packages.Load(conf, opts.pkgs...)