Add a library template

This commit is contained in:
Pierre Fenoll 2013-12-19 22:01:25 +00:00
parent b97677c2c2
commit c83d037404
7 changed files with 51 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,20 @@
%% See LICENSE for licensing information.
%% -*- coding: utf-8 -*-
-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

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"