Das Kompilieren eines Android-Projekts mit Kotlin auf TeamCity schlägt fehl

8

Mein Build-Schritt verwendet die Gradle-Build-Vorlage von TeamCity, aber leider bekomme ich:

%Vor%

Irgendwelche Ideen, warum ich das bekommen könnte?

    
Calin 23.06.2017, 13:41
quelle

2 Antworten

3

Ich stieß auf das gleiche Problem. Es war jedoch nicht mit Kotlin verbunden.

Ich musste den Gradle deamon deaktivieren (auf CI-Servern ist das sowieso nicht zu empfehlen).

In teamcity können Sie z.B. Mach es, indem du -Dorg.gradle.daemon=false zur Umgebungsvariable GRADLE_OPTS hinzufügst.

Siehe Ссылка

    
Lovis 26.06.2017 12:18
quelle
1

Standardmäßig wird der Kotlin-Compiler in seinem eigenen Prozess-Daemon ausgeführt. Übergeben Sie diese Konfiguration bei der Ausführung von CI an Gradle, um Kotlin im selben Build-Prozess zu kompilieren:

%Vor%

Das Deaktivieren des Gradle-Daemons ist auch in CI-Umgebungen üblich:

%Vor%

Man könnte erwarten, dass die Gradle-Daemon-Eigenschaft auch den Kotlin-Compiler-Runner-Daemon deaktiviert, aber das passiert derzeit nicht. GradleKotlinCompilerRunner.kt berücksichtigt nur die Eigenschaft org.gradle.daemon nach die Eigenschaft kotlin.compiler.execution.strategy . Wenn die Ausführungsstrategie nicht definiert ist, verwendet der Runner standardmäßig die Strategie "daemon" :

%Vor%

Wenn Sie die Ausführungsstrategie explizit auf "in-process" setzen, erhalten Sie unabhängig von der Konfiguration des Gradle-Daemons compileInProcess() . Sie müssen jedoch möglicherweise beide Daemons auf CI-Servern deaktivieren.

    
James Wald 15.10.2017 22:30
quelle