-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.go
42 lines (36 loc) · 980 Bytes
/
build.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
package main
import (
"log"
"path"
"path/filepath"
"github.com/togostanza/ts/provider"
)
var cmdBuild = &Command{
Run: runBuild,
Name: "build",
Short: "build stanza provider",
UsageLine: "server [-stanza-base-dir dir] [-development=false]",
Long: "Build stanza provider",
}
func addBuildFlags(cmd *Command) {
path := "."
if absolutePath, err := filepath.Abs(path); err == nil {
path = absolutePath
}
cmd.Flag.StringVar(&flagStanzaBaseDir, "stanza-base-dir", path, "stanza base directory")
}
func init() {
addBuildFlags(cmdBuild)
cmdBuild.Flag.BoolVar(&flagBuildDevelopment, "development", false, "development mode")
}
func runBuild(cmd *Command, args []string) {
sp, err := provider.New(flagStanzaBaseDir)
if err != nil {
log.Fatal(err)
}
distPath := path.Join(flagStanzaBaseDir, "dist")
distStanzaPath := path.Join(distPath, "stanza")
if err := sp.Build(distStanzaPath, flagBuildDevelopment); err != nil {
log.Fatal(err)
}
}