we have a simple multi-module Gradle-based project. You can find the build.gradle file here: https://github.com/robovm/robovm-samples/blob/master/ContractR/build.gradle
The "core" project is a plain old Java project. The "android" project is an Android project, so we apply the Android Gradle plugin. The "ios" project is a RoboVM project, for which we apply the RoboVM Gradle plugin. The "android" and "ios" projects both depend on the "core" project, but not on each other.
When importing this project, all projects receive an Android-Gradle facet. This already looks very suspicious. When running the "android" project (using a "Make" build step in the run configuration), gradle gets invoked for the "core" and "android" project. That's expected.
However, when running the "ios" project, the "android" project is also build. This does not happen on when invoking the build via Gradle from the CLI.
I'm unsure if this is the fault of the RoboVM IDEA plugin, the Gradle IDEA plugin or the Android IDEA plugin. The RoboVM module is handled like a Java module, we only assign a different SDK to it. For compilation, we register a CompileTask, but that has no influence on the Java build that is triggered before it.
Grateful for any pointers.