In una piccola serie di progetti SBT avevamo bisogno di una compilazione protobuf/grpc, e solo il gradle ha il supporto normale per il quale lo abbiamo usato per eseguire solo le attività relative a protobuf.Gradle disabilita tutte le compilazioni incrementali e parallele
A volte fallisce casualmente la compilazione della stessa cosa e riusciremo a riprovare, lo abbiamo determinato a causa della compilazione java incrementale.
Desidero disabilitare tutti i tipi di funzioni di incubazione e compilazioni incrementali, voglio che questa cosa sia deterministica.
Per che ho provato
compileJava {
//enable compilation in a separate daemon process
options.fork = false
//enable incremental compilation
options.incremental = false
}
ma gralde darà ancora output come questo (apparentemente ignorando quelle bandiere)
Parallel execution is an incubating feature.
Incremental java compilation is an incubating feature.
:deleteGeneratedSource
:clean
:extractIncludeProto
:extractProto UP-TO-DATE
:generateProto
:recompileProto
Quindi, come possiamo disabilitare l'esecuzione parallela e la compilazione java incrementale?
Lo hai mai capito? Sta facendo durare la mia build per sempre. –
mi sono sbarazzato di gradle e sbt, entrambi rendono la vita più complicata ... lo scuoterò senza infastidire troppo, sì ci vuole più tempo per costruire ma intellij non si affida a maven o sbt o gradle per fare complementi veloci incrementali tutti da solo ... quindi il beneficio di altri strumenti di costruzione è discutibile ... durante lo sviluppo non è necessario compilare usando comunque mvn ... per script complessi abbiamo alcune funzioni di Kotlin che fanno tutto il lavoro che questi fantastici strumenti di costruzione sono supposti fare con molto meno effor e maggiore flessibilità ... – vach