Merge pull request #201 from fenollp/create-lib

Added a library template.
This commit is contained in:
Jared Morrow 2013-12-20 08:20:39 -08:00
commit 81b9ed0606
7 changed files with 50 additions and 0 deletions

View file

@ -21,6 +21,7 @@ _rebar()
compile \
create \
create-app \
create-lib \
create-node \
ct \
doc \

View file

@ -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]' \

View file

@ -0,0 +1,14 @@
{application, {{libid}},
[
{description, "An Erlang {{libid}} library"},
{vsn, "1"},
{modules, [
{{libid}}
]},
{registered, []},
{applications, [
kernel,
stdlib
]},
{env, []}
]}.

View file

@ -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.

View file

@ -0,0 +1,3 @@
{variables, [{libid, "mylib"}]}.
{template, "simplelib.app.src", "src/{{libid}}.app.src"}.
{template, "simplelib.erl", "src/{{libid}}.erl"}.

View file

@ -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",

View file

@ -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"