/
main.go
55 lines (43 loc) · 935 Bytes
/
main.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
46
47
48
49
50
51
52
53
54
55
package main
import (
"flag"
"log"
"github.com/simonchong/linny/common"
"github.com/simonchong/linny/creator"
"github.com/simonchong/linny/insights"
"github.com/simonchong/linny/packer"
"github.com/simonchong/linny/server"
)
func main() {
flags := common.NewCmdFlags()
if flags.Init {
creator.Create(flags.InitDir)
}
if flags.ConfigNeeded() {
configLinny, e1 := common.LoadConfigLinny()
if e1 != nil {
log.Println("ConfigLinny Error:", e1)
return
}
if flags.Pack {
packer.Pack(configLinny.ContentRoot)
}
if flags.Unpack != "" {
packer.Unpack(configLinny, flags.Unpack)
}
if flags.Serve {
configAd, e2 := common.LoadConfigAd(&configLinny)
data := new(insights.Data)
data.Init()
defer data.Close()
if e2 != nil {
log.Println("ConfigAd Error:", e2)
return
}
server.Start(&configLinny, &configAd, data)
}
}
if flags.None() {
flag.PrintDefaults()
}
}