你用什么工具来构建Erlang程序?

Kir*_*mov 26 erlang build

您使用什么工具来构建Erlang程序:Emake,makiefile或其他?

bjn*_*ier 24

自从这些答案以来,Erlang社区出现了一个新标准:

Rebar https://github.com/basho/rebar/

  • 它确实不是一个标准,而是一个贡献.Erlang的make是一个标准,因为它包含在发行版中. (4认同)

小智 15

我们也使用类似的Emakefile.

{"src/*", [debug_info, {outdir, "ebin"}, {i, "include"}]}.
Run Code Online (Sandbox Code Playgroud)

我使用erlang make功能在成功编译后运行测试.

Makefile提取:

all: compile

compile:
        erlc -o ebin +debug_info erl_make.erl       
        erl -pa ./ebin -eval "erl_make:make(development)" -s init stop -noshell
Run Code Online (Sandbox Code Playgroud)

erl_make.erl

-module(erl_make).

-export([make/1]).

make(Mode) ->
    case make:all([{d, Mode}]) of
        error ->
            error;
        _ ->
            test_suite:test()
    end.
Run Code Online (Sandbox Code Playgroud)


Eri*_*ric 7

我使用调用Emakefile的Rakefile.Rakefile的灵活性和Emakefile的速度!

此版本的系统是非常强大的,看erl_rakeGitHub上

生成.app文件,自动构建版本,运行EUnit测试.鉴于它是围绕Rakefile构建的,我已经添加了轻松推送发布到AWS并使用etap运行我的测试.

我为我的github项目定制了一个旧版本.


Zed*_*Zed 6

这是我通常与make一起使用的Makefile和Emakefile(来源未知).

Makefile文件:

ERL=erl
APPFILE=myApp.app

all: ebin/$(APPFILE)
    $(ERL) -make 

ebin/$(APPFILE): src/$(APPFILE)
    cp $< $@ 
Run Code Online (Sandbox Code Playgroud)

Emakefile:

{"src/*", [debug_info, {outdir, "ebin"}, {i, "include"}]}.
Run Code Online (Sandbox Code Playgroud)