Version 0.7.0
Hey everyone, more updates!
So in the past couple of days I've added the following:
Support for umbrella projects
I also added some special support via conform that should make configuration of them a lot nicer. For more info, see my test umbrella project at https://github.com/bitwalker/exrm-umbrella-test
Support for plugins.
I haven't documented it fully in the README yet, but the module docs for ReleaseManager.Plugin explain all you need to know. The gist is that plugins implement a behavior (ReleaseManager.Plugin) which consists of two callbacks before_release/1
and after_release/1
. Those two callbacks take a Config struct from exrm containing configuration for the release (also documented in the module docs), and are called just before, and just after the release has been built. Please keep in mind when developing plugins that you intend to share that some people may be running umbrella projects, so try to avoid any static references to paths that don't apply in the umbrella scenario.
A bunch of bug fixes
Special thanks to Steve Pallen, who was great about testing and dealing with issues that cropped up. Exrm has gotten a lot better thanks to his effort and patience!
Next up on my TODO list are two major things: 1.) Expand on conform to make it much more powerful, it's gotten some love this week as well, but there is a lot yet to be done before it is on cuttlefish's level, and 2.) deprecate the relx dependency, and implement it in 100% Elixir. If you have any other things you'd like to see me address, please let me know!