Decided On Ivy Instead Of Maven

Spent the last couple of days trying to set up an implementation of ant's ivy. This team is going to ant, but no way will they move to maven. So Ivy is the natural companion, I figured.

OK, couple of days is an exaggeration. I spent the last couple of days studying and reading all about it between interruptions, either way it took all my available extra time.

Anyone who correctly concludes that Maven sucks now has somewhere else to go for their dependency management, if jar hell is all they are concerned with. Ivy seems equally powerful for dependency management. Great project ! And equally challenging to maven, if you need someone to master it in 20 minutes. Way too many working parts for that.

Abandoned Ivy, Right Along With Maven

I ended up abandoning it for my work on this current assignment. Not because it isn't a great project, it is. I abandoned it because I am not sticking around on this job long enough to train anyone to learn whatever it is that I pick up, and it's more trouble than it's worth for a microscopic team.

This 15 minutes thing to learn something is highly critical. It's a pass fail test. Maven fails it. Ivy fails it, or at least beyond the go-ivy or hello-ivy level, for example if you want to point it to multiple maven repositories you already have up and working. Lots of great projects fail this test. Not because the projects aren't great, but because that is the nature of sequential learning vs documentation.

Object Lesson: Screencast Required

What I needed was sequential steps to do every task that don't require me to learn new semantics (resolver ?), new syntax, new XML files, and new sequences all at the same time. Once you know them all it's frightfully easy, but lacking one they all fail to materialize for the impatient learner. Or the cynical instructor, either one. No way I'm expecting these novices to pick up on something like Ivy after I'm gone in a week.

I've taken to doing Camtasia screencasts for everything I am handing off to others. That way they at least have some fighting chance of figuring out what the heck I spent the last couple weeks learning and setting up. I don't really understand how anyone does without them any more, but that's an entirely separate question.

Love and Hate For "The Standard" Thing

I have a love hate thing going with maven, consider myself a maven evangelist even though I've gotta be it's worst critic. What I love is the fact that maven is a standard. Not that it's a better or worse standard, I just prefer standards over what ant represents, which is everything is non-standard by default. That seems crazy to me, nevermind the convenience. Control freaks run-amuck.

I'm recapping below all the different times I've droned on about maven.

Here's one of many blogs about i did about maven, but the only one that says ant_vs_maven directly

There is also a presentation i did a year ago on maven-vs-ant

Other maven blogs by yours truly