From 3a3228c0e40e35d7ebe5ce1e226bc5541552c8d0 Mon Sep 17 00:00:00 2001 From: Jake Champlin Date: Wed, 24 Aug 2016 14:57:01 -0400 Subject: [PATCH] Abstract dependency and test execution with Makefile Abstract the `runtests` script with a makefile, and update travis tests to use makefile abstraction. --- .travis.yml | 13 +------------ GNUmakefile | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 GNUmakefile diff --git a/.travis.yml b/.travis.yml index 5a45f06..41697ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,11 +26,6 @@ matrix: before_script: - $pip_install flake8 -- go get github.com/urfave/gfmrun/... || true -- go get golang.org/x/tools/... || true -- if [ ! -f node_modules/.bin/markdown-toc ] ; then - npm install markdown-toc ; - fi - mkdir -p ${GOPATH%%:*}/src/gopkg.in/urfave - rm -rvf ${GOPATH%%:*}/src/gopkg.in/urfave/cli.v2 - rm -rvf ${GOPATH%%:*}/pkg/*/gopkg.in/urfave/cli.v2.a @@ -38,10 +33,4 @@ before_script: script: - flake8 runtests cli-v1-to-v2 generate-flag-types -- ./runtests gen -- ./runtests vet -- ./runtests test -- ./runtests gfmrun -- ./cli-v1-to-v2 --selftest -- ./runtests migrations -- ./runtests toc +- make all diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..4543b19 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,37 @@ +default: test + +deps: + go get golang.org/x/tools/cmd/goimports || true + go get github.com/urfave/gfmrun/... || true + go list ./... \ + | xargs go list -f '{{ join .Deps "\n" }}{{ printf "\n" }}{{ join .TestImports "\n" }}' \ + | grep -v github.com/urfave/cli \ + | xargs go get + @if [ ! -f node_modules/.bin/markdown-toc ]; then \ + npm install markdown-toc ; \ + fi + +gen: deps + ./runtests gen + +vet: + ./runtests vet + +gfmrun: + ./runtests gfmrun + +v1-to-v2: + ./cli-v1-to-v2 --selftest + +migrations: + ./runtests migrations + +toc: + ./runtests toc + +test: deps + ./runtests test + +all: gen vet test gfmrun v1-to-v2 migrations toc + +.PHONY: default gen vet test gfmrun migrations toc v1-to-v2 deps all