Add --json option to commands
Docker API
Dev Setup
The recommended way is to use the main Makefile that runs everything inside a container.
If you don't have or want to use Docker for building you need to make sure you have all the needed tools installed locally:
- go 1.14
- protoc
go get github.com/golang/protobuf/protoc-gen-go@v1.4.1go get golang.org/x/tools/cmd/goimportsgo get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.26.0
And then you can call the same make targets but you need to pass it the builder.Makefile (make -f builder.Makefile).
The new CLI delegates to the classic docker for default contexts ; delegation is done to docker-classic.
make classic-linkwill create adocker-classiclink in/usr/local/binif you don't already have it from Docker Desktop
Building the project
$ make
This will make the cli with all backends enabled. make cross on the other hand will cross-compile the cli without the
example and local backend. We use make cross to build for our release, hence the exclusion of those backends. You can
still cross-compile with all backends enabled: BUILD_TAGS=example,local make cross.
If you make changes to the .proto files, make sure to make protos to generate go code.
Tests
To run unit tests:
make test
If you need to update a golden file simply do go test ./... -test.update-golden.