[erlang-questions] erlang package manager
Tue Dec 20 08:56:59 CET 2011
I have to admit that the maven-erlang-plugin is - by far - not as feature-rich as rebar, but it has everything you need to build/package standard application and release projects.
Regarding your questions:
>do you know if there is an archetype for generating the initial project structure and whether or not the plugin understands the concept of releases?
There's no archetype for new projects. I'm not a big fan of archetypes since I always end up fixing the generated pom by hand. Project setup is done with a 'setup' goal. So writing a minimal pom is the way to start. A minimal pom is listed on the plugin website. Simply place the edited pom in an empty directory and call 'mvn erlang:setup'.
Yes, the plugin can also handle erlang releases. The plugin knows three different project types (aka packagingType). erlang-std projects packages erlang applications using the standard erlang directory layout recommended at the erlang website. The packaging type erlang-otp packages erlang applications using the standard maven directory layout. Finally, erlang-rel projects will package erlang releases (release_handler compatible .tar.gz archives). While application projects actually contain code and other appication data, the erlang-rel project only contains the erlang .rel file, the sys.config and the release relup file. The needed application code will be pulled from the repository and the building erlang (backend) node. appup and relup files can also be generated using the released projects available at the repository.
There's lots of documentation on the website, as well as some workflow examples. The 'erlang:run' and 'erlang:upload' goals really come in handy, we use them a lot during development.
Von: Tim Watson [watson.timothy@REDACTED]
Gesendet: Montag, 19. Dezember 2011 11:48
Bis: Tobias Schlager
Cc: eigenfunction; erlang-questions@REDACTED
Betreff: Re: [erlang-questions] erlang package manager
On 19 December 2011 08:18, Tobias Schlager
if your looking for package management and you're already familiar with apache maven the maven-erlang-plugin could be useful. Especially if you already have a continuous integration infrastructure you want to reuse.
Ooh yes, I forgot about that one. It actually looks very feature complete, though of course one has to get used to writing poms (or build a parent pom to inherit from). Tobias, do you know if there is an archetype for generating the initial project structure
and whether or not the plugin understands the concept of releases?
We use maven heavily for Java/Scala at work and although we use rebar to build erlang code, we package stuff up according to maven principles and deploy into a maven repo (actually using Sonatype's Nexus artefact repository). This works very well despite
multiple build systems in the mix and automated deployments are relatively easy when you've got a binary artefact repository to pull from.
More information about the erlang-questions