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 =;->