2016-07-11 44 views
6

在一小組sbt項目中,我們需要一個protobuf/grpc編譯,並且因爲只有gradle對我們用它來執行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編譯?

+0

你有沒有想過這個?這會讓我的構建永遠消失。 –

+0

我擺脫了gradle和sbt,兩者都讓生活變得更加複雜...... maven不會打擾你太多,是的,它需要更長的時間來構建,但intellij不依賴maven或sbt或gradle來進行增量快速編譯本身......所以其他構建工具的好處是值得懷疑的......在開發時,不需要使用mvn編譯... 對於複雜的腳本,我們有幾個kotlin函數可以完成所有這些花哨的構建工具的工作以更少的效率和更大的靈活性做... – vach

回答

1

嘗試添加org.gradle.daemon=falseorg.gradle.parallel=falsegradle.properties文件,它可以幫助你在你的問題。