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