Przeglądaj źródła

Merge pull request #2309 from pablocostass/2307_local_commands_delete_applications

Extract rebar3 libs in a version dependent directory when using local commands
pull/2326/head
Tristan Sloughter 4 lat temu
committed by GitHub
rodzic
commit
000ac5339a
Nie znaleziono w bazie danych klucza dla tego podpisu ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 8 dodań i 6 usunięć
  1. +8
    -6
      src/rebar_prv_local_install.erl

+ 8
- 6
src/rebar_prv_local_install.erl Wyświetl plik

@ -61,11 +61,11 @@ format_error({non_writeable, Dir}) ->
format_error(Reason) -> format_error(Reason) ->
io_lib:format("~p", [Reason]). io_lib:format("~p", [Reason]).
bin_contents(OutputDir) ->
{ok, Vsn} = application:get_key(rebar, vsn),
bin_contents(OutputDir, Vsn) ->
<<"#!/usr/bin/env sh <<"#!/usr/bin/env sh
## Rebar3 ", (iolist_to_binary(Vsn))/binary, " ## Rebar3 ", (iolist_to_binary(Vsn))/binary, "
erl -pz ", (rebar_utils:to_binary(OutputDir))/binary,"/*/ebin +sbtu +A1 -noshell -boot start_clean -s rebar3 main $REBAR3_ERL_ARGS -extra \"$@\"
VSN=${VSN:-", (iolist_to_binary(Vsn))/binary, "}
erl -pz ", (rebar_utils:to_binary(OutputDir))/binary,"/${VSN}/lib/*/ebin +sbtu +A1 -noshell -boot start_clean -s rebar3 main $REBAR3_ERL_ARGS -extra \"$@\"
">>. ">>.
extract_escript(State, ScriptPath) -> extract_escript(State, ScriptPath) ->
@ -75,8 +75,10 @@ extract_escript(State, ScriptPath) ->
%% Extract contents of Archive to ~/.cache/rebar3/lib %% Extract contents of Archive to ~/.cache/rebar3/lib
%% And add a rebar3 bin script to ~/.cache/rebar3/bin %% And add a rebar3 bin script to ~/.cache/rebar3/bin
Opts = rebar_state:opts(State), Opts = rebar_state:opts(State),
OutputDir = filename:join(rebar_dir:global_cache_dir(Opts), "lib"),
case filelib:ensure_dir(filename:join(OutputDir, "empty")) of
{ok, Vsn} = application:get_key(rebar, vsn),
VersionsDir = filename:join(rebar_dir:global_cache_dir(Opts), "vsns"),
OutputDir = filename:join([VersionsDir, Vsn, "lib"]),
case filelib:ensure_dir(filename:join([OutputDir, "empty"])) of
ok -> ok ->
ok; ok;
{error, Posix} when Posix == eaccess; Posix == enoent -> {error, Posix} when Posix == eaccess; Posix == enoent ->
@ -91,7 +93,7 @@ extract_escript(State, ScriptPath) ->
filelib:ensure_dir(BinFile), filelib:ensure_dir(BinFile),
?INFO("Writing rebar3 run script ~ts...", [BinFile]), ?INFO("Writing rebar3 run script ~ts...", [BinFile]),
file:write_file(BinFile, bin_contents(OutputDir)),
file:write_file(BinFile, bin_contents(VersionsDir, Vsn)),
ok = file:write_file_info(BinFile, #file_info{mode=33277}), ok = file:write_file_info(BinFile, #file_info{mode=33277}),
?INFO("Add to $PATH for use: export PATH=~ts:$PATH", [BinDir]), ?INFO("Add to $PATH for use: export PATH=~ts:$PATH", [BinDir]),

Ładowanie…
Anuluj
Zapisz