buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ingo Schmidt <antis...@der-ingo.de>
Subject Buildfiles and Artifacts
Date Fri, 31 May 2013 11:11:34 GMT
Hi!

I have a general question about buildfiles and artifacts.
Let's say, I have 5 killer apps, much like in 
http://buildr.apache.org/packaging.html:
- la-web
- the-api

For each killer app, "la-web" is different, but "the-api" is actually 
the same. It is the core functionality which is used by "la-web".

So now I see two options:
1. Create a buildfile for "the-api", build a (maven) artifact with some 
version number and include that in each killer app's build as a POM 
dependency
2. For each killer app, I create a folder layout as in 
http://buildr.apache.org/packaging.html and build it all at once

Currently, I have implemented option 1, however I am considering to use 
version 2. The main reason is, that "the-api" is under heavy development 
and gets new functionality very frequently. I would have to bump the 
version like each week. Ok, I can use Snapshot versions, but what about 
feature branches then? What versions to give them? And how to include in 
my build? And also, why clutter my maven cache with lots of useless 
temporary versions?
On the bright side, "the-api" project is self contained. Everything I 
need to build is inside the project itself.

With option 2, I would simply checkout the branches I want and build. No 
hassle with version numbers, snapshots etc. But then I get other problems:
I would still want to be able to actually build "the-api" separately, 
but where is my buildfile for it now? It is inside the killer-apps. 
Also, in each killer app "the-api" is built in the same way, so the 
buildfile would look identical. I would have redundant code, which I 
obviously want to avoid. How to modularize? With include? With require? 
With some custom tasks/extensions?

Anyone who knows what I am talking about? What is your solution?

Is there maybe a site with lot of buildfile examples where one could 
learn some tricks? Maybe a Wiki could be created where people could post 
their buildfiles and explain them? I would gladly post mine there. I 
think like this everyone could benefit from each other.

Anyway, glad to hearing opinions about my above scenario.

Cheers, Ingo =;->

Mime
View raw message