Home » JVM Languages » Groovy » Building Vert.x projects using Gradle

About Rob Brinkman

Rob Brinkman

Building Vert.x projects using Gradle

We currently use Vert.x in several internal and external projects. Until the most recent project we where building our Vert.x modules using Maven.

Gradle is our build tool of choice, but the default approach described at the Vert.x site caused several issues:

  • The task of cloning, cleaning and configuring the template project is error-prone;
  • The template project does not support recent Gradle versions >= 2.x;
  • This approach is not compatible with the Gradle support in IntelliJ IDEA.

While starting our most recent project we investigated the possibility of using Gradle again. Instead of using the approach described at the Vert.x site we are using the excellent Vert.x Gradle plugin provided by Daryl Teo.

Using the following Gradle build file we are able to build and run our project from Gradle and import it successfully into IntelliJ IDEA:

build.gradle

// Configure the dependencies for our build script
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        // Specify our dependency on the marvelous plugin from Daryl Teo
        classpath 'com.darylteo.vertx:vertx-gradle-plugin:0.1.3'
    }
}
// Apply the Groovy plugin to compile our Groovy code
apply plugin: 'groovy'

// Apply the Vertx plugin
apply plugin: 'vertx'

repositories {
    jcenter()
}

// Specify the project dependencies
dependencies {
    compile "org.codehaus.groovy:groovy-all:2.3.3"
}

// Configure Vertx
vertx {
    platform {
        // Specify Vert.x version
        version '2.1.5'
        // Language used
        lang 'groovy'
    }

    // Configuration of the module using Vert.x fields using camelcased names
    // See: http://vertx.io/mods_manual.html#module-descriptor-file-modjson
    config {
        main 'groovy:com.jdriven.demo.MainVerticle'
    }

    // Specify the config file to pass to Vert.x using -conf when executing the runMod task
    deployments {
        mod {
            platform {
                conf 'config/vertx/dev.json'
            }
        }
    }
}

Using this configuration exposes the following Vert.x related Gradle tasks:

  • modZip : Creates the module zip
  • debugMod : Run the module including remote debugging
  • runMod : Run the module

More information regarding this marvellous Gradle Vert.x plugin can be found at: https://github.com/darylteo/vertx-gradle-plugin.

Note that the credits for the Vert.x Gradle plugin fully go to Daryl Teo. This post is only meant to raise the awareness of the existence of the plugin and to complement him for his great work.

Reference: Building Vert.x projects using Gradle from our JCG partner Rob Brinkman at the JDriven blog.
(0 rating, 0 votes)
You need to be a registered member to rate this.
Start the discussion Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments