github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/cmd/juju/main.go (about) 1 // Copyright 2012, 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package main 5 6 import ( 7 "math/rand" 8 "os" 9 "time" 10 11 "github.com/juju/cmd" 12 "github.com/juju/loggo" 13 14 "github.com/juju/juju/cmd/juju/commands" 15 components "github.com/juju/juju/component/all" 16 // Import the providers. 17 _ "github.com/juju/juju/provider/all" 18 ) 19 20 var log = loggo.GetLogger("juju.cmd.juju") 21 22 func init() { 23 rand.Seed(time.Now().UTC().UnixNano()) 24 } 25 26 func init() { 27 if err := components.RegisterForClient(); err != nil { 28 log.Criticalf("unable to register client components: %v", err) 29 os.Exit(1) 30 } 31 } 32 33 func main() { 34 _, err := loggo.ReplaceDefaultWriter(cmd.NewWarningWriter(os.Stderr)) 35 if err != nil { 36 panic(err) 37 } 38 os.Exit(commands.Main(os.Args)) 39 }