Why gradle and guice?

Just out of curiosity, why using gradle and guice? Did you make bad
experience with mvn and spring in Compass?

Gradle:

I hate maven (maybe 3.0 would be nicer, can't wait for it). Git makes
storing jar files in the repository a pain, since you always download all
the history when you clone, which means it was either Ant+Ivy or something
similar. I like Gradle because I can write (in code) the build script,
though only after looking at Gradle to see how they use Gradle to build
Gradle, I managed to really understand how to use it :slight_smile:

Guice:

Spring is too big for what I do, just needed a DI and thats it. Did not
want the configuration files to be spring files, I like what I did in
Compass with Settings and did the same now (so you can easily write sensible
configuration files in yaml, json, or even properties files). Also, DI
really comes nicely into play because a Node can have many Indices, and each
Index can have one or more Shards, and each are different Guice module
(making shard level isolated DI work nicely). In spring lingo, think
ApplicationContext for each index created, and each shard created per index
(and Spring does come with its overhead compared to Guice).

To be honest, Guice can be a pain. For example, it lacks support for some
basic things like DI aware lifecycle (which are part of the javax
annotations, like PostCreate and PreDestroy.

-shay.banon

On Mon, Feb 15, 2010 at 1:39 PM, Lukas Vlcek lukas.vlcek@gmail.com wrote:

Just out of curiosity, why using gradle and guice? Did you make bad
experience with mvn and spring in Compass?