summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2017-12-13 23:51:46 -0500
committerFred Hebert <mononcqc@ferd.ca>2017-12-13 23:51:46 -0500
commit718291e5169e08ac901f1109622e76381f7a0ccd (patch)
tree0a105ee4c2c0e9df1b6e5372aea90387e1b42fc3 /bootstrap
parentb7c021b3f216bdd03d286b467889d03b142f4bf3 (diff)
Fix repeated bootstrap runs
Updating the bootstrap script in #1689 made it so symlinks that already exist return `exist` rather than ok, in line with the regular code. However the bootstrap module wouldn't handle this case. This fixes the problem by ensuring that `exists` is as valid as `ok`.
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap7
1 files changed, 4 insertions, 3 deletions
diff --git a/bootstrap b/bootstrap
index 92933b6..a765ba1 100755
--- a/bootstrap
+++ b/bootstrap
@@ -168,8 +168,9 @@ compile_file(File, Opts) ->
bootstrap_rebar3() ->
filelib:ensure_dir("_build/default/lib/rebar/ebin/dummy.beam"),
code:add_path("_build/default/lib/rebar/ebin/"),
- ok = symlink_or_copy(filename:absname("src"),
- filename:absname("_build/default/lib/rebar/src")),
+ Res = symlink_or_copy(filename:absname("src"),
+ filename:absname("_build/default/lib/rebar/src")),
+ true = Res == ok orelse Res == exists,
Sources = ["src/rebar_resource.erl" | filelib:wildcard("src/*.erl")],
[compile_file(X, [{outdir, "_build/default/lib/rebar/ebin/"}
,return | additional_defines()]) || X <- Sources],
@@ -648,4 +649,4 @@ join([H|T], Sep) ->
chr(S, C) when is_integer(C) -> chr(S, C, 1).
chr([C|_Cs], C, I) -> I;
chr([_|Cs], C, I) -> chr(Cs, C, I+1);
-chr([], _C, _I) -> 0. \ No newline at end of file
+chr([], _C, _I) -> 0.