This might really only be useful for me, but I thought I would share the
Rebar templates that I have written to streamline my Erlang development.
So far it only consists of templates for the following:
- ejabberd module
- OTP gen_server callback modules
- OTP gen_event callback modules
- simple rebar project layout
- escript starter script
- OTP application and supervisor callback modules
- Nitrogen page handler (for Nitrogen v2+)
If you don’t already you can clone this Git repository in your ${HOME}/.rebar/templates directory, i.e.:
$ git clone git://github.com/mbbx6spp/rebar-templates.git ~/.rebar/templates
(Thanks @dizzyd for the pointer.)
Alternatively you can add this as a submodule under ${PROJECT_ROOT}/priv/templates if you want to use
these templates just for a particular project.
- Ahmed D. Omar – bug fix in ejabberdmod template (s/init\/7/init\/2/ in exports).
If you want to create a new rebar directory layout for your new project you can do the following:
$ mkdir project_name
$ cd project_name
$ rebar create template=project project_name=project_name description="Describe your project here."
This will generate 6 directories and 4 files by default that are organized like the following:
. ├── deps/ ├── ebin/ ├── Emakefile ├── include/ ├── Makefile ├── priv/ ├── README ├── rebar.config ├── src/ └── tests/
To generate a stub of an ejabberd extension module that intercepts sent and received packets you can do the following:
%% inside your rebar based project directory $ rebar create template=ejabberdmod name=mod_name_here
HTH
@SusanPotter