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)
?
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}