'itest-only' can be used to only run integration tests, not build any of
the dependencies. This is useful on travis, where manually executing
each command makes it easier to track the time spent on each.
In this commit, we modify our build file to only lint under go 1.11. We
do this as there's been a breaking change in gofmt between go 1.10 and
go 1.11 that causes files which pass the linter under go 1.10, to fail
the linter under go 1.11. In the end, we only really need to lint using
one version of go.
In order to achieve this, we "unroll" the build matrix to enumerate each
version and the environment variables that it should be run with. We
then modify the Makefile to only include the lint directive if the
particular env variable is set ($(USE_LINT)). With these two changes,
we'll now only lint under go 1.11.
This commit continues the work started by @sp4ke, in createing
a simple Makefile for lnd. The following commands are included:
* make - builds everything (deps, lnd, and lncli) from scratch
* make deps - installs dep if needed, then runs dep ensure
* make install - builds lnd and lncli
* make check - runs unit and itests
* make unit - runs the unit tests for all packages
* make itest - installs lnd and runs integration tests
* make fmt - go fmt's all files
Included commands:
- deps: install glide and dependencies
- install: install lnd
- fmt: run `go fmt` excluding vendor
- test: run `go test` as per documentation