Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yrashk/relex

Erlang/Elixir Release Assembler
https://github.com/yrashk/relex

Last synced: about 1 month ago
JSON representation

Erlang/Elixir Release Assembler

Awesome Lists containing this project

README

        

# Relex — Release assembler

Relex is a simplistic assembler for Erlang releases in Elixir.

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

```elixir
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:

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

Then, prepend your mix.exs file with this:

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

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

```elixir
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