]> granicus.if.org Git - ejabberd/commitdiff
In module_install copy also deps/ebin and priv files (ejabberd-contrib#200)
authorBadlop <badlop@process-one.net>
Mon, 13 Mar 2017 10:26:58 +0000 (11:26 +0100)
committerBadlop <badlop@process-one.net>
Mon, 13 Mar 2017 10:26:58 +0000 (11:26 +0100)
src/ext_mod.erl

index 00230496a2e4d0bbe732cb46a6bd114a7e3b6eee..387051d08550f6c180bfaaa7b9c6c99396b5448c 100644 (file)
@@ -570,10 +570,13 @@ compile_elixir_file(Dest, File) ->
 install(Module, Spec, SrcDir, LibDir) ->
     {ok, CurDir} = file:get_cwd(),
     file:set_cwd(SrcDir),
+    Files1 = [{File, copy(File, filename:join(LibDir, File))}
+                  || File <- filelib:wildcard("{ebin,priv,conf,include}/**")],
+    Files2 = [{File, copy(File, filename:join(LibDir, filename:join(lists:nthtail(2,filename:split(File)))))}
+                  || File <- filelib:wildcard("deps/*/{ebin,priv}/**")],
     Errors = lists:dropwhile(fun({_, ok}) -> true;
                                 (_) -> false
-            end, [{File, copy(File, filename:join(LibDir, File))}
-                  || File <- filelib:wildcard("{ebin,priv,conf,include}/**")]),
+            end, Files1++Files2),
     Result = case Errors of
         [{F, {error, E}}|_] ->
             {error, {F, E}};