Code
Maven build progress with TeamCity Service Messages
When you run a lengthy Maven build configuration in TeamCity it may be tricky to know what module is being built right now since all TeamCity displays is either “Running” or “Tests passed: X”. Luckily, TeamCity allows your build script to interact with the server using Service Messages. When you build script prints out the [...]
Gradle CodeNarc Plugin Update
Gradle CodeNarc plugin was updated to match CodeNarc v0.17 released recently. Since Gradle now provides its own built-in plugin with flexible configuration you’d probably better switch to that one instead. I’m not going to kill my version of this plugin since I’m still using it in my Groovy projects. Note that starting from Gradle version [...]
Continuous Delivery and new makandracards
I have been working on a new Wiki page recently: Continuous Delivery. It summarizes major resources, ideas, techniques and tools around Continuous Delivery process. Also, I’ve started summarizing various steps to do something with makandracards. Try them out, they are really lovely. It is faster to work on a makandracard than to start a new [...]
An importance of wrapping variables
Long time ago I’ve developed a habit of wrapping every variable logged in [ .. ]: The reasons were mostly to spot any trailing whitespaces in variables logged which was very helpful in error messages. As simple as it sounds, lots of messages thrown or logged today still don’t enclose variables in any special characters [...]
Groovy 1.8.0 – meet JsonBuilder!
Groovy 1.8.0 released in April brought a lot of new features to the language, one of them is native JSON support through JsonSlurper for reading JSON and JsonBuilder for writing JSON. I recently used JsonBuilder in one of my projects and initially experienced some difficulties in understanding how it operates. My assumption was that JsonBuilder [...]
My Git Workflow
When you work with Subversion you don’t talk much about workflow because there’s only one available 99% of time: I have an “ss” alias to “svn update && svn status” combination which I run very frequently for any project I come across. I believe most Subversion issues are caused by not running those two simple [...]
Maven Plugins v0.2.1 – re-written and open-sourced!
A “0.1″ release of these Maven plugins back in November brought a lot of attention to the project, which showed me that other Maven developers find them as useful as I do. Later, people started to send me new suggestions and open YouTrack issues which I had an extreme pleasure to work on. Version “0.2.1″ [...]
MultiResourceItemReader – “No resources to read”
By default Spring Batch MultiResourceItemReader ignores missing resources silently: Sounds familiar? Well, sometimes this behavior is wanted. But sometimes it is not and we would like to make it fail: As you see, MyMultiResourceItemReader now fails if you attempt to configure it with missing resources. If you need to go back to original behavior, just [...]
Consider returning something instead of void
Some methods are not supposed to return anything so they usually return void: This short method verifies objects specified are not nulls. It is part of verifiers library I usually carry around with me: But .. when you have something in your hand, why throwing it away? Initially, all verifiers returned void but after changing [...]
Watch out, illegal Jetty URL
Is the following URL legal? http://host?param=value Well, for Jetty 7.x it is not. And I couldn’t understand why before a friend of mine pointed to a missing “/”: http://host/?param=value As it appears, if you have a ContextHandler registered to service “/” requests, as we did, Jetty rejects any of them coming without a slash with [...]


