erlangerlang-shellrebar3

What is the workflow for compiling one file using rebar3?


rebar3 seems to recompile everything every time.

Often I am only modifying one file. That's the file I want to recompile, I know everything else is fine.

What is the workflow for doing this? Ideally I could do it from the Erlang shell. Rebar3 already knows my include paths and build directory with the beams in it, how can I take advantage of Rebar's knowledge so I don't have to type it all into the shell over again as arguments to c(File, Opts)?


Solution

  • Keep in mind that rebar3 avoids recompiling up-to-date modules (although it checks them).

    That being said, I think the most popular option (and suitable for your needs) is using this plugin.
    In my case, I have a set of scripts to set up inotifywait and bring up the whole release down and up again. I also often create shell functions if I need to compile often:

    4> C = fun() -> c('my_awesome_module', []) end. 
    #Fun<erl_eval.45.97283095>
    5> C().
    {error,non_existing}