boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 180 forks source link

Don't limit true values to "1" or "yes" #631

Closed xiongtx closed 6 years ago

xiongtx commented 7 years ago

Boot Bug Report

Platform details

Platform (macOS, Linux, Windows): Darwin C02RW05YFVH6 15.6.0 JRE/JDK version (java -version):

java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

Boot details

BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.6.0

Description

Boot requires a number of environment variables, e.g. BOOT_WATCHERS_DISABLE, to be 1 or yes. This is arbitrary and contrary to expectation--we recently ran into an issue where BOOT_WATCHERS_DISABLE wasn't working because we had set it to true, a much more common and conventional value.

These environment variables should accept any truthy value, e.g. true, and reject only some values, e.g. false.

Steps to reproduce

  1. Set BOOT_WATCHERS_DISABLE to true in circle.yml
  2. Be confused as to why it's not working on CircleCI
arichiardi commented 6 years ago

I agree there is a problem with that there, but we should follow some convention, not pick arbitrary things and || them together.

For instance one could pick the following convention: when the variable is set it means the "feature" is enabled, no matter what value. But this is only one possible solution.

Probably the picked convention should be really clear in the env var documentation.