67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"src.dualinventive.com/go/devsim/daemon"
|
|
"src.dualinventive.com/go/devsim/simulator"
|
|
)
|
|
|
|
var (
|
|
host = flag.String("host", "127.0.0.1:3600", "gRPC daemon host address")
|
|
)
|
|
|
|
const repositoryURIZKL3000RC = "git@src.dualinventive.com:simulator/zkl-3000-rc.git"
|
|
|
|
func createSimulators(dsc simulator.Service) {
|
|
for i := 0; i < 10; i++ {
|
|
info, err := dsc.Add(repositoryURIZKL3000RC, "v0.0.2")
|
|
if err != nil {
|
|
log.Println("simulator created failed", err)
|
|
}
|
|
|
|
err = dsc.Start(info.DeviceUID())
|
|
if err != nil {
|
|
log.Println("unable to start simulator", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func listSimulators(dss simulator.Service) []simulator.Simulator {
|
|
log.Println("simulators:")
|
|
simulators := dss.List()
|
|
for _, sim := range simulators {
|
|
log.Printf("\t--- %+v ---\n", sim.DeviceUID())
|
|
log.Printf("\t%+v\n", sim.Name())
|
|
log.Printf("\t%+v\n", sim.Author())
|
|
log.Printf("\t%+v\n", sim.Version())
|
|
}
|
|
return simulators
|
|
}
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
client, err := daemon.NewClient(*host)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
err = client.Repository.Add(repositoryURIZKL3000RC)
|
|
if err != nil {
|
|
log.Println("repository", repositoryURIZKL3000RC, err)
|
|
}
|
|
|
|
simulators := listSimulators(client.Simulator)
|
|
if len(simulators) == 0 {
|
|
createSimulators(client.Simulator)
|
|
}
|
|
|
|
// Repositories info and remove
|
|
log.Println("repositories:")
|
|
for _, repo := range client.Repository.List() {
|
|
log.Println("\t", repo.URI())
|
|
}
|
|
}
|