Minor improvements; print go list errors, strip trailing slashes

This commit is contained in:
Matthew Holt 2020-05-02 17:32:37 -06:00
parent 5edadff2c7
commit 9146f00342
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5
2 changed files with 8 additions and 4 deletions

View file

@ -73,7 +73,7 @@ func (b Builder) Build(ctx context.Context, outputFile string) error {
} }
defer buildEnv.Close() defer buildEnv.Close()
// prepare the environmen for the go command; for // prepare the environment for the go command; for
// the most part we want it to inherit our current // the most part we want it to inherit our current
// environment, with a few customizations // environment, with a few customizations
env := os.Environ() env := os.Environ()

View file

@ -63,6 +63,7 @@ func runBuild(ctx context.Context, args []string) error {
if err != nil { if err != nil {
return err return err
} }
mod = strings.TrimSuffix(mod, "/") // easy to accidentally leave a trailing slash if pasting from a URL, but is invalid for Go modules
plugins = append(plugins, xcaddy.Dependency{ plugins = append(plugins, xcaddy.Dependency{
ModulePath: mod, ModulePath: mod,
Version: ver, Version: ver,
@ -136,17 +137,19 @@ func runDev(ctx context.Context, args []string) error {
// get current/main module name // get current/main module name
cmd := exec.Command("go", "list", "-m") cmd := exec.Command("go", "list", "-m")
cmd.Stderr = os.Stderr
out, err := cmd.Output() out, err := cmd.Output()
if err != nil { if err != nil {
return err return fmt.Errorf("exec %v: %v: %s", cmd.Args, err, string(out))
} }
currentModule := strings.TrimSpace(string(out)) currentModule := strings.TrimSpace(string(out))
// get the root directory of the main module // get the root directory of the main module
cmd = exec.Command("go", "list", "-m", "-f={{.Dir}}") cmd = exec.Command("go", "list", "-m", "-f={{.Dir}}")
cmd.Stderr = os.Stderr
out, err = cmd.Output() out, err = cmd.Output()
if err != nil { if err != nil {
return err return fmt.Errorf("exec %v: %v: %s", cmd.Args, err, string(out))
} }
moduleDir := strings.TrimSpace(string(out)) moduleDir := strings.TrimSpace(string(out))
@ -164,9 +167,10 @@ func runDev(ctx context.Context, args []string) error {
// go.mod, we need to transfer their replace directives through // go.mod, we need to transfer their replace directives through
// to the one we're making // to the one we're making
cmd = exec.Command("go", "list", "-m", "-f={{if .Replace}}{{.Path}} => {{.Replace}}{{end}}", "all") cmd = exec.Command("go", "list", "-m", "-f={{if .Replace}}{{.Path}} => {{.Replace}}{{end}}", "all")
cmd.Stderr = os.Stderr
out, err = cmd.Output() out, err = cmd.Output()
if err != nil { if err != nil {
return err return fmt.Errorf("exec %v: %v: %s", cmd.Args, err, string(out))
} }
for _, line := range strings.Split(string(out), "\n") { for _, line := range strings.Split(string(out), "\n") {
parts := strings.Split(line, "=>") parts := strings.Split(line, "=>")