From c83d037404062138aa32ecbc138529e7c13ba7e2 Mon Sep 17 00:00:00 2001 From: Pierre Fenoll Date: Thu, 19 Dec 2013 22:01:25 +0000 Subject: Add a library template --- priv/shell-completion/bash/rebar | 1 + priv/shell-completion/zsh/_rebar | 1 + priv/templates/simplelib.app.src | 14 ++++++++++++++ priv/templates/simplelib.erl | 20 ++++++++++++++++++++ priv/templates/simplelib.template | 3 +++ src/rebar.erl | 1 + src/rebar_templater.erl | 11 +++++++++++ 7 files changed, 51 insertions(+) create mode 100644 priv/templates/simplelib.app.src create mode 100644 priv/templates/simplelib.erl create mode 100644 priv/templates/simplelib.template 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..384caa5 --- /dev/null +++ b/priv/templates/simplelib.erl @@ -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. 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..075a3e3 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 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" -- cgit v1.1 From 70cdb37942ebb50424ae52cd6986c9346f2286f4 Mon Sep 17 00:00:00 2001 From: Pierre Fenoll Date: Thu, 19 Dec 2013 23:05:49 +0000 Subject: Add command to rebar:command_names/0 --- priv/templates/simplelib.erl | 2 -- src/rebar.erl | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/priv/templates/simplelib.erl b/priv/templates/simplelib.erl index 384caa5..2c4451f 100644 --- a/priv/templates/simplelib.erl +++ b/priv/templates/simplelib.erl @@ -1,5 +1,3 @@ -%% See LICENSE for licensing information. -%% -*- coding: utf-8 -*- -module({{libid}}). %% {{libid}}: {{libid}} library's entry point. diff --git a/src/rebar.erl b/src/rebar.erl index 075a3e3..00505be 100644 --- a/src/rebar.erl +++ b/src/rebar.erl @@ -438,6 +438,7 @@ command_names() -> "compile", "create", "create-app", + "create-lib", "create-node", "ct", "delete-deps", -- cgit v1.1