-
Notifications
You must be signed in to change notification settings - Fork 617
Description
The build controller was created as a way to abstract away the command line interface with the idea it would be useful for creating a remote version of buildx that could be persisted and used for debugging. The CLI would create a background buildx process and would communicate through it.
The reality of the implementation is that it was never completed and currently just lives hidden behind the BUILDX_EXPERIMENTAL tag. It introduces additional complexity in the CLI code paths that are difficult to follow and have subtle differences that result in bugs when BUILDX_EXPERIMENTAL is used. There are currently no plans to finish the implementation and we're not really sure if this is the best way to complete the work on debuggable build environments.
We'd like to move the debugging builds conversation to creating a DAP interface for builds so we are only building the debugger and are not also building a frontend for the debugger. This alternative method would give us compatibility with a wider array of common editors: particularly vscode and neovim which have either DAP support builtin or prominent dap plugins.
At this point, the build controller was a useful experiment but we think it would not be worth the time and effort to finish the implementation.