Я написал задачу для запуска моего проекта, используя основной класс, выбранный с помощью пользовательского ввода, только он подсказывает мне выбрать основной класс, когда я запускаю gradle tasks
. Почему это и как я могу предотвратить это?Задание без необходимости
task run(dependsOn: "classes", type: JavaExec) {
description "Executes the project using the selected main class"
def selection = null
def mainClasses = []
// Select the java files with main classes in
sourceSets.main.allJava.each {
if(it.text.contains("public static void main")) {
def pkg = relativePath(it) - 'src/main/java/' - '.java'
pkg = pkg.tr "/", "."
println "${mainClasses.size()}. $pkg"
mainClasses << pkg
}
}
// Now prompt the user to choose a main class to use
while(selection == null) {
def input = System.console().readLine "#? "
if(input?.isInteger()) {
selection = input as int
if(selection >= 0 && selection < mainClasses.size()) {
break
} else {
selection = null
}
} else if(input?.toLowerCase() == "quit") {
return
}
if(selection == null) {
println "Unknown option."
}
}
main = mainClasses[selection]
classpath = sourceSets.main.runtimeClasspath
}
Когда я добавить 'doLast' закрытия пользователя никогда не побудил, как ни странно достаточно спросить пользователя, когда я использую 'doFirst'. – Lerp