summaryrefslogtreecommitdiff
path: root/usr/gri/gosrc/utils.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2008-08-07 19:32:22 -0700
committerRobert Griesemer <gri@golang.org>2008-08-07 19:32:22 -0700
commitf1f807fe513b0406aebe76912d7af6dbc1b0b381 (patch)
tree9de60a61d9ea36282679d753874712e01d65b2c6 /usr/gri/gosrc/utils.go
parent9c787bb397af9a03a65584cad93729f317e9cc74 (diff)
downloadgolang-f1f807fe513b0406aebe76912d7af6dbc1b0b381.tar.gz
first primitive cut at resolving missing imports automatically:
if an import file is missing, the corresponding source is compiled automatically, if found R=r OCL=13990 CL=13990
Diffstat (limited to 'usr/gri/gosrc/utils.go')
-rw-r--r--usr/gri/gosrc/utils.go48
1 files changed, 32 insertions, 16 deletions
diff --git a/usr/gri/gosrc/utils.go b/usr/gri/gosrc/utils.go
index 2dcd84a6a..ff0f1d96d 100644
--- a/usr/gri/gosrc/utils.go
+++ b/usr/gri/gosrc/utils.go
@@ -5,6 +5,34 @@
package Utils
+// Environment
+export var
+ GOARCH,
+ GOOS,
+ GOROOT,
+ USER string;
+
+
+func GetEnv(key string) string {
+ n := len(key);
+ for i := 0; i < sys.envc(); i++ {
+ v := sys.envv(i);
+ if v[0 : n] == key {
+ return v[n + 1 : len(v)]; // +1: trim "="
+ }
+ }
+ return "";
+}
+
+
+func init() {
+ GOARCH = GetEnv("GOARCH");
+ GOOS = GetEnv("GOOS");
+ GOROOT = GetEnv("GOROOT");
+ USER = GetEnv("USER");
+}
+
+
export func BaseName(s string) string {
// TODO this is not correct for non-ASCII strings!
i := len(s) - 1;
@@ -18,22 +46,10 @@ export func BaseName(s string) string {
}
-export func FixExt(s string) string {
- i := len(s) - 3; // 3 == len(".go");
- if i >= 0 && s[i : len(s)] == ".go" {
+export func TrimExt(s, ext string) string {
+ i := len(s) - len(ext);
+ if i >= 0 && s[i : len(s)] == ext {
s = s[0 : i];
}
- return s + ".7";
-}
-
-
-export func GetEnv(key string) string {
- n := len(key);
- for i := 0; i < sys.envc(); i++ {
- v := sys.envv(i);
- if v[0 : n] == key {
- return v[n + 1 : len(v)]; // +1: skip "="
- }
- }
- return "";
+ return s;
}