Currently VersionEye supports 9 Package Managers. One of them is Gradle, the build system written in Groovy!
Gradle is becoming more and more popular and we are getting more and more emails to our Gradle support. If you work with Gradle you define your dependencies usually in a “build.gradle” file. A dependency definition can look like this:
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.8.5'
This definition works since longer with VersionEye. What didn’t worked was for example this:
// compile group: 'com.artofsolving', name:'jodconverter', version:'2.2.1'
If you commented out a line in your gradle file VersionEye parsed it anyway. Since today this is fixed!
Another cool feature in Gradle is that you can define variables. For example to hold version numbers. Here are some variable definitions:
project.ext.hibernateCoreVersion = '4.1.9.Final' project.ext.jerseyVersion = '1.17' project.ext.springDataJpaVersion = '1.4.1.RELEASE'
And here is another way to define dependencies as Arrays:
[group: 'org.hibernate', name: 'hibernate-core', version: hibernateCoreVersion], [group: 'org.hibernate', name: 'hibernate-entitymanager', version: hibernateCoreVersion],
In the above example you can see that instead of using a static version number, we use the variable we defined before. This variable declaration and defining dependencies in an Array is now supported by VersionEye as well!
Gradle VersionEye Plugin
Beside the improved support for Gradle files we recommend to use the Gradle VersionEye Plugin. It resolves the dependencies locally and is well suited for more complex Gradle build files, for example with submodules. The plugin sends the locally resolved dependencies to the VersionEye API to create/update a project on VersionEye. Our Enterprise clients are using this (Or the Maven) Plugin to keep their projects up-to-date.
You can run the plugin every night on your CI System to update the corresponding VersionEye project with the current dependencies. VersionEye will check the dependencies and send out notification emails if some dependencies are out-dated.
Let me know if you have questions to this. Either here in the comments or on Twitter.
One thought on “Improved Support for Gradle”