# rebar3_nine
Rebar3 compiler plugin for compiling nine routers.
## Build
rebar3 compile
## Usage
Add this to your rebar.config:
{project_plugins, [rebar3_nine]}.
{provider_hooks, [{post, [{compile, {nine, compile}}]}]}.
This compilation step must happen after the other modules are compiled because it will depend on a function defined in the source code.
Assuming there is a function like this in the module `example`:
compile_router(DirPath) ->
nine:compile(#{
routes => Routes,
router => example_router,
generator => nine_cowboy
}, DirPath).
Then add this to rebar.config:
{nine, [{callback, {example, compile_router}}]}.
The plugin will use this option to call `example:compile_router/1` to generate the router module .beam file in the proper ebin directory.
When `rebar3 compile` is run the nine compilation step will run automatically.
## License
Apache 2.0