jvd-remove-red-herring Defer execution of shell command

The following error occurs when `tfw` is installed from
a tarball:

```
fatal: Not a git repository (or any of the parent directories): .git

```

This ensures the failing command is only executed when the variable is
referenced.

```
% cat <<'EOF' >Makefile
FOO = $(shell foo)

.PHONY: bar
bar:
@echo "not using foo"

.PHONY: baz
baz:
@echo using FOO: $(FOO)
EOF

% make bar
not using foo

% make baz
make: foo: Command not found
using FOO:
```

Joep van Delft avatar Joep van Delft

Push event #214.1 passed

  • Ran for
AMD64
no language set
Git
.travis.yml
language: __stevonnie__
dist: xenial
group: edge
services:
- docker
cache:
  directories:
  - "${HOME}/bin"
addons:
  apt:
    packages:
    - python3-virtualenv
env:
  global:
  - RUNDIR=$TRAVIS_BUILD_DIR/tmp/travis-run.d
before_install:
- python3 --version
- travis_retry python3 -m virtualenv --python=python3 .venv
- source .venv/bin/activate
- python --version
install:
- make deps
script:
- make lint
- touch bin/tfw
- make USAGE.md
- git diff --exit-code
- git diff --cached --exit-code
- make test
- make sysseed
- make systest
Build Config
{
  "os": [
    "linux"
  ],
  "env": {
    "global": [
      "RUNDIR=$TRAVIS_BUILD_DIR/tmp/travis-run.d"
    ]
  },
  "dist": "xenial",
  "sudo": false,
  "cache": {
    "directories": [
      "${HOME}/bin"
    ]
  },
  "group": "edge",
  "addons": {
    "apt": {
      "packages": [
        "python3-virtualenv"
      ]
    }
  },
  "script": [
    "make lint",
    "touch bin/tfw",
    "make USAGE.md",
    "git diff --exit-code",
    "git diff --cached --exit-code",
    "make test",
    "make sysseed",
    "make systest"
  ],
  "install": [
    "make deps"
  ],
  "language": "__stevonnie__",
  "services": [
    "docker"
  ],
  "before_install": [
    "python3 --version",
    "travis_retry python3 -m virtualenv --python=python3 .venv",
    "source .venv/bin/activate",
    "python --version"
  ]
}