2016-07-11 10 views
6

W małym zestawie projektów sbt potrzebowaliśmy kompilacji protobuf/grpc, a ponieważ tylko gradle ma normalną obsługę, użyliśmy go po prostu do wykonania zadań związanych z protobufem.Gradle wyłącza wszystkie przyrostowe kompilacje i równoległe kompilacje

Czasami losowo nie uda się skompilować tej samej rzeczy i powiodło się po ponownej próbie, ustaliliśmy, że to z powodu przyrostowej kompilacji Java.

Chcę wyłączyć wszelkiego rodzaju funkcje inkubacji i przyrostowe kompilacje, chcę, żeby to było deterministyczne.

Do tego próbowałem

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

    //enable incremental compilation 
    options.incremental = false 
} 

ale gralde nadal daje wyjście tak (pozornie ignoruje te flagi)

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

Jak więc wyłączyć równoległe wykonanie i przyrostowe java kompilacji?

+0

Czy kiedykolwiek to rozgryzłeś? To powoduje, że moja kompilacja trwa wiecznie. –

+0

Pozbyłem się gradle i sbt, obaj powodują, że życie jest bardziej skomplikowane ... maven kołysze go nie zawracając sobie głowy zbytnio, tak, trwa to dłużej, ale intellij nie opiera się na maven lub sbt lub gradle, aby robić przyrostowe szybkie komplikacje wszystko samo w sobie ... więc korzyści z innych narzędzi do kompilacji są wątpliwe ... przy opracowywaniu nie musisz kompilować używając mvn tak czy inaczej ... dla złożonych skryptów mamy kilka funkcji kotlin, które wykonują całą pracę, którą te fantazyjne narzędzia budowania mają zrobić o wiele mniej effor i większą elastyczność ... – vach

Odpowiedz

1

Spróbuj dodać org.gradle.daemon=false i org.gradle.parallel=false do pliku gradle.properties, to może pomóc w problemie.

Powiązane problemy