I have just switched a number of or our internal systems to maven and the
benefits have exceeded my expectations.  Builds are much, much simpler now
and we have additional capabilities that were not anticipated.

I think that the mahout use of maven is pretty complex compared to what I
had my guys do.  For us, we have each project build and deploy an artifact,
but didn't do much with fancy modules or assemblies.  Where we needed an
assembly of other artifacts for a combined deployment artifact, we have a
simple build that has dependencies that are resolved from our repository and
then it builds the required assembly.

Our experience in  my previous job at Veoh was a bit more mixed, but in
retrospect, every problem that we had was a result of trying to force a
different build model on maven rather than trying to pour old code into a
maven model (which is what we did here are Deepdyve).  I don't want to
minimize Sean's pain because this kind of pain is really awful.  I do think,
however, that the right course of action is not to say "Let's replicate what
we had with ant", but rather to say "What is the most similar standard Maven
model?".

It may also be that this ambitious multi-module build style was too
ambitious and that we should back off to having several independent builds
with separately published artifacts.

On Fri, Mar 13, 2009 at 11:03 AM, Sean Owen <[email protected]> wrote:

> I am struggling to get the 'taste-web' module working with Maven. The
> build product needs to include the 'examples' classes in order to get
> at the default example Recommender, but my attempts to add it as a
> dependency failed in ways I don't get.
>
> If I were being pessimistic, I'd say that the move to Maven has seemed
> to bring nothing but problems so far. We had a working build -- I had
> a working build. Now we don't. I had an easy example for people to
> deploy and now I don't. What it builds now is also suboptimal,
> including a ton of code that's not needed. I've removed or shuffled
> code to accommodate Maven (e.g. I used to generate optimized bytecode
> but that was pulled because it was too hard in Maven). I can't
> effectively run the tests or manage my build like I could. It's not
> just temporary either -- this has been un-working for months, and
> delayed a release of updated code that I do want to get out to users.
> You could say it's just because we are new to Maven -- I sure am --
> but, if we have to be more expert to get value from Maven and aren't,
> it might as well not provide that value.
>
> I understand and believe there is some theoretical benefit to Maven --
> are we seeing any upside? I would still go along with it if these
> immediate problems can be patched up, but wanted to raise the honest
> question of whether this has been a benefit or not.
>
> In particular I'd like to move back to Ant in my little patch of
> ground, taste-web, unless these issues can be resolved. I could get
> back to a working state and reinstate some benefits from the old
> working build, while not interrupting others who it seems are yet keen
> to use Maven in the project at large, and that is fine by me. If I
> have somewhere I can dump out working products for users, 90% of my
> concerns go away.
>



-- 
Ted Dunning, CTO
DeepDyve

Reply via email to