2
我有一個鋼筋依賴關係,需要在編譯應用程序之前運行「./configure」命令(它實際上會生成Makefile)。是否有可能告訴螺紋鋼如何建立一個特定的依賴關係?用螺紋鋼編譯依賴關係的自定義命令
我有一個鋼筋依賴關係,需要在編譯應用程序之前運行「./configure」命令(它實際上會生成Makefile)。是否有可能告訴螺紋鋼如何建立一個特定的依賴關係?用螺紋鋼編譯依賴關係的自定義命令
在討論Rebar郵件列表中的問題後,我最終創建了一個Rebar插件。在這裏,如果有人需要做類似的事情。當前的Rebar插件API需要最後的'ok'。
-module(rebar_compiledeps_plugin).
-export([pre_compile/2]).
pre_compile(_, _) ->
Cwd = rebar_utils:get_cwd(),
case lists:suffix("my_dep", Cwd) of
true ->
Opts = [{cwd, Cwd}],
case filelib:is_regular(filename:join([Cwd, "Makefile"])) of
true ->
rebar_utils:sh("make [OPTIONS]", Opts);
false ->
rebar_utils:sh("./configure && make [OPTIONS]", Opts)
end;
false ->
ok
end,
ok.
在您的rebar.config文件中,您可以定義一個預編譯鉤子。它基本上是在實際編譯之前運行的shell命令/腳本。
{pre_hooks, [
{compile, "path/to/dep/configure"
]}
這是行不通的,因爲它是在編譯應用程序之前執行的,但是在編譯依賴關係之後。我需要它運行之前編譯的其中一個依賴關係。 –
我想我在設置上有點困惑。依賴本身是否使用螺紋鋼?我的假設是:依賴關係不使用螺紋鋼,不需要任何其他依賴。 –