README.md

rebar3_idl_compiler
=====

This is a plugin for compiling Erlang IDL files using Rebar3.

Use
---

Add the plugin to your rebar config:


    {plugins, [
        {idl, ".*",
         {git,
          "git@github.com:sebastiw/rebar3_idl_compiler.git",
          {branch, "master"}}}
    ]}.


Then just call your plugin directly in an existing application:


    $ rebar3 idl compile
    ===> Fetching idl ({git ...})
    ===> Compiling idl
    <Plugin Output>


There are two options that can be specified in your rebar.config:


    {idl_paths, [Paths]}.
            Path = {file, FilePath, Options} | {file, FilePath} |
                   {dir, Directory, Options} | {dir, Directory}

    {idl_opts, [Options]}.
            Options: Options specified by the ic module, check
                     http://www.erlang.org/doc/man/ic.html for more info.


If the options is not given with the path tuple, then the idl_opts option
is used.


Example:


    {idl_opts, [{'Wall', true}]}.
    {idl_files, [
                 {file, "idl/system.idl", [{outdir, "generated"}]},
                 {dir, "idlfiles"}
                 ]}.


In the given example, all *.idl-files found under the path
"app_root/idlfiles" would be compiled with the 'Wall' option, while the
file "app_root/idl/system.idl" would be compiled into the directory
"generated".