weavejester / environ

Library for managing environment variables in Clojure
924 stars 71 forks source link

Read boot-env using io/resource and io/reader #81

Open larkery opened 6 years ago

larkery commented 6 years ago

Previously used io/file with io/resource, which is not safe when the resource is not a file.

Something like this should work?

weavejester commented 6 years ago

Thanks for the patch. Can you wrap the commit message at 72 characters and add a reference to the issue being solved, e.g. something like:

Read boot-env using io/resource and io/reader

Using io/file with io/resource is not safe when the resource is not a
file, so would cause uberjars with environ to fail.

Fixes: #80
larkery commented 6 years ago

I've twiddled the commit a bit to reformat the message and put in a test that .boot-env is read off the classpath as a resource.

weavejester commented 6 years ago

Thanks! However I think the commit message should make it clear that including .boot-env in a jar is not the intended purpose of the file. So perhaps:

Read boot-env using io/resource and io/reader

Ensures that Environ doesn't crash if .boot-env is accidentally included
in a jar file on the classpath.

Fixes: #80

We don't need to explain exactly how it was fixed, since I think that's self-explanatory for the diff.

Both .boot-env and .lein-env are intended to be temporary files to facilitate the transfer of data from the build script into the running process.