-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathenv.go
More file actions
41 lines (36 loc) · 742 Bytes
/
env.go
File metadata and controls
41 lines (36 loc) · 742 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import (
"gopkg.in/yaml.v2"
"io/ioutil"
"os"
)
func GOPATH() string {
if os.Getenv("GOPATH") == "" {
panic("Environment varialbe 'GOPATH' is not set. Setup before continue.")
}
return os.Getenv("GOPATH")
}
func GetSettings() Settings {
settings := Settings{}
yamlFile, err := ioutil.ReadFile("settings.yml")
if err != nil {
panic(err)
}
err = yaml.Unmarshal(yamlFile, &settings)
if err != nil {
panic(err)
}
if settings.Repo == "" {
panic("Missing 'repo' attribute in /settings.yml")
}
if settings.Commit == "" {
panic("Missing 'commit' attribute in /settings.yml")
}
return settings
}
func root() string {
return GOPATH() + GetSettings().GobyPath
}
func dir() string {
return root() + "/vm"
}