ci.gradle icon indicating copy to clipboard operation
ci.gradle copied to clipboard

Multi-module support for dev mode with Gradle

Open dgeissl opened this issue 4 years ago • 1 comments

The libertyDev task adds some file monitoring but only for the current project (also see #624 ).

However as soon as the current project does not contain all sources but has dependencies to other projects even if they are in the same multiproject build - their source folders are not included making the feature unpredictable or even useless.

For my test case I am using a ear to deploy the application (which has no java sources at all) and all ejbs and web applications are in dependent projects

plugins { id 'ear' }
dependencies {
    deploy project(':my_ejb_project')
    deploy project(':my_web_project')
    earlib project(':my_commons')
}

In this configuration - file system watching is completely useless as is.

The file system monitoring should include all output folders from all project dependencies. The DeployTask already collects the nessesary folders for the LooseEarApplication: https://github.com/OpenLiberty/ci.gradle/blob/554caadb7b474c42454909ba3041fcc9114dfb36/src/main/groovy/io/openliberty/tools/gradle/tasks/DeployTask.groovy#L389

In case the project is very big (thinking of legacy projects) - a closure to filter the monitored projects may also be a good idea.

dgeissl avatar Sep 06 '21 06:09 dgeissl

Seems to be very much the same issue as with the ci.maven plugin https://github.com/OpenLiberty/ci.maven/issues/697

dgeissl avatar Sep 07 '21 06:09 dgeissl