This should fix #955 The test is implicit as a bad index previously silently crashed rebar3. By adding the bad index to the `new` suite's files, we can show that things keep running.pull/986/head
@ -0,0 +1,29 @@ | |||
Copyright (c) {{copyright_year}}, {{author_name}} <{{author_email}}>. | |||
All rights reserved. | |||
Redistribution and use in source and binary forms, with or without | |||
modification, are permitted provided that the following conditions are | |||
met: | |||
* Redistributions of source code must retain the above copyright | |||
notice, this list of conditions and the following disclaimer. | |||
* Redistributions in binary form must reproduce the above copyright | |||
notice, this list of conditions and the following disclaimer in the | |||
documentation and/or other materials provided with the distribution. | |||
* The names of its contributors may not be used to endorse or promote | |||
products derived from this software without specific prior written | |||
permission. | |||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
@ -0,0 +1,9 @@ | |||
{{name}} | |||
===== | |||
{{desc}} | |||
Build | |||
----- | |||
$ rebar3 compile |
@ -0,0 +1,27 @@ | |||
%%%------------------------------------------------------------------- | |||
%% @doc {{name}} public API | |||
%% @end | |||
%%%------------------------------------------------------------------- | |||
-module({{name}}_app). | |||
-behaviour(application). | |||
%% Application callbacks | |||
-export([start/2 | |||
,stop/1]). | |||
%%==================================================================== | |||
%% API | |||
%%==================================================================== | |||
start(_StartType, _StartArgs) -> | |||
{{name}}_sup:start_link(). | |||
%%-------------------------------------------------------------------- | |||
stop(_State) -> | |||
ok. | |||
%%==================================================================== | |||
%% Internal functions | |||
%%==================================================================== |
@ -0,0 +1,13 @@ | |||
{description, "OTP Application"}. | |||
{variables, [ | |||
{name, "mylib", "Name of the OTP application"}, | |||
{desc, "An OTP application", "Short description of the app"} | |||
]}. | |||
bad_term, | |||
{template, "app.erl.dtl", "{{name}}/src/{{name}}_app.erl"}. | |||
{template, "sup.erl.dtl", "{{name}}/src/{{name}}_sup.erl"}. | |||
{template, "otp_app.app.src.dtl", "{{name}}/src/{{name}}.app.src"}. | |||
{template, "rebar.config.dtl", "{{name}}/rebar.config"}. | |||
{template, "gitignore.dtl", "{{name}}/.gitignore"}. | |||
{template, "LICENSE.dtl", "{{name}}/LICENSE"}. | |||
{template, "README.md.dtl", "{{name}}/README.md"}. |
@ -0,0 +1,18 @@ | |||
.rebar3 | |||
_* | |||
.eunit | |||
*.o | |||
*.beam | |||
*.plt | |||
*.swp | |||
*.swo | |||
.erlang.cookie | |||
ebin | |||
log | |||
erl_crash.dump | |||
.rebar | |||
_rel | |||
_deps | |||
_plugins | |||
_tdeps | |||
logs |
@ -0,0 +1,12 @@ | |||
{application, {{name}}, | |||
[{description, "{{desc}}"} | |||
,{vsn, "0.1.0"} | |||
,{registered, []} | |||
,{mod, {'{{name}}_app', []}} | |||
,{applications, | |||
[kernel | |||
,stdlib | |||
]} | |||
,{env,[]} | |||
,{modules, []} | |||
]}. |
@ -0,0 +1,2 @@ | |||
{erl_opts, [debug_info]}. | |||
{deps, []}. |
@ -0,0 +1,35 @@ | |||
%%%------------------------------------------------------------------- | |||
%% @doc {{name}} top level supervisor. | |||
%% @end | |||
%%%------------------------------------------------------------------- | |||
-module({{name}}_sup). | |||
-behaviour(supervisor). | |||
%% API | |||
-export([start_link/0]). | |||
%% Supervisor callbacks | |||
-export([init/1]). | |||
-define(SERVER, ?MODULE). | |||
%%==================================================================== | |||
%% API functions | |||
%%==================================================================== | |||
start_link() -> | |||
supervisor:start_link({local, ?SERVER}, ?MODULE, []). | |||
%%==================================================================== | |||
%% Supervisor callbacks | |||
%%==================================================================== | |||
%% Child :: {Id,StartFunc,Restart,Shutdown,Type,Modules} | |||
init([]) -> | |||
{ok, { {one_for_all, 0, 1}, []} }. | |||
%%==================================================================== | |||
%% Internal functions | |||
%%==================================================================== |