Rebar Erlang and OTP templates written by Susan Potter of Finsignia. Until Rebar supports global default variable setting, you will probably need to fork this repository and edit the author_name and author_email in the variables section of the .template files.
Pull request Compare This branch is 5 commits behind mbbx6spp:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.textile
ctsuite.erl
ctsuite.template
ejabberdmod.erl
ejabberdmod.template
escript
escript.template
eunit.erl
eunit.template
finapp.app.src
finapp.template
finapp_app.erl
finapp_sup.erl
finevt.erl
finevt.template
finsrv.erl
finsrv.template
finsrv_proper_statem.erl
finsrv_proper_statem.template
finsup.erl
finsup.template
nitroaction.erl
nitroaction.template
nitroelem.erl
nitroelem.template
nitropage.erl
nitropage.template
project.template
project_Emakefile
project_Makefile
project_README
project_gitignore
project_rebar.config
rebar_compiler.erl
rebar_compiler.template
rebar_compiler_SUITE.erl
webmachine_resource.erl
webmachine_resource.template
ztmod.erl
ztmod.template

README.textile

Rebar Templates

Overview

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+)

Notes

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.

Developer(s)

Contributor(s)

  • Ahmed D. Omar – bug fix in ejabberdmod template (s/init\/7/init\/2/ in exports).

Examples

Rebar Project Layout

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/

ejabberd Module

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