diff options
author | Jordan Wilberding <[email protected]> | 2015-01-06 23:18:22 -0800 |
---|---|---|
committer | Jordan Wilberding <[email protected]> | 2015-01-06 23:18:22 -0800 |
commit | e045a0fcb860d8a21c143228f40d23b7d42fb784 (patch) | |
tree | 8b34a43bede32f7b06b94baa4ac1564b977a3920 | |
parent | b1003cf6ac3b1f7deb8840806155c8b49b690cdf (diff) | |
parent | c215312707728f0b50f4dd71e7ac9b4305850bad (diff) | |
download | relx-e045a0fcb860d8a21c143228f40d23b7d42fb784.tar.gz relx-e045a0fcb860d8a21c143228f40d23b7d42fb784.tar.bz2 relx-e045a0fcb860d8a21c143228f40d23b7d42fb784.zip |
Merge pull request #291 from tsloughter/dedup_lib_dirs
remove duplicates without changing order of list for lib dirs
-rw-r--r-- | src/rlx_prv_app_discover.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rlx_prv_app_discover.erl b/src/rlx_prv_app_discover.erl index 9a5da4d..b5226ad 100644 --- a/src/rlx_prv_app_discover.erl +++ b/src/rlx_prv_app_discover.erl @@ -55,7 +55,7 @@ init(State) -> %% looking for OTP Applications -spec do(rlx_state:t()) -> {ok, rlx_state:t()} | relx:error(). do(State0) -> - LibDirs = lists:usort(get_lib_dirs(State0)), + LibDirs = dedup(get_lib_dirs(State0)), case rlx_app_discovery:do(State0, LibDirs) of {ok, AppMeta} -> State1 = rlx_state:available_apps(State0, AppMeta), @@ -131,3 +131,9 @@ add_system_lib_dir(State) -> SystemLibs -> erlang:iolist_to_binary(SystemLibs) end. + +%% Order matters so this slow dedup needs to be used +dedup([]) -> + []; +dedup([H|T]) -> + [H | [X || X <- dedup(T), X /= H]]. |