В небольшом наборе проектов sbt нам требовалась компиляция protobuf/grpc, и поскольку только Gradle имеет нормальную поддержку, мы использовали ее только для выполнения задач, связанных с protobuf.
Иногда он случайным образом терпит неудачу при компиляции той же самой вещи и преуспевает при повторной попытке, мы определили, что это происходит из-за возрастающей компиляции Java.
Я хочу отключить все виды инкубационных функций и инкрементных компиляций, я хочу, чтобы эта вещь была детерминированной.
Для этого я попытался
compileJava {
//enable compilation in a separate daemon process
options.fork = false
//enable incremental compilation
options.incremental = false
}
но Gradle все равно выдаст вывод, подобный этому (очевидно, игнорируя эти флаги)
Parallel execution is an incubating feature.
Incremental java compilation is an incubating feature.
:deleteGeneratedSource
:clean
:extractIncludeProto
:extractProto UP-TO-DATE
:generateProto
:recompileProto
Так как же отключить параллельное выполнение и инкрементную компиляцию Java?