### Formatting and Linting
-The `make format` command formats all the code in fscrypt with either `gofmt`
-(for Go code) or [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html)
-(for C code). `gofmt` comes with any Go distribution, and `clang-format` can be
-installed with your package manager.
+The `make format` command formats all the code in fscrypt with either
+[`goimports`](https://godoc.org/golang.org/x/tools/cmd/goimports) (for Go code)
+or [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html) (for C code).
+`goimports` can be installed with `go get`; `clang-format` can be installed
+with your package manager.
The `make lint` command runs a series of static analysis checks on your code.
This requires the
# Format all the Go and C code
.PHONY: format format-check
format:
- @gofmt -l -s -w $(GO_FILES)
+ @goimports -l -w $(GO_FILES)
@clang-format -i -style=Google $(C_FILES)
format-check:
- @gofmt -s -d $(GO_FILES) \
+ @goimports -d $(GO_FILES) \
| ./input_fail.py "Incorrectly formatted Go files. Run \"make format\"."
@clang-format -i -style=Google -output-replacements-xml $(C_FILES) \
| grep "<replacement " \
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/golang/lint/golint
go get -u github.com/kardianos/govendor
+ go get -u golang.org/x/tools/cmd/goimports
go get -u honnef.co/go/tools/cmd/megacheck
##### Setup/Teardown for integration tests (need root permissions) #####