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 \ compile \
create \ create \
create-app \ create-app \
create-lib \
create-node \ create-node \
ct \ ct \
doc \ doc \

View file

@ -31,6 +31,7 @@ _rebar () {
'compile[Compile sources]' \ 'compile[Compile sources]' \
'create[Create skel based on template and vars]' \ 'create[Create skel based on template and vars]' \
'create-app[Create simple app skel]' \ 'create-app[Create simple app skel]' \
'create-lib[Create simple lib skel]' \
'create-node[Create simple node skel]' \ 'create-node[Create simple node skel]' \
'list-template[List avaiavle templates]' \ 'list-template[List avaiavle templates]' \
'doc[Generate Erlang program documentation]' \ '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 template= [var=foo,...] Create skel based on template and vars
create-app [appid=myapp] Create simple app skel create-app [appid=myapp] Create simple app skel
create-lib [libid=mylib] Create simple lib skel
create-node [nodeid=mynode] Create simple node skel create-node [nodeid=mynode] Create simple node skel
list-templates List available templates list-templates List available templates
@ -437,6 +438,7 @@ command_names() ->
"compile", "compile",
"create", "create",
"create-app", "create-app",
"create-lib",
"create-node", "create-node",
"ct", "ct",
"delete-deps", "delete-deps",

View file

@ -27,6 +27,7 @@
-module(rebar_templater). -module(rebar_templater).
-export(['create-app'/2, -export(['create-app'/2,
'create-lib'/2,
'create-node'/2, 'create-node'/2,
'list-templates'/2, 'list-templates'/2,
create/2]). create/2]).
@ -50,6 +51,10 @@
%% Alias for create w/ template=simpleapp %% Alias for create w/ template=simpleapp
create1(Config, "simpleapp"). create1(Config, "simpleapp").
'create-lib'(Config, _File) ->
%% Alias for create w/ template=simplelib
create1(Config, "simplelib").
'create-node'(Config, _File) -> 'create-node'(Config, _File) ->
%% Alias for create w/ template=simplenode %% Alias for create w/ template=simplenode
create1(Config, "simplenode"). create1(Config, "simplenode").
@ -116,6 +121,12 @@ info(help, 'create-app') ->
"~n" "~n"
"Valid command line options:~n" "Valid command line options:~n"
" [appid=myapp]~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') -> info(help, 'create-node') ->
?CONSOLE( ?CONSOLE(
"Create simple node skel.~n" "Create simple node skel.~n"