2016-07-11 2 views
6

In einer kleinen Menge von sbt Projekten benötigten wir eine Protobuf/Grpc-Kompilation, und nur Gradle hat normale Unterstützung dafür, dass wir damit nur die mit Protobuf verbundenen Aufgaben erledigt haben.Gradle deaktiviere alle inkrementellen Kompilierungen und parallelen Builds

Manchmal wird es nach dem Zufallsprinzip Fehler beim Kompilieren der gleichen Sache und wird erfolgreich sein, wiederholen wir, dass es wegen der inkrementellen Java-Kompilierung.

Ich möchte alle Arten von Inkubationsfeatures und inkrementelle Compilations deaktivieren, ich möchte, dass dieses Ding deterministisch ist.

Dafür habe ich versucht

compileJava { 
    //enable compilation in a separate daemon process 
    options.fork = false 

    //enable incremental compilation 
    options.incremental = false 
} 

aber gralde wird noch eine Ausgabe wie diese geben (anscheinend jene Flaggen ignoriert)

Parallel execution is an incubating feature. 
Incremental java compilation is an incubating feature. 
:deleteGeneratedSource 
:clean 
:extractIncludeProto 
:extractProto UP-TO-DATE 
:generateProto 
:recompileProto 

Wie deaktiviere wir die parallele Ausführung und inkrementelle Java Kompilierung?

+0

Haben Sie das jemals herausgefunden? Es bewirkt, dass mein Build ewig dauert. –

+0

Ich habe grade und sbt, beide machen das Leben komplizierter ... Maven rockt es, ohne Sie zu sehr zu stören, ja dauert es länger zu bauen, aber intellij nicht auf Maven oder sbt oder Gradle, um inkrementelle schnelle Komplikationen alle zu tun an sich selbst ... so von anderen Build-Tools profitieren ist fraglich ... wenn Sie entwickeln müssen Sie nicht mit mvn sowieso kompilieren ... für komplexe Skripte haben wir einige Kotlin-Funktionen, die all die Arbeit tun diese fancy Build-Tools sind mit weniger Aufwand und größerer Flexibilität zu tun haben ... – vach

Antwort

1

Try org.gradle.daemon=false und org.gradle.parallel=false zur gradle.properties Datei hinzufügen, kann es Ihnen in Ihrem Problem helfen.

Verwandte Themen