title: Vert.x. How to enable automatic redeploy in a project with multiple modules?
body: <p>How can we enable auto redeploy for multiple modules when using <code>Vert.x</code>?</p>
  
  <p>For example, if we have a structure like this one:</p>
  
  <pre><code>build.gradle
  settings.gradle
  main
      build.gradle
      src/main/java/MainVerticle.java
      src/main/java/JavaVerticle.java
  kotlin
      build.gradle
      src/main/java/KotlinVerticle.kt
  </code></pre>
  
  <p>where the <code>main</code> module is written in Java and the <code>kotlin</code> module is written in Kotlin.</p>
  
  <p>Our <code>settings.gradle</code> can have something like:</p>
  
  <pre><code>include(":main")
  include(":kotlin")
  </code></pre>
  
  <p>The <code>main/build.gradle</code> can have something like:</p>
  
  <pre><code>dependencies {
    ...
    implementation project(":kotlin")
  }
  
  ...
  
  def mainVerticleName = "MainVerticle"
  def watchForChange = "src/**/*"
  def doOnChange = "./../gradlew classes"
  
  run {
    args = ["run", mainVerticleName, "--redeploy=$watchForChange", "--launcher-class=$mainClassName", "--on-redeploy=$doOnChange"]
  }
  </code></pre>
  
  <p>How could we propertly configure our project so when we change some file inside the <code>main</code> or the <code>kotlin</code> module the verticles are redeployed?</p>