I’ve assembled a handful of smal multiproject Gradle builds. The “settings.gradle” for them look pretty straightforward. For instance, here’s one simple one:
rootProject.name = 'uslMonitor' include 'uslMonitorService', 'uslMonitorGUI'
In the “uslMonitor” directory, there are two subdirectories with those names.
Today I tried using “gradle init” in a large Maven multimodule build to see what obstacles I would have in a Gradle implementation. The project structure has a root project that contains an aggregator pom, listing all of the modules to be built. One of those modules is just a pom file, which is referenced as the parent pom for all the other module pom.xml files.
The resulting “settings.gradle” file looks like this:
rootProject.name = 'usl-parent' include ':usl-parent-pom:usl-base' include ':usl-parent-pom:usl-device-api' include ':usl-parent-pom:usl-device-impl' .... project(':usl-parent-pom:usl-base').projectDir = "$rootDir/usl-base" as File project(':usl-parent-pom:usl-device-api').projectDir = "$rootDir/usl-device-api" as File project(':usl-parent-pom:usl-device-impl').projectDir = "$rootDir/usl-device-impl" as File ....
The root directory is named “usl-parent”. The subdirectory of that which has the parent pom is “usl-parent-pom”. I don’t know why it included “:usl-parent-pom:” as a prefix for all of the projects, as if usl-parent-pom is a subproject that contains those other subprojects.
I tried replacing “:usl-parent-pom:” with an empty string in the whole file, but that fails with:
A problem occurred evaluating settings 'usl-parent'. Project with path 'usl-base' could not be found.