summaryrefslogtreecommitdiff
path: root/src/rebar_packages.erl
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2018-04-27 07:05:01 -0400
committerGitHub <noreply@github.com>2018-04-27 07:05:01 -0400
commitd3efb4708cd2303b506988c71ee3671a743b1da2 (patch)
tree12c647d5f328d9987bdc632683e4351a9b2098fb /src/rebar_packages.erl
parent7eca59670f43f5298dd9d126911e583eef7edd0f (diff)
parentdf9c769afc4c3480305a1f204b37828531e10331 (diff)
Merge pull request #1769 from ferd/warn-on-read-only-cachedir
Display warnings when cache dirs are read-only
Diffstat (limited to 'src/rebar_packages.erl')
-rw-r--r--src/rebar_packages.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rebar_packages.erl b/src/rebar_packages.erl
index 50d4025..8cebeca 100644
--- a/src/rebar_packages.erl
+++ b/src/rebar_packages.erl
@@ -97,7 +97,12 @@ registry_dir(State) ->
case rebar_state:get(State, rebar_packages_cdn, ?DEFAULT_CDN) of
?DEFAULT_CDN ->
RegistryDir = filename:join([CacheDir, "hex", "default"]),
- ok = filelib:ensure_dir(filename:join(RegistryDir, "placeholder")),
+ case filelib:ensure_dir(filename:join(RegistryDir, "placeholder")) of
+ ok -> ok;
+ {error, Posix} when Posix == eaccess; Posix == enoent ->
+ ?ABORT("Could not write to ~p. Please ensure the path is writeable.",
+ [RegistryDir])
+ end,
{ok, RegistryDir};
CDN ->
case rebar_utils:url_append_path(CDN, ?REMOTE_PACKAGE_DIR) of