diff options
| -rw-r--r-- | priv/shell-completion/bash/rebar | 1 | ||||
| -rw-r--r-- | priv/shell-completion/zsh/_rebar | 1 | ||||
| -rw-r--r-- | priv/templates/simplelib.app.src | 14 | ||||
| -rw-r--r-- | priv/templates/simplelib.erl | 18 | ||||
| -rw-r--r-- | priv/templates/simplelib.template | 3 | ||||
| -rw-r--r-- | src/rebar.erl | 2 | ||||
| -rw-r--r-- | src/rebar_templater.erl | 11 | 
7 files changed, 50 insertions, 0 deletions
| diff --git a/priv/shell-completion/bash/rebar b/priv/shell-completion/bash/rebar index d4a42dc..7dc3b5e 100644 --- a/priv/shell-completion/bash/rebar +++ b/priv/shell-completion/bash/rebar @@ -21,6 +21,7 @@ _rebar()          compile \          create \          create-app \ +        create-lib \          create-node \          ct \          doc \ diff --git a/priv/shell-completion/zsh/_rebar b/priv/shell-completion/zsh/_rebar index 21d9a8a..384fead 100644 --- a/priv/shell-completion/zsh/_rebar +++ b/priv/shell-completion/zsh/_rebar @@ -31,6 +31,7 @@ _rebar () {          'compile[Compile sources]' \          'create[Create skel based on template and vars]' \          'create-app[Create simple app skel]' \ +        'create-lib[Create simple lib skel]' \          'create-node[Create simple node skel]' \          'list-template[List avaiavle templates]' \          'doc[Generate Erlang program documentation]' \ diff --git a/priv/templates/simplelib.app.src b/priv/templates/simplelib.app.src new file mode 100644 index 0000000..752665a --- /dev/null +++ b/priv/templates/simplelib.app.src @@ -0,0 +1,14 @@ +{application, {{libid}}, + [ +  {description, "An Erlang {{libid}} library"}, +  {vsn, "1"}, +  {modules, [ +             {{libid}} +            ]}, +  {registered, []}, +  {applications, [ +                  kernel, +                  stdlib +                 ]}, +  {env, []} + ]}. diff --git a/priv/templates/simplelib.erl b/priv/templates/simplelib.erl new file mode 100644 index 0000000..2c4451f --- /dev/null +++ b/priv/templates/simplelib.erl @@ -0,0 +1,18 @@ +-module({{libid}}). + +%% {{libid}}: {{libid}} library's entry point. + +-export([my_func/0]). + + +%% API + +my_func() -> +    ok(). + +%% Internals + +ok() -> +    ok. + +%% End of Module. diff --git a/priv/templates/simplelib.template b/priv/templates/simplelib.template new file mode 100644 index 0000000..59d20fa --- /dev/null +++ b/priv/templates/simplelib.template @@ -0,0 +1,3 @@ +{variables, [{libid, "mylib"}]}. +{template, "simplelib.app.src", "src/{{libid}}.app.src"}. +{template, "simplelib.erl", "src/{{libid}}.erl"}. diff --git a/src/rebar.erl b/src/rebar.erl index 8fad12f..00505be 100644 --- a/src/rebar.erl +++ b/src/rebar.erl @@ -338,6 +338,7 @@ escriptize                           Generate escript archive  create      template= [var=foo,...]  Create skel based on template and vars  create-app  [appid=myapp]            Create simple app skel +create-lib  [libid=mylib]            Create simple lib skel  create-node [nodeid=mynode]          Create simple node skel  list-templates                       List available templates @@ -437,6 +438,7 @@ command_names() ->       "compile",       "create",       "create-app", +     "create-lib",       "create-node",       "ct",       "delete-deps", diff --git a/src/rebar_templater.erl b/src/rebar_templater.erl index b8f7087..c21daa3 100644 --- a/src/rebar_templater.erl +++ b/src/rebar_templater.erl @@ -27,6 +27,7 @@  -module(rebar_templater).  -export(['create-app'/2, +         'create-lib'/2,           'create-node'/2,           'list-templates'/2,           create/2]). @@ -50,6 +51,10 @@      %% Alias for create w/ template=simpleapp      create1(Config, "simpleapp"). +'create-lib'(Config, _File) -> +    %% Alias for create w/ template=simplelib +    create1(Config, "simplelib"). +  'create-node'(Config, _File) ->      %% Alias for create w/ template=simplenode      create1(Config, "simplenode"). @@ -116,6 +121,12 @@ info(help, 'create-app') ->         "~n"         "Valid command line options:~n"         "  [appid=myapp]~n", []); +info(help, 'create-lib') -> +    ?CONSOLE( +       "Create simple lib skel.~n" +       "~n" +       "Valid command line options:~n" +       "  [libid=mylib]~n", []);  info(help, 'create-node') ->      ?CONSOLE(         "Create simple node skel.~n" | 
