summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--priv/shell-completion/bash/rebar1
-rw-r--r--priv/shell-completion/zsh/_rebar1
-rw-r--r--priv/templates/simplelib.app.src14
-rw-r--r--priv/templates/simplelib.erl20
-rw-r--r--priv/templates/simplelib.template3
-rw-r--r--src/rebar.erl1
-rw-r--r--src/rebar_templater.erl11
7 files changed, 51 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..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"