[erlang-questions] Erlang and Maven

Olivier Sambourg <>
Tue Sep 12 14:57:56 CEST 2006

2006/9/11, Arnaud Bailly <>:
> Chandru <> writes:
> >>
> >
> > I don't know anything about Maven, but maybe you can use the OTP
> structure
> > for your system installation and the "mavenish" structure for your code
> > repository?
> I agree. The OTP structure could be constructed from the maven
> standard layout using assembly plugin or even a custom artefact
> type. For simplicity's and consistency's sake, it is better to keep
> adhering to maven's structure.

I also agree (it does seem obvious now...)

2006/9/11, Vance Shipley <>:
> On 10/09/06, Olivier Sambourg <> wrote:
> >
> >If we take a look at various OTP applications, the common directory
> >structure seems to be :
> >
> >application/
> >|-> src/ (source files, flat)
> >|-> include/ (include files...)
> >|-> doc/ (documentation)
> >|-> ebin/ (beam files)
> The convention in OTP when mixing languages is to have a "c_src"
> directory.  For example:
>   $ ls lib/erlang/lib/asn1-
>   c_src     ebin      examples  priv      src
> In this case there is a ddll driver and the C source is in c_src.
> The library with the driver code is in:
>   lib/erlang/lib/asn1-
> Another example is the IC application which uses java:
>   $ ls lib/erlang/lib/ic-4.2.11
>   c_src     ebin      examples  include   java_src  priv      src

Thank you for the information :)

I've started working on the plugin, slowly at first as I'm still struggling
with Maven's documentation... For the moment, it's capable of generating an
Emakefile with various user defined options and use it to compile the source
files. Quite dull actually :)
Next step will be packaging, automatically running test cases and generating
the edoc (not necessarily in this order). Then there'll be dynamic code
loading (Cargo really seems a good idea...) and dependencies management
(REPOS is still my only lead).

I've also started an archetype plugin (a special breed of maven plugins used
to set up a typical project, such as web apps, j2ee, etc.). It creates the
project directory structure, along with exemple sources files and a basic
POM file, so you can start coding right away...

I'll let you know when I make significant progress.

Thanks for the help

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20060912/28cfc206/attachment.html>

More information about the erlang-questions mailing list