summaryrefslogtreecommitdiff
path: root/misc/dashboard/builder/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc/dashboard/builder/main.go')
-rw-r--r--misc/dashboard/builder/main.go44
1 files changed, 42 insertions, 2 deletions
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go
index c1536abb2..5ba5c11c3 100644
--- a/misc/dashboard/builder/main.go
+++ b/misc/dashboard/builder/main.go
@@ -12,6 +12,7 @@ import (
"os"
"path"
"regexp"
+ "runtime"
"strconv"
"strings"
"time"
@@ -347,6 +348,9 @@ func (b *Builder) buildHash(hash string) (err os.Error) {
// envv returns an environment for build/bench execution
func (b *Builder) envv() []string {
+ if runtime.GOOS == "windows" {
+ return b.envvWindows()
+ }
e := []string{
"GOOS=" + b.goos,
"GOARCH=" + b.goarch,
@@ -358,6 +362,42 @@ func (b *Builder) envv() []string {
return e
}
+// windows version of envv
+func (b *Builder) envvWindows() []string {
+ start := map[string]string{
+ "GOOS": b.goos,
+ "GOARCH": b.goarch,
+ "GOROOT_FINAL": "/c/go",
+ }
+ for _, name := range extraEnv {
+ start[name] = os.Getenv(name)
+ }
+ skip := map[string]bool{
+ "GOBIN": true,
+ "GOROOT": true,
+ "INCLUDE": true,
+ "LIB": true,
+ }
+ var e []string
+ for name, v := range start {
+ e = append(e, name+"="+v)
+ skip[name] = true
+ }
+ for _, kv := range os.Environ() {
+ s := strings.Split(kv, "=", 2)
+ name := strings.ToUpper(s[0])
+ switch {
+ case name == "":
+ // variables, like "=C:=C:\", just copy them
+ e = append(e, kv)
+ case !skip[name]:
+ e = append(e, kv)
+ skip[name] = true
+ }
+ }
+ return e
+}
+
func isDirectory(name string) bool {
s, err := os.Stat(name)
return err == nil && s.IsDirectory()
@@ -455,7 +495,7 @@ func commitPoll(key string) {
// Pass 1. Fill in parents and add new log entries to logsByHash.
// Empty parent means take parent from next log entry.
- // Non-empty parent has form 1234:hashhashhash; we weant full hash.
+ // Non-empty parent has form 1234:hashhashhash; we want full hash.
for i := range logs {
l := &logs[i]
log.Printf("hg log: %s < %s\n", l.Hash, l.Parent)
@@ -516,7 +556,7 @@ func addCommit(hash, key string) bool {
// Create commit.
if err := postCommit(key, l); err != nil {
- log.Printf("faield to add %s to dashboard: %v", err)
+ log.Printf("failed to add %s to dashboard: %v", key, err)
return false
}
return true