| 99 | } |
| 100 | |
| 101 | func genPerkeep(ctxDir string) { |
| 102 | check(os.Mkdir(filepath.Join(ctxDir, "/perkeep.org"), 0755)) |
| 103 | |
| 104 | args := []string{ |
| 105 | "run", |
| 106 | "--rm", |
| 107 | "--volume=" + ctxDir + "/perkeep.org:/OUT", |
| 108 | "--volume=" + path.Join(dockDir, "server/build-perkeep-server.go") + ":" + genPkProgram + ":ro", |
| 109 | } |
| 110 | if isWIP() { |
| 111 | args = append(args, "--volume="+localCamliSource()+":/IN:ro", |
| 112 | goDockerImage, goCmd, "run", genPkProgram, "--rev=WIP:/IN") |
| 113 | } else { |
| 114 | args = append(args, goDockerImage, goCmd, "run", genPkProgram, "--rev="+rev()) |
| 115 | } |
| 116 | cmd := exec.Command("docker", args...) |
| 117 | cmd.Stdout = os.Stdout |
| 118 | cmd.Stderr = os.Stderr |
| 119 | if err := cmd.Run(); err != nil { |
| 120 | log.Fatalf("Error building perkeepd in go container: %v", err) |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | func copyFinalDockerfile(ctxDir string) { |
| 125 | // Copy Dockerfile into the temp dir. |