microsoft / yardl

Tooling for streaming instrument data
https://microsoft.github.io/yardl/
MIT License
29 stars 5 forks source link

Panic when calling `yardl generate --watch` from wrong directory #150

Closed johnstairs closed 1 month ago

johnstairs commented 1 month ago

If you invoke yardl generate --watch from a directory that is not a yardl package, you get a panic:

panic: runtime error: invalid memory address or nil pointer dereference 
goroutine 7 [running]:
runtime/debug.Stack()
        /usr/local/go/src/runtime/debug/stack.go:24 +0x5e
github.com/microsoft/yardl/tooling/internal/cmd.generateInWatchMode.func1()
        /workspaces/yardl/tooling/internal/cmd/generatecommand.go:134 +0xbd
panic({0x765260?, 0xa93890?})
        /usr/local/go/src/runtime/panic.go:914 +0x21f
github.com/microsoft/yardl/tooling/internal/cmd.generateInWatchMode()
        /workspaces/yardl/tooling/internal/cmd/generatecommand.go:142 +0x155
github.com/microsoft/yardl/tooling/internal/cmd.dedupLoop.func1()
        /workspaces/yardl/tooling/internal/cmd/generatecommand.go:88 +0x29
github.com/microsoft/yardl/tooling/internal/cmd.dedupLoop(0xc000232000, 0xc0000323c0)
        /workspaces/yardl/tooling/internal/cmd/generatecommand.go:100 +0x91
created by github.com/microsoft/yardl/tooling/internal/cmd.newGenerateCommand.func1 in goroutine 1
        /workspaces/yardl/tooling/internal/cmd/generatecommand.go:66 +0x1d2