[erlang-questions] "Automatic" recompile app from a console

Dmitry Klionsky dm.klionsky@REDACTED
Sat Feb 2 09:39:15 CET 2013

We use modified version of sync https://github.com/ten0s/sync that 
supports releases, detects new files, and monitors changes in include 
files (at least it should, don't use this feature often) as far as the 
next requirements are met:
1. Make sync somehow available to your release. Include it into your 
release or put it in the erlang libs.
2. Build the project with debug_info.
3. Remove {debug_info, strip} from reltool.config
4. Add {excl_archive_filters, [".*"]} to reltool.config
5. Start sync:start() before making any changes.
6. Disable any growl notifications (optional)

We also edit files in emacs with flymake mode enabled using custom 
erlang syntax checker for *.erl, *.hrl, *.config files 

In general our workflow is:
1. Build the project with rebar
$ make
2. Start it in the console mode
$ make console
3. Start sync
 > sync:start().
4. Now start edit files. Whenever flymake says that the file is OK 
pretty soon sync will reload it. This workflow works fine until you need 
to make big changes like adding a child to a supervisor or make a new 
application. In this case go to point 1 and start over.

Hope this helps.

On 02/01/2013 12:08 AM, John Kemp wrote:
> Hi,
> I have been writing an application using rebar to build the app. I run 
> the server and open a console. I then change the source code and 
> apparently I need to leave the console, 'make rel' and restart the app 
> and the console.
> I'm sure there's a better way to do what I'm doing.
> One project I found is https://github.com/rustyio/sync, but this did 
> not (yet) work for me according to the instructions.
> How can I have my rebar (or just Erlang) app automatically recompile 
> ('make rel') when one of the source files changes, or run a command 
> from within the console to do this?
> Cheers,
> JohnK
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

Best regards,
Dmitry Klionsky

More information about the erlang-questions mailing list