func main() { // No command? It's time for usage. if len(os.Args) == 1 { Usage() os.Exit(1) } cmd := os.Args[1] newargs := make([]string, 0) newargs = append(newargs, os.Args[0]) newargs = append(newargs, os.Args[2:]...) os.Args = newargs flag.Parse() var ts graph.TripleStore cfg := config.ParseConfigFromFlagsAndFile(*configFile) if os.Getenv("GOMAXPROCS") == "" { runtime.GOMAXPROCS(runtime.NumCPU()) glog.Infoln("Setting GOMAXPROCS to", runtime.NumCPU()) } else { glog.Infoln("GOMAXPROCS currently", os.Getenv("GOMAXPROCS"), " -- not adjusting") } switch cmd { case "init": db.Init(cfg, *tripleFile) case "load": ts = db.Open(cfg) db.Load(ts, cfg, *tripleFile, false) ts.Close() case "repl": ts = db.Open(cfg) db.Repl(ts, *queryLanguage, cfg) ts.Close() case "http": ts = db.Open(cfg) http.Serve(ts, cfg) ts.Close() default: fmt.Println("No command", cmd) flag.Usage() } }
func main() { // No command? It's time for usage. if len(os.Args) == 1 { Usage() os.Exit(1) } cmd := os.Args[1] var newargs []string newargs = append(newargs, os.Args[0]) newargs = append(newargs, os.Args[2:]...) os.Args = newargs flag.Parse() var buildString string if VERSION != "" { buildString = fmt.Sprint("Cayley ", VERSION, " built ", BUILD_DATE) glog.Infoln(buildString) } cfg := config.ParseConfigFromFlagsAndFile(*configFile) if os.Getenv("GOMAXPROCS") == "" { runtime.GOMAXPROCS(runtime.NumCPU()) glog.Infoln("Setting GOMAXPROCS to", runtime.NumCPU()) } else { glog.Infoln("GOMAXPROCS currently", os.Getenv("GOMAXPROCS"), " -- not adjusting") } var ( ts graph.TripleStore err error ) switch cmd { case "version": if VERSION != "" { fmt.Println(buildString) } else { fmt.Println("Cayley snapshot") } os.Exit(0) case "init": err = db.Init(cfg, *tripleFile) case "load": ts, err = db.Open(cfg) if err != nil { break } err = db.Load(ts, cfg, *tripleFile) if err != nil { break } ts.Close() case "repl": ts, err = db.Open(cfg) if err != nil { break } err = db.Repl(ts, *queryLanguage, cfg) if err != nil { break } ts.Close() case "http": ts, err = db.Open(cfg) if err != nil { break } http.Serve(ts, cfg) ts.Close() default: fmt.Println("No command", cmd) flag.Usage() } if err != nil { glog.Fatalln(err) } }