I have a multi-project build on Scala. Some of modules are large. When I make any changes in large module gradle recompiles all classes in it. Other modules recompiles only changed classes, but all modules have common ScalaCompile parameters:
tasks.withType(ScalaCompile) {
scalaCompileOptions.forkOptions.with {
memoryMaximumSize = '3g'
jvmArgs = ['-Xss32m']
}
scalaCompileOptions.additionalParameters = [
'-language:experimental.macros',
'-nowarn'
]
}
If I change default settings and tune build by IntelliJ IDEA
instead Gradle
then project recompiles fast and only changed classes. But I want to compile it with default settings or with gradlew
because I want to save output directories with compiled classes.
What can I change in my build to recompile only changed parts of module and use default settings?