-
Notifications
You must be signed in to change notification settings - Fork 69
/
defaults.go
45 lines (41 loc) · 1.25 KB
/
defaults.go
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
42
43
44
45
package config
import (
"log"
"runtime"
"github.com/socketplane/socketplane/Godeps/_workspace/src/github.com/laher/goxc/core"
)
func FillBuildSettingsDefaults(bs *BuildSettings) {
bs.LdFlagsXVars = &map[string]interface{}{"TimeNow": "main.BUILD_DATE", "Version": "main.VERSION"}
}
//TODO fulfil all defaults
func FillSettingsDefaults(settings *Settings, workingDirectory string) {
if settings.AppName == "" {
settings.AppName = core.GetAppName(settings.AppName, workingDirectory)
}
if settings.OutPath == "" {
settings.OutPath = core.OUTFILE_TEMPLATE_DEFAULT
}
if settings.ResourcesInclude == "" {
settings.ResourcesInclude = core.RESOURCES_INCLUDE_DEFAULT
}
if settings.ResourcesExclude == "" {
settings.ResourcesExclude = core.RESOURCES_EXCLUDE_DEFAULT
}
if settings.MainDirsExclude == "" {
settings.MainDirsExclude = core.MAIN_DIRS_EXCLUDE_DEFAULT
}
if settings.PackageVersion == "" {
settings.PackageVersion = core.PACKAGE_VERSION_DEFAULT
}
if settings.BuildSettings == nil {
bs := BuildSettings{}
FillBuildSettingsDefaults(&bs)
settings.BuildSettings = &bs
}
if settings.GoRoot == "" {
if settings.IsVerbose() {
log.Printf("Defaulting GoRoot to runtime.GOROOT (%s)", runtime.GOROOT())
}
settings.GoRoot = runtime.GOROOT()
}
}