diff --git a/cmd/bz/main.go b/cmd/bz/main.go index 529a9ad..08a5135 100644 --- a/cmd/bz/main.go +++ b/cmd/bz/main.go @@ -282,7 +282,7 @@ func (b *bz) run() error { // Add a path. manifest, err := devBuilder.Manifest() if err != nil { - log.Fatal(err) + log.Fatal(fmt.Errorf("error getting manifest: %w", err)) } rebuildUI := make(chan int, 10) @@ -345,11 +345,11 @@ func (b *bz) run() error { for _, p := range manifest.UI.WatchPaths { p := path.Join(gameRoot, p) if err != nil { - log.Fatal(err) + log.Fatal(fmt.Errorf("error watching %s: %w", p, err)) } r, err := filepath.Rel(p, e.Path) if err != nil { - log.Fatal(err) + log.Fatal(fmt.Errorf("error rel %s: %w", p, err)) } if !strings.HasPrefix(r, "..") { color.Printf("Reloading UI due to changes in %s: %s\n", e.Path, e.Op) @@ -361,11 +361,11 @@ func (b *bz) run() error { for _, p := range manifest.Game.WatchPaths { p := path.Join(gameRoot, p) if err != nil { - log.Fatal(err) + log.Fatal(fmt.Errorf("error watching %s: %w", p, err)) } r, err := filepath.Rel(p, e.Path) if err != nil { - log.Fatal(err) + log.Fatal(fmt.Errorf("error rel %s: %w", p, err)) } if !strings.HasPrefix(r, "..") { color.Printf("Reloading Game due to changes in %s: %s\n", e.Path, e.Op) @@ -849,7 +849,7 @@ func (b *bz) new() error { gameV1Path := filepath.Join(dirName, "game.v1.json") gameV1PathStat, err := os.Stat(gameV1Path) if err != nil { - if err == os.ErrNotExist { + if os.IsNotExist(err) { gameV1Path = filepath.Join(dirName, "game.json") gameV1PathStat, err = os.Stat(gameV1Path) if err != nil { diff --git a/internal/builder.go b/internal/builder.go index 7544c2f..3c5c843 100644 --- a/internal/builder.go +++ b/internal/builder.go @@ -51,7 +51,20 @@ func (b *Builder) WatchedFiles() ([]string, error) { return nil, err } paths := make([]string, 0, len(manifest.UI.WatchPaths)+len(manifest.Game.WatchPaths)+1) - paths = append(paths, path.Join(b.root, "game.v1.json")) + if _, err := os.Stat(path.Join(b.root, "game.v1.json")); err != nil { + if !os.IsNotExist(err) { + return nil, err + } + } else { + paths = append(paths, path.Join(b.root, "game.v1.json")) + } + if _, err := os.Stat(path.Join(b.root, "game.json")); err != nil { + if !os.IsNotExist(err) { + return nil, err + } + } else { + paths = append(paths, path.Join(b.root, "game.json")) + } for _, p := range manifest.UI.WatchPaths { paths = append(paths, path.Join(b.root, p)) } @@ -98,7 +111,7 @@ func (b *Builder) buildGame(m *ManifestV1, prod bool) ([]byte, []byte, error) { func (b *Builder) Manifest() (*ManifestV1, error) { f, err := os.Open(path.Join(b.root, "game.v1.json")) if err != nil { - if err == os.ErrNotExist { + if os.IsNotExist(err) { f, err = os.Open(path.Join(b.root, "game.json")) if err != nil { return nil, err