J'utilise Gradle avec Kotlin-DSL, mais je n'ai pas trouvé de moyen de générer un fichier exécutable, donc je l'écrirai comme rappel.
build.gradle.kts
plugins {
application
}
dependencies {
//Pour emballer les bibliothèques dépendantes dans un pot'compile'Doit être décrit dans
// Use the Kotlin JDK 8 standard library.
compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
// Use the Kotlin test library.
testCompile("org.jetbrains.kotlin:kotlin-test")
// Use the Kotlin JUnit integration.
testCompile("org.jetbrains.kotlin:kotlin-test-junit")
}
application {
// Define the main class for the application
mainClassName = "com.example.MainKt"
}
// 'gradle jar'Définissez une tâche pour pouvoir utiliser
val jar by tasks.getting(Jar::class) {
manifest {
attributes["Main-Class"] = "com.example.MainKt"
}
from(
configurations.compile.get().map {
if (it.isDirectory) it else zipTree(it)
}
)
exclude("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA")
}
Je peux trouver beaucoup d'articles groovy ...
[Post-scriptum 11/4]
Bien que cela diffère de l'objectif de cet article, j'écrirai également une méthode pour donner un argument d'exécution au moment de ./gradlew run
.
build.gradle.kts
import kotlin.text.Regex
val run by tasks.getting(JavaExec::class) {
if (project.hasProperty("args")) {
args = (project.property("args") as String).split(Regex("\\s+))
}
}
À l'exécution
./gradlew run -Pargs="hoge fuga piyo ..."
Notez que la complétion ne fonctionne pas pour les arguments
Recommended Posts