diff --git a/.gitignore b/.gitignore index 73a0539cf..633c10820 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ cover.out *.swo .DS_Store *~ +vendor/*/ diff --git a/.travis.yml b/.travis.yml index b0fbcdcba..39540f10f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,8 @@ matrix: allow_failures: - go: tip fast_finish: true +install: + - make govendor script: - make check - go build -race diff --git a/Makefile b/Makefile index 222dbcc07..ba9a28621 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,6 @@ COMMIT_HASH=`git rev-parse --short HEAD 2>/dev/null` BUILD_DATE=`date +%FT%T%z` LDFLAGS=-ldflags "-X github.com/spf13/hugo/hugolib.CommitHash=${COMMIT_HASH} -X github.com/spf13/hugo/hugolib.BuildDate=${BUILD_DATE}" -DIRS=$(shell go list -f {{.Dir}} ./...) - all: gitinfo install: install-gitinfo @@ -34,39 +32,45 @@ docker: docker cp hugo-build:/go/bin/hugo . docker rm hugo-build +govendor: + go get -u github.com/kardianos/govendor + go install github.com/kardianos/govendor + govendor get github.com/spf13/hugo -check: get fmt vet test test-race +check: fmt vet test test-race cyclo: - @for d in $(DIRS) ; do \ + @for d in `govendor list -no-status +local | sed 's/github.com.spf13.hugo/./'` ; do \ if [ "`gocyclo -over 20 $$d | tee /dev/stderr`" ]; then \ echo "^ cyclomatic complexity exceeds 20, refactor the code!" && echo && exit 1; \ fi \ done fmt: - @for d in $(DIRS) ; do \ + @for d in `govendor list -no-status +local | sed 's/github.com.spf13.hugo/./'` ; do \ if [ "`gofmt -l $$d/*.go | tee /dev/stderr`" ]; then \ echo "^ improperly formatted go files" && echo && exit 1; \ fi \ done lint: - @if [ "`golint ./... | tee /dev/stderr`" ]; then \ - echo "^ golint errors!" && echo && exit 1; \ - fi + @for d in `govendor list -no-status +local | sed 's/github.com.spf13.hugo/./'` ; do \ + if [ "`golint $$d | tee /dev/stderr`" ]; then \ + echo "^ golint errors!" && echo && exit 1; \ + fi \ + done get: go get -v -t ./... test: - go test ./... + govendor test +local test-race: - go test -race ./... + govendor test -race +local vet: - @if [ "`go vet ./... | tee /dev/stderr`" ]; then \ + @if [ "`govendor vet +local | tee /dev/stderr`" ]; then \ echo "^ go vet errors!" && echo && exit 1; \ fi diff --git a/vendor/vendor.json b/vendor/vendor.json new file mode 100644 index 000000000..8b8c652e8 --- /dev/null +++ b/vendor/vendor.json @@ -0,0 +1,417 @@ +{ + "comment": "", + "ignore": "test", + "package": [ + { + "checksumSHA1": "hqDDDpue/5363luidNMBS8z8eJU=", + "path": "github.com/BurntSushi/toml", + "revision": "99064174e013895bbd9b025c31100bd1d9b590ca", + "revisionTime": "2016-07-17T15:07:09Z" + }, + { + "checksumSHA1": "9Ob5JNGzi/pGXYMuHclig69IHPk=", + "path": "github.com/PuerkitoBio/purell", + "revision": "8a290539e2e8629dbc4e6bad948158f790ec31f4", + "revisionTime": "2016-07-28T01:56:03Z" + }, + { + "checksumSHA1": "pvmScnaMFuAVLTxxOWjhGZBgPkg=", + "path": "github.com/PuerkitoBio/urlesc", + "revision": "5bd2802263f21d8788851d5305584c82a5c75d7e", + "revisionTime": "2016-07-26T15:08:25Z" + }, + { + "checksumSHA1": "K8wTIgrK5sl+LmQs8CD/orvKsAM=", + "path": "github.com/bep/inflect", + "revision": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69", + "revisionTime": "2016-04-08T19:03:23Z" + }, + { + "checksumSHA1": "ntacCkWfMT63DaehXLG5FeXWyNM=", + "path": "github.com/cpuguy83/go-md2man/md2man", + "revision": "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa", + "revisionTime": "2016-09-04T16:08:59Z" + }, + { + "checksumSHA1": "jqSVRDK7dGg6E/NikVq1Kw6gdbA=", + "origin": "github.com/stretchr/testify/vendor/github.com/davecgh/go-spew/spew", + "path": "github.com/davecgh/go-spew/spew", + "revision": "9f9027faeb0dad515336ed2f28317f9f8f527ab4", + "revisionTime": "2016-01-29T19:31:06Z" + }, + { + "checksumSHA1": "Gg9/TEWjO52UKbEQ6fRB/bpcOW8=", + "path": "github.com/dchest/cssmin", + "revision": "fb8d9b44afdc258bfff6052d3667521babcb2239", + "revisionTime": "2015-12-10T17:00:30Z" + }, + { + "checksumSHA1": "lHT/jkjKji5YeWxPXYXJFl0ou30=", + "path": "github.com/eknkc/amber", + "revision": "7875e9689d335cd15294cd6f4f0ef8322ce4c8e7", + "revisionTime": "2016-07-18T20:18:49Z" + }, + { + "checksumSHA1": "PAzm/pVcWpFYSUsnkphRcD/4igM=", + "path": "github.com/eknkc/amber/parser", + "revision": "7875e9689d335cd15294cd6f4f0ef8322ce4c8e7", + "revisionTime": "2016-07-18T20:18:49Z" + }, + { + "checksumSHA1": "xgjI2W3RGiQwNlxsOW2V9fJ9kaM=", + "path": "github.com/fsnotify/fsnotify", + "revision": "f12c6236fe7b5cf6bcf30e5935d08cb079d78334", + "revisionTime": "2016-08-16T05:15:41Z" + }, + { + "checksumSHA1": "klfNfdEPsrWYLps2qBkLgfJsNYI=", + "path": "github.com/gorilla/websocket", + "revision": "a69d25be2fe2923a97c2af6849b2f52426f68fc0", + "revisionTime": "2016-08-02T13:32:03Z" + }, + { + "checksumSHA1": "fa9G5tEr4oJJc3vtgn/B0NWZXfA=", + "path": "github.com/hashicorp/hcl", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "67DfevLBglV52Y2eAuhFc/xQni0=", + "path": "github.com/hashicorp/hcl/hcl/ast", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "l2oQxBsZRwn6eZjf+whXr8c9+8c=", + "path": "github.com/hashicorp/hcl/hcl/parser", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "lgR7PSAZ0RtvAc9OCtCnNsF/x8g=", + "path": "github.com/hashicorp/hcl/hcl/scanner", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "JlZmnzqdmFFyb1+2afLyR3BOE/8=", + "path": "github.com/hashicorp/hcl/hcl/strconv", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "c6yprzj06ASwCo18TtbbNNBHljA=", + "path": "github.com/hashicorp/hcl/hcl/token", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "jQ45CCc1ed/nlV7bbSnx6z72q1M=", + "path": "github.com/hashicorp/hcl/json/parser", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "YdvFsNOMSWMLnY6fcliWQa0O5Fw=", + "path": "github.com/hashicorp/hcl/json/scanner", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "fNlXQCQEnb+B3k5UDL/r15xtSJY=", + "path": "github.com/hashicorp/hcl/json/token", + "revision": "99df0eb941dd8ddbc83d3f3605a34f6a686ac85e", + "revisionTime": "2016-09-02T16:52:19Z" + }, + { + "checksumSHA1": "40vJyUB4ezQSn/NSadsKEOrudMc=", + "path": "github.com/inconshreveable/mousetrap", + "revision": "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75", + "revisionTime": "2014-10-17T20:07:13Z" + }, + { + "checksumSHA1": "g+afVQQVopBLiLB5pFZp/8s6aBs=", + "path": "github.com/kardianos/osext", + "revision": "c2c54e542fb797ad986b31721e1baedf214ca413", + "revisionTime": "2016-08-11T00:15:26Z" + }, + { + "checksumSHA1": "KQhA4EQp4Ldwj9nJZnEURlE6aQw=", + "path": "github.com/kr/fs", + "revision": "2788f0dbd16903de03cb8186e5c7d97b69ad387b", + "revisionTime": "2013-11-06T22:25:44Z" + }, + { + "checksumSHA1": "CkcX4KmtfcUjjImairY6Ghved0c=", + "path": "github.com/kyokomi/emoji", + "revision": "17c5e7085c9d59630aa578df67f4469481fbe7a9", + "revisionTime": "2016-04-21T00:15:58Z" + }, + { + "checksumSHA1": "S6PDDQMYaKwLDIP/NsRYb4FRAqQ=", + "path": "github.com/magiconair/properties", + "revision": "0723e352fa358f9322c938cc2dadda874e9151a9", + "revisionTime": "2016-09-08T09:36:58Z" + }, + { + "checksumSHA1": "NB2lR3X+k06CY34/cqOTRng7aqw=", + "path": "github.com/miekg/mmark", + "revision": "78d9f44038b26a921d5bfa9a013cd74e1c2c83b6", + "revisionTime": "2016-08-16T14:20:57Z" + }, + { + "checksumSHA1": "LUrnGREfnifW4WDMaavmc9MlLI0=", + "path": "github.com/mitchellh/mapstructure", + "revision": "ca63d7c062ee3c9f34db231e352b60012b4fd0c1", + "revisionTime": "2016-08-08T18:12:53Z" + }, + { + "checksumSHA1": "FXzkR+JeFjSwQSZgq8Qrkv/t63k=", + "path": "github.com/nicksnyder/go-i18n/i18n/bundle", + "revision": "37e5c2de3e03e4b82693e3fcb4a6aa2cc4eb07e3", + "revisionTime": "2015-11-23T19:03:53Z" + }, + { + "checksumSHA1": "+XOg99I1zdmBRUb04ZswvzQ2WS0=", + "path": "github.com/nicksnyder/go-i18n/i18n/language", + "revision": "37e5c2de3e03e4b82693e3fcb4a6aa2cc4eb07e3", + "revisionTime": "2015-11-23T19:03:53Z" + }, + { + "checksumSHA1": "nhlpSPeAP6jMGAuLPM2xflAZTlo=", + "path": "github.com/nicksnyder/go-i18n/i18n/translation", + "revision": "37e5c2de3e03e4b82693e3fcb4a6aa2cc4eb07e3", + "revisionTime": "2015-11-23T19:03:53Z" + }, + { + "checksumSHA1": "8Y05Pz7onrQPcVWW6JStSsYRh6E=", + "path": "github.com/pelletier/go-buffruneio", + "revision": "df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d", + "revisionTime": "2016-01-24T19:35:03Z" + }, + { + "checksumSHA1": "8p2QlEz7wJdeT4RQINh1mQgB0YQ=", + "path": "github.com/pelletier/go-toml", + "revision": "31055c2ff0bb0c7f9095aec0d220aed21108121e", + "revisionTime": "2016-09-06T20:25:57Z" + }, + { + "checksumSHA1": "Hky3u+8Rqum+wB5BHMj0A8ZmT4g=", + "path": "github.com/pkg/errors", + "revision": "17b591df37844cde689f4d5813e5cea0927d8dd2", + "revisionTime": "2016-08-22T09:00:10Z" + }, + { + "checksumSHA1": "v6/DDmWObvEsdMvLe+KfuBVSNtg=", + "path": "github.com/pkg/sftp", + "revision": "8197a2e580736b78d704be0fc47b2324c0591a32", + "revisionTime": "2016-09-08T10:00:35Z" + }, + { + "checksumSHA1": "zKKp5SZ3d3ycKe4EKMNT0BqAWBw=", + "origin": "github.com/stretchr/testify/vendor/github.com/pmezard/go-difflib/difflib", + "path": "github.com/pmezard/go-difflib/difflib", + "revision": "9f9027faeb0dad515336ed2f28317f9f8f527ab4", + "revisionTime": "2016-01-29T19:31:06Z" + }, + { + "checksumSHA1": "RTwV7SdfAZKfWzL6S2TphXBA7l4=", + "path": "github.com/russross/blackfriday", + "revision": "35eb537633d9950afc8ae7bdf0edb6134584e9fc", + "revisionTime": "2016-09-09T06:28:54Z" + }, + { + "checksumSHA1": "XXTR/ftEYSqQn4+Y7wNfiJJmq9U=", + "path": "github.com/shurcooL/sanitized_anchor_name", + "revision": "10ef21a441db47d8b13ebcc5fd2310f636973c77", + "revisionTime": "2015-10-28T00:19:15Z" + }, + { + "checksumSHA1": "59wTbS4fE2282Q88NrBYImbFGbo=", + "path": "github.com/spf13/afero", + "revision": "20500e2abd0d1f4564a499e83d11d6c73cd58c27", + "revisionTime": "2016-08-21T08:36:12Z" + }, + { + "checksumSHA1": "S29tnboEqKV8/ghlvDzaqtJJD7E=", + "path": "github.com/spf13/afero/mem", + "revision": "20500e2abd0d1f4564a499e83d11d6c73cd58c27", + "revisionTime": "2016-08-21T08:36:12Z" + }, + { + "checksumSHA1": "sLyAUiIT7V0DNVp6yBhW4Ms5BEs=", + "path": "github.com/spf13/afero/sftp", + "revision": "20500e2abd0d1f4564a499e83d11d6c73cd58c27", + "revisionTime": "2016-08-21T08:36:12Z" + }, + { + "checksumSHA1": "F5PKdeFzODdoAChY/aEiEDaNWtQ=", + "path": "github.com/spf13/cast", + "revision": "e31f36ffc91a2ba9ddb72a4b6a607ff9b3d3cb63", + "revisionTime": "2016-07-30T09:20:37Z" + }, + { + "checksumSHA1": "fEGgcE+iSzLkxdrbRj7j/vV7a7E=", + "path": "github.com/spf13/cobra", + "revision": "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744", + "revisionTime": "2016-08-30T17:49:25Z" + }, + { + "checksumSHA1": "rJRJtv7XT5eDwNlcqNPC+NjXCYE=", + "path": "github.com/spf13/cobra/doc", + "revision": "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744", + "revisionTime": "2016-08-30T17:49:25Z" + }, + { + "checksumSHA1": "rX57qaKXtIrqUqD7Rskj6YeT6wI=", + "path": "github.com/spf13/fsync", + "revision": "1773df7b269b572f0fc8df916b38e3c9d15cee66", + "revisionTime": "2016-07-01T14:58:17Z" + }, + { + "checksumSHA1": "dkruahfhuLXXuyeCuRpsWlcRK+8=", + "path": "github.com/spf13/jwalterweatherman", + "revision": "33c24e77fb80341fe7130ee7c594256ff08ccc46", + "revisionTime": "2016-03-01T12:00:06Z" + }, + { + "checksumSHA1": "zLJY+lsX1e5OO6gRxQd5RfKgdQY=", + "path": "github.com/spf13/nitro", + "revision": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8", + "revisionTime": "2013-10-03T13:43:07Z" + }, + { + "checksumSHA1": "AdV2H8HNLmUZbKzDdGme3s1gffI=", + "path": "github.com/spf13/pflag", + "revision": "5b54501df936f43e0d858576a9285b65f30407fa", + "revisionTime": "2016-09-09T13:42:53Z" + }, + { + "checksumSHA1": "AEhbo+ngM14A/E4LwHOspRTrpJk=", + "path": "github.com/spf13/viper", + "revision": "16990631d4aa7e38f73dbbbf37fa13e67c648531", + "revisionTime": "2016-08-30T14:32:46Z" + }, + { + "checksumSHA1": "Bn333k9lTndxU3D6n/G5c+GMcYY=", + "path": "github.com/stretchr/testify/assert", + "revision": "9f9027faeb0dad515336ed2f28317f9f8f527ab4", + "revisionTime": "2016-01-29T19:31:06Z" + }, + { + "checksumSHA1": "P9FJpir2c4G5PA46qEkaWy3l60U=", + "path": "github.com/stretchr/testify/require", + "revision": "9f9027faeb0dad515336ed2f28317f9f8f527ab4", + "revisionTime": "2016-01-29T19:31:06Z" + }, + { + "checksumSHA1": "U4bWGZ3c9p8FHrgU5l4l5i7A6bo=", + "path": "github.com/yosssi/ace", + "revision": "ea038f4770b6746c3f8f84f14fa60d9fe1205b56", + "revisionTime": "2016-07-28T07:45:28Z" + }, + { + "checksumSHA1": "h+pFYiRHBogczS8/F1NoN3Ata44=", + "path": "golang.org/x/crypto/curve25519", + "revision": "0e31b188fd38db611d4fbab7de9373a95f36aae5", + "revisionTime": "2016-09-09T01:05:11Z" + }, + { + "checksumSHA1": "wGb//LjBPNxYHqk+dcLo7BjPXK8=", + "path": "golang.org/x/crypto/ed25519", + "revision": "0e31b188fd38db611d4fbab7de9373a95f36aae5", + "revisionTime": "2016-09-09T01:05:11Z" + }, + { + "checksumSHA1": "LXFcVx8I587SnWmKycSDEq9yvK8=", + "path": "golang.org/x/crypto/ed25519/internal/edwards25519", + "revision": "0e31b188fd38db611d4fbab7de9373a95f36aae5", + "revisionTime": "2016-09-09T01:05:11Z" + }, + { + "checksumSHA1": "pXOcpeiBjX3zbVKeg0pvYnEmtqU=", + "path": "golang.org/x/crypto/ssh", + "revision": "0e31b188fd38db611d4fbab7de9373a95f36aae5", + "revisionTime": "2016-09-09T01:05:11Z" + }, + { + "checksumSHA1": "GIGmSrYACByf5JDIP9ByBZksY80=", + "path": "golang.org/x/net/idna", + "revision": "cfe3c2a7525b50c3d707256e371c90938cfef98a", + "revisionTime": "2016-09-03T02:20:35Z" + }, + { + "checksumSHA1": "8fD/im5Kwvy3JgmxulDTambmE8w=", + "path": "golang.org/x/sys/unix", + "revision": "30de6d19a3bd89a5f38ae4028e23aaa5582648af", + "revisionTime": "2016-09-07T05:59:14Z" + }, + { + "checksumSHA1": "9lOtRfhl48QxUwyx3YJNekCLTPE=", + "path": "golang.org/x/text/cases", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "hyNCcTwMQnV6/MK8uUW9E5H0J0M=", + "path": "golang.org/x/text/internal/tag", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "vbYsvMa+yYFTrmD0bIVhA36DpgQ=", + "path": "golang.org/x/text/language", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "cQ4+8mXpYioml5/hO7ZyeECoFJc=", + "path": "golang.org/x/text/runes", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "1VjEPyjdi0xOiIN/Alkqiad/B/c=", + "path": "golang.org/x/text/secure/bidirule", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "1IuvLthKYvAb/tapHq+e/OH7KNk=", + "path": "golang.org/x/text/secure/precis", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "TZDHZj3zWDc5LKqpoLamOKt6Nmo=", + "path": "golang.org/x/text/transform", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "2IEszVJvEtg9W9g2zuZsbxZNW/k=", + "path": "golang.org/x/text/unicode/bidi", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "pDDMc5yLVQ2xeR9CajcgIJODPcw=", + "path": "golang.org/x/text/unicode/norm", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "BU+BXnKIUJk/ncvbmW4v9248JWg=", + "path": "golang.org/x/text/width", + "revision": "1e65e9bf72c307081cea196f47ef37aed17eb316", + "revisionTime": "2016-08-30T12:50:59Z" + }, + { + "checksumSHA1": "yV+2de12Q/t09hBGYGKEOFr1/zc=", + "path": "gopkg.in/yaml.v2", + "revision": "e4d366fc3c7938e2958e662b4258c7a89e1f0e3e", + "revisionTime": "2016-07-15T03:37:55Z" + } + ], + "rootPath": "github.com/spf13/hugo" +}