Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between rebar and rebar3? or erlang.mk

Tags:

erlang

rebar

I am very new to Erlang programming language. Is there a standard build tool in Erlang?

I have googled out these, not sure which one I should use. I don't know that what kind of occasion is it used for?

like image 366
Leviathan Avatar asked Jan 21 '16 02:01

Leviathan


1 Answers

  • Rebar2: It is first usable and de facto build tool that most of the Erlang projects are using it. It uses Erlang script for getting dependencies, compiling, testing and making release of your project. However it is not a modern build tool and suffers from slowness of compiling in developing phase, difficulty for using in larger projects and a bit hard to understand for newcomers.

  • Rebar3: It is a successor to rebar2 with an attempt to improving its mechanism and providing new features which is compatible with modern build tools. Also it is easier to use for newcomers

  • Erlang.mk: It is a big Makefile. As Makefile is fast and is available by default in every unix system, so you can benefit from these features for your Erlang application build tool. It has a package index of most well-known Erlang projects and other standard features like Rebar. Also it is faster that rebar2 in developing phase (preliminary results show that rebar3 is notably faster than Erlang.mk)


I myself use Rebar and this possible duplicate of your question has two answers that recommend Rebar as well. But it is a matter of taste and I recommend to consider two different approaches and choose what is closer to your purposes.

like image 98
Hamidreza Soleimani Avatar answered Nov 08 '22 20:11

Hamidreza Soleimani