Erlang 用于编译钢筋依赖项的自定义命令

Erlang 用于编译钢筋依赖项的自定义命令,erlang,rebar,Erlang,Rebar,我有一个钢筋依赖项,需要在编译应用程序之前运行“/configure”命令(它实际生成Makefile)。可以告诉钢筋如何构建特定的依赖项吗?在您的rebar.config文件中,可以定义预编译挂钩。它基本上是在实际编译之前运行的shell命令/脚本 {pre_hooks, [ {compile, "path/to/dep/configure" ]} 在讨论了钢筋邮件列表中的问题后,我创建了一个钢筋插件。在这里,以防有人需要做类似的事情。当前的钢筋插件API需要最终的“ok” -mod

我有一个钢筋依赖项,需要在编译应用程序之前运行“/configure”命令(它实际生成Makefile)。可以告诉钢筋如何构建特定的依赖项吗?

在您的rebar.config文件中,可以定义预编译挂钩。它基本上是在实际编译之前运行的shell命令/脚本

{pre_hooks, [
    {compile, "path/to/dep/configure"
]}

在讨论了钢筋邮件列表中的问题后,我创建了一个钢筋插件。在这里,以防有人需要做类似的事情。当前的钢筋插件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.

这是行不通的,因为它是在编译应用程序之前执行的,而是在编译依赖项之后执行的。我需要在编译一个依赖项之前运行它。我想我对设置有点困惑。依赖项本身是否使用钢筋?我的假设是:依赖项不使用钢筋,任何其他依赖项都不需要。