You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
930 B
Go
40 lines
930 B
Go
![]()
2 years ago
|
package commands
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"io"
|
||
|
|
||
|
"github.com/docker/buildx/monitor/types"
|
||
|
monitorutils "github.com/docker/buildx/monitor/utils"
|
||
|
"github.com/pkg/errors"
|
||
|
)
|
||
|
|
||
|
type ShowCmd struct {
|
||
|
m types.Monitor
|
||
|
stdout io.WriteCloser
|
||
|
}
|
||
|
|
||
|
func NewShowCmd(m types.Monitor, stdout io.WriteCloser) types.Command {
|
||
|
return &ShowCmd{m, stdout}
|
||
|
}
|
||
|
|
||
|
func (cm *ShowCmd) Info() types.CommandInfo {
|
||
|
return types.CommandInfo{
|
||
|
Name: "show",
|
||
|
HelpMessage: "shows the debugging Dockerfile with breakpoint information",
|
||
|
HelpMessageLong: `
|
||
|
Usage:
|
||
|
show
|
||
|
`,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (cm *ShowCmd) Exec(ctx context.Context, args []string) error {
|
||
|
st := cm.m.GetWalkerController().Inspect()
|
||
|
if len(st.Definition.Source.Infos) != 1 {
|
||
|
return errors.Errorf("list: multiple sources isn't supported")
|
||
|
}
|
||
|
monitorutils.PrintLines(cm.stdout, st.Definition.Source.Infos[0], st.Cursors, cm.m.GetWalkerController().Breakpoints(), 0, 0, true)
|
||
|
return nil
|
||
|
}
|