Versioce.PreHook behaviour (Versioce v2.0.0) View Source

Behaviour for pre hooks in versioce.

A hook can be defined by simply using Versioce.PreHook in a module:

defmodule MyProj.Versioce.PreHook do
  use Versioce.PreHook

  def run(args) do
    IO.inspect(args)
    {:ok, args}
  end
end

The run/1 function will receive all arguments passed to the bump mix task. It can modify them and make required side-effects but it should return them of form {:ok, args} as result of one hook is piped into the next one, unless {:error, reason} is returned, then the hook pipe is halted.

Link to this section Summary

Callbacks

A hook needs to implement run which receives a list of command line args for bump task. It should return them in form {:ok, args} | {:error, reason}

Link to this section Callbacks

Specs

run([String.t()]) :: {:ok, [String.t()]} | {:error, String.t()}

A hook needs to implement run which receives a list of command line args for bump task. It should return them in form {:ok, args} | {:error, reason}