String quoting issues in Jenkins using the Gerrit and Gradle plugins

At $CURRENTJOB, I just faced a problem using the Gerrit and Gradle plugins in Jenkins.

The problem is that the Gerrit plugins defines build parameters which are passed to the Gradle plugin. Some of them contain the full name and email address of uploaders, committers or alike, in the following format:

-DGERRIT_PATCHSET_UPLOADER="John Doe <john.doe@domain.com>"

The Gradle plugin tries to pass this to Gradle on the command line, but because of the complexity (quotes, less and great than signs…), it typically ends up in a mess, at least under Windows.

Here are some other users confronted with the same issue:

“gluck” provides a fix for the Gradle plugin, but it doesn’t seem to have made his way into the mainline:
https://github.com/jenkinsci/gradle-plugin/pull/14

The solution for me has been the option “Do not pass compound ‘name and email’ parameters” of the Gerrit plugin from macbutch:
https://github.com/jenkinsci/gerrit-trigger-plugin/pull/41

Like he says himself, it’s a workaround, but at least it’s working. This option is hidden in the “Advanced” options of the Gerrit settings in the job configuration.

Some other related pointers:

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s