---
options:
  fast:
    usage: Skip slow linters/tests
    type: bool

tasks:
  bootstrap:
    usage: Set up the app for first time use
    run:
      - command:
          - go get -u gopkg.in/alecthomas/gometalinter.v1
          - go get -u github.com/golang/dep/cmd/dep
          - dep ensure

  lint:
    usage: Run the linter
    options:
      opts:
        private: true
        computed:
          - when:
              test: ${fast} = true
            default: --fast
    run:
      - command: gometalinter.v1 --vendor ${opts} ./...

  test:
    usage: Run the linter and tests
    options:
      lint:
        usage: Run the linter with the tests
        default: true
        type: bool
    pre:
      - name: lint
        when:
          test: ${lint} = true
    run:
      - command: go test $(go list ./... | grep -v '/vendor/')

---
options:
  fast:
    usage: Skip slow linters/tests
    type: bool

tasks:
  bootstrap:
    usage: Set up the app for first time use
    run:
      - command:
          - go get -u gopkg.in/alecthomas/gometalinter.v1
          - go get -u github.com/golang/dep/cmd/dep
          - dep ensure

  lint:
    usage: Run the linter
    options:
      opts:
        private: true
        computed:
          - when:
              test: ${fast} = true
            default: --fast
    run:
      - command: gometalinter.v1 --vendor ${opts} ./...

  test:
    usage: Run the linter and tests
    options:
      lint:
        usage: Run the linter with the tests
        default: true
        type: bool
    pre:
      - name: lint
        when:
          test: ${lint} = true
    run:
      - command: go test -cover $(go list ./... | grep -v '/vendor/')

Add coverage to default test task
Add coverage to default test task
