Bootleg.Task behaviour (bootleg v0.13.0) View Source
Bootleg supports automatic discovery of tasks found in your dependencies, or your project itself.
To define a task that will automatically be loaded, define a new module in Bootleg.Tasks, and
use Bootleg.Task, passing along a block containing Bootleg DSL commands. Tasks defined in this
manner will be automatically loaded immediately after the core Bootleg tasks are loaded, and before
config/deploy.exs. This is the recommended way to write tasks that you intend to share with
others.
defmodule Bootleg.Tasks.Example do
  use Bootleg.Task do
    task :example do
      IO.puts "Hello!"
    end
    before_task :build, :example
  end
endTechnically speaking, any module in the namespace Bootleg.Tasks that exports a load/0 function will
be discovered and executed by Bootleg automatically. This usage is not recommended unless you need to
do work before use Bootleg.DSL.
defmodule Bootleg.Tasks.Other do
  use Bootleg.Task
  def load do
    task :other do
      IO.puts "World?"
    end
  end
endThese tasks can be packaged and distributed via hex packages, or you can make your own specific to your application.
Link to this section Summary
Link to this section Callbacks
Specs
load() :: any()
A task needs to implement load which receives no arguments. Return values are ignored.
If you use the block version of use Bootleg.Task, this callback will be generated for you.