Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

36 rader
1.2 KiB

  1. -module({{name}}).
  2. -behaviour(provider).
  3. -export([init/1, do/1, format_error/2]).
  4. -include_lib("rebar3/include/rebar.hrl").
  5. -define(PROVIDER, todo).
  6. -define(DEPS, [app_discovery]).
  7. %% ===================================================================
  8. %% Public API
  9. %% ===================================================================
  10. -spec init(rebar_state:t()) -> {ok, rebar_state:t()}.
  11. init(State) ->
  12. Provider = providers:create([
  13. {name, ?PROVIDER}, % The 'user friendly' name of the task
  14. {module, ?MODULE}, % The module implementation of the task
  15. {bare, true}, % The task can be run by the user, always true
  16. {deps, ?DEPS}, % The list of dependencies
  17. {example, "rebar {{name}}"}, % How to use the plugin
  18. {opts, []} % list of options understood by the plugin
  19. {short_desc, "{{desc}}"},
  20. {desc, ""}
  21. ]),
  22. {ok, rebar_state:add_provider(State, Provider)}.
  23. -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
  24. do(State) ->
  25. {ok, State}.
  26. -spec format_error(any()) -> iolist().
  27. format_error(Reason, State) ->
  28. io_lib:format("~p", [Reason]).