build.gradle.kts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import org.springframework.boot.gradle.tasks.bundling.BootJar
  2. group = "cc-lotus.gaf3"
  3. version = rootProject.version
  4. plugins {
  5. id("java")
  6. id("maven-publish")
  7. id("io.spring.dependency-management")
  8. id("org.springframework.boot")
  9. kotlin("jvm")
  10. kotlin("plugin.spring")
  11. // kotlin("plugin.jpa")
  12. }
  13. dependencies {
  14. implementation(project(path = ":shared:cloud"))
  15. implementation(project(path = ":shared:util"))
  16. implementation("org.springframework.boot:spring-boot-starter-webflux")
  17. implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
  18. implementation("org.springframework.boot:spring-boot-configuration-processor")
  19. implementation("org.springframework.cloud:spring-cloud-starter-gateway")
  20. implementation("org.springframework.cloud:spring-cloud-gateway-webflux")
  21. implementation("io.jsonwebtoken:jjwt-api")
  22. implementation("io.jsonwebtoken:jjwt-impl")
  23. implementation("io.jsonwebtoken:jjwt-jackson")
  24. implementation("com.alibaba:fastjson")
  25. implementation("commons-io:commons-io")
  26. implementation(kotlin("reflect"))
  27. implementation(kotlin("stdlib-jdk8"))
  28. implementation(project(path = ":services:service-verify", configuration = "lib"))
  29. implementation(project(path = ":services:service-token", configuration = "lib"))
  30. runtimeOnly("mysql:mysql-connector-java")
  31. }
  32. dependencyManagement {
  33. imports {
  34. mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("springCloudVersion")}")
  35. }
  36. }
  37. tasks.named<BootJar>(name = "bootJar") {
  38. archiveBaseName.set("gaf3-${project.name}")
  39. }
  40. tasks.register<Jar>(name = "libJar") {
  41. archiveBaseName.set("gaf3-${project.name}-lib")
  42. from(project.the<SourceSetContainer>()["main"].output)
  43. include("gaf3/**")
  44. exclude("gaf3/core/gateway/bean/**")
  45. exclude {
  46. it.name.endsWith("Application.class")
  47. }
  48. exclude {
  49. it.name.endsWith("ApplicationKt.class")
  50. }
  51. exclude {
  52. it.name.endsWith("Application${'$'}Companion.class")
  53. }
  54. }
  55. tasks.build { dependsOn(tasks.named("libJar")) }
  56. configurations {
  57. create("lib")
  58. }
  59. artifacts {
  60. add("lib", tasks["libJar"])
  61. }
  62. tasks {
  63. processResources {
  64. filesMatching("application-services.yml") {
  65. // expand("db.user" to dbUser)
  66. expand(project.properties)
  67. }
  68. }
  69. }
  70. publishing {
  71. publications {
  72. create<MavenPublication>("maven") {
  73. artifact(tasks["libJar"])
  74. artifactId = "gaf-core-${project.name}"
  75. // from(components["java"])
  76. }
  77. }
  78. }