I’ve become a big fan of Gradle recently. It has all of the dependency management capabilities of Maven and being groovy DSL, provides a very convenient mechanism for ad-doc platform-independent scripting.
I’ve been finding a frequent need for build-time processing of XML files recently and groovy handles this very nicely. Gradle allows it all to be packaged up into a tidy cross-platform execution framework. No need to deal with native ruby/python/perl packages. I’ve used JRuby in the past with success, but Groovy/Gradle is much simpler and feels more native to the JVM ecosystem.
While bootstrapping a gradle client installation is remarkably easy with the Gradle wrapper, it turns out to be surprisingly difficult to invoke gradle tasks from maven. Invoking gradle from maven is desirable if you have some groovy scripting magic that you’d like to execute, but don’t want to convert the build system to Gradle.
So here is a simple maven plugin that makes it ridiculously easy to invoke Gradle from Maven:
Source is available at GitHub and the plugin is distributed via Bintray.
Very cool new service called bintray that makes it easy to share and host binary artifacts (maven, RPMs, etc.)
Getting jars into maven central is much harder than it should be. This service makes it easy to serve publicly hosted artifacts.
I never really took the time to figure out how the /etc/alternatives system works with JDKs. This explains it:
I’ve been using git svn a lot recently. It’s a bit painful, but less so than using Subversion directly.
When doing a lot of rebasing, I find that you sometimes want to perform the equivalent of “git push -f” to force pull rebased history. This snippet will get it done.
I’m very impressed by Scalatra. Scalatra is to Play what Sinatra is to Rails.
Clean, simple, lean, mean and flexible.
This is one of those things I seem to need to do every year or two at my enterprise clients: find my own LDAP dn in active directory.
Here’s a little VBScript that gets the job done.
It’s also a good reminder just how awful VBScript is…