Как сделать так, чтобы Gradle выполнял основной класс только после 100% сборки приложения? - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь запустить приложение kotlin, которое действует как своего рода repl, с блокировкой ввода.Когда я делаю ./gradlew run , приложение запускается, но только после частичной сборки приложения.Таким образом, он искажает консоль журналами сборки.

> Task :run 
MY_CONSOLE:
<==========---> 83% EXECUTING [15s]
> :run

Я хочу, чтобы он запускал основной класс после того, как полностью собрал его до 100%, чтобы не было искажений.Как мне это сделать?

Мой файл сборки Gradle.

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.3.11'
}

group 'com.me.shiny-interpreter'
version '1.0-SNAPSHOT'
apply plugin: 'application'
apply plugin: 'kotlin'
mainClassName = "interpreter.Repl"



repositories {
    mavenCentral()
    maven { setUrl("https://dl.bintray.com/hotkeytlt/maven") }

}
configurations {
    ktlint
}
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile 'com.github.h0tk3y.betterParse:better-parse-jvm:0.4.0-alpha-3'
    // https://mvnrepository.com/artifact/junit/junit
    testCompile group: 'junit', name: 'junit', version: '4.4'
    ktlint "com.github.shyiko:ktlint:0.31.0"


}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

run {
    standardInput = System.in
}

1 Ответ

2 голосов
/ 07 апреля 2019

Прогресс, который показывает Gradle, - это предполагаемый прогресс всего процесса сборки, который состоит из нескольких этапов, включая задачу run. При этом ваше приложение на самом деле полностью построено, и последние недостающие 17% относятся к самому запуску приложения. В любом случае, будьте уверены, ваше приложение собрано правильно.

...