/relex

Erlang/Elixir Release Assembler

Primary LanguageElixir

Relex — Release assembler

Relex is a simplistic assembler for Erlang releases in Elixir.

In order to define a release, this is your start point:

defmodule MyApp.Release do
  use Relex.Release

  def name, do: "myapp"
  def version, do: "1"

  def applications, do: [:myapp]
end

See Relex.Release.Template documentation for more information

After having this module compiled, run MyApp.Release.assemble! path: "/output/dir" (path is optional)

Mix task

You can also use Relex with Mix. For this, add the following dependency:

{:relex, github: "yrashk/relex"},

Then, prepend your mix.exs file with this:

Code.append_path "_build/#{Mix.env}/lib/relex/ebin/"

and then, inside of your project module, define the release:

if Code.ensure_loaded?(Relex.Release) do
  defmodule Release do
    use Relex.Release

    def name, do: "myrelease"
    def version, do: Mix.project[:version]
    def applications, do: [:myapp]
    def lib_dirs, do: ["deps"]
  end
end

Now you can run mix relex.assemble and mix relex.clean commands