I have a Gradle-managed multi-project setup that relies on the new Java 8 -parameters
compiler flag. I need 2 ways of including the compiler flag:
Answer from @Crazyjavahacking is correct
Also, check that you doesn't redifine it, like me, in a subproject that uses others args (mapstruct in my case) :
options.compilerArgs = ['-Amapstruct.defaultComponentModel=spring'] // do not do this
Always append the args options.compilerArgs << '-Amapstruct.defaultComponentModel=spring'
Hope it can save some time to someone else, i personnaly lost 2 hours since i totally forgot this line in the subproject and was concentrating on the main build.gradle
compileJava {
options.compilerArgs.addAll(['--release', javaVersion])
}
You should use standard way of configuring Java compile plugin:
apply plugin: 'java'
compileJava {
options.compilerArgs << '-parameters'
}
For Android projects, one can add e.g. the below in the gradle android scope.
// Used to get more info from dagger regarding binding compile errors
// see https://github.com/google/dagger/wiki/Dagger-2.17-@Binds-bugs
tasks.withType(JavaCompile) {
options.compilerArgs += ["-Adagger.floatingBindsMethods=enabled"]
}