build.gradle.kts 1021 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. plugins {
  2. kotlin("jvm") version "2.0.0"
  3. application
  4. }
  5. group = "io.nexilis"
  6. version = "1.0-SNAPSHOT"
  7. repositories {
  8. mavenCentral()
  9. }
  10. dependencies {
  11. implementation(platform("com.squareup.okhttp3:okhttp-bom:4.12.0"))
  12. implementation("com.squareup.okhttp3:okhttp")
  13. implementation("org.json:json:20231013")
  14. testImplementation(kotlin("test"))
  15. }
  16. tasks.test {
  17. useJUnitPlatform()
  18. }
  19. application.mainClass = "io.nexilis.MainKt"
  20. tasks.jar {
  21. dependsOn.addAll(
  22. listOf(
  23. "compileJava",
  24. "compileKotlin",
  25. "processResources"
  26. )
  27. )
  28. archiveClassifier.set("standalone")
  29. duplicatesStrategy = DuplicatesStrategy.EXCLUDE
  30. manifest {
  31. attributes["Main-Class"] = application.mainClass
  32. }
  33. val sourcesMain = sourceSets.main.get()
  34. val contents = configurations.runtimeClasspath.get()
  35. .map { if (it.isDirectory) it else zipTree(it) } +
  36. sourcesMain.output
  37. from(contents)
  38. }
  39. kotlin {
  40. jvmToolchain(17)
  41. }