Skip to content

Instantly share code, notes, and snippets.

@kyleconroy
Last active August 29, 2015 14:14
Show Gist options
  • Save kyleconroy/908fa16e44f4e341572e to your computer and use it in GitHub Desktop.
Save kyleconroy/908fa16e44f4e341572e to your computer and use it in GitHub Desktop.
A godep replacement, in 35 lines
package main
import (
"flag"
"log"
"os"
"os/exec"
"path/filepath"
"strings"
)
func main() {
if _, err := os.Stat("_vendor"); os.IsNotExist(err) {
if err = os.Mkdir("_vendor", 0755); err != nil {
log.Fatal(err)
}
}
flag.Parse()
args := flag.Args()
cmd := exec.Command(args[0], args[1:]...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Env = os.Environ()
for i, path := range cmd.Env {
if strings.HasPrefix(path, "GOPATH=") {
abs, err := filepath.Abs("_vendor")
if err != nil {
log.Fatal(err)
}
cmd.Env[i] = "GOPATH=" + abs
break
}
}
cmd.Run()
}
@zenazn
Copy link

zenazn commented Jan 28, 2015

You probably want _vendor instead of vendor: Go auto-ignores directories with a leading underscore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment