()
| 457 | } |
| 458 | |
| 459 | func main() { |
| 460 | log.SetFlags(0) // disable timestamp since electron's winston logger already wraps with timestamp |
| 461 | log.SetPrefix("[wavesrv] ") |
| 462 | wavebase.WaveVersion = WaveVersion |
| 463 | wavebase.BuildTime = BuildTime |
| 464 | wshutil.DefaultRouter = wshutil.NewWshRouter() |
| 465 | wshutil.DefaultRouter.SetAsRootRouter() |
| 466 | |
| 467 | err := grabAndRemoveEnvVars() |
| 468 | if err != nil { |
| 469 | log.Printf("[error] %v\n", err) |
| 470 | return |
| 471 | } |
| 472 | err = service.ValidateServiceMap() |
| 473 | if err != nil { |
| 474 | log.Printf("error validating service map: %v\n", err) |
| 475 | return |
| 476 | } |
| 477 | err = wavebase.EnsureWaveDataDir() |
| 478 | if err != nil { |
| 479 | log.Printf("error ensuring wave home dir: %v\n", err) |
| 480 | return |
| 481 | } |
| 482 | err = wavebase.EnsureWaveDBDir() |
| 483 | if err != nil { |
| 484 | log.Printf("error ensuring wave db dir: %v\n", err) |
| 485 | return |
| 486 | } |
| 487 | err = wavebase.EnsureWaveConfigDir() |
| 488 | if err != nil { |
| 489 | log.Printf("error ensuring wave config dir: %v\n", err) |
| 490 | return |
| 491 | } |
| 492 | |
| 493 | // TODO: rather than ensure this dir exists, we should let the editor recursively create parent dirs on save |
| 494 | err = wavebase.EnsureWavePresetsDir() |
| 495 | if err != nil { |
| 496 | log.Printf("error ensuring wave presets dir: %v\n", err) |
| 497 | return |
| 498 | } |
| 499 | err = wavebase.EnsureWaveCachesDir() |
| 500 | if err != nil { |
| 501 | log.Printf("error ensuring wave caches dir: %v\n", err) |
| 502 | return |
| 503 | } |
| 504 | waveLock, err := wavebase.AcquireWaveLock() |
| 505 | if err != nil { |
| 506 | log.Printf("error acquiring wave lock (another instance of Wave is likely running): %v\n", err) |
| 507 | return |
| 508 | } |
| 509 | defer func() { |
| 510 | err = waveLock.Close() |
| 511 | if err != nil { |
| 512 | log.Printf("error releasing wave lock: %v\n", err) |
| 513 | } |
| 514 | }() |
| 515 | log.Printf("wave version: %s (%s)\n", WaveVersion, BuildTime) |
| 516 | log.Printf("wave data dir: %s\n", wavebase.GetWaveDataDir()) |
nothing calls this directly
no test coverage detected