build.gradle 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. plugins {
  2. id "java-gradle-plugin"
  3. id "java"
  4. id "groovy"
  5. }
  6. java {
  7. sourceCompatibility = JavaVersion.VERSION_17
  8. }
  9. repositories {
  10. gradlePluginPortal()
  11. mavenCentral()
  12. maven { url 'https://repo.spring.io/milestone' }
  13. }
  14. sourceSets {
  15. main {
  16. java {
  17. srcDirs = []
  18. }
  19. groovy {
  20. srcDirs += ["src/main/java"]
  21. }
  22. }
  23. }
  24. gradlePlugin {
  25. plugins {
  26. trang {
  27. id = "trang"
  28. implementationClass = "trang.TrangPlugin"
  29. }
  30. locks {
  31. id = "locks"
  32. implementationClass = "lock.GlobalLockPlugin"
  33. }
  34. managementConfiguration {
  35. id = "io.spring.convention.management-configuration"
  36. implementationClass = "io.spring.gradle.convention.ManagementConfigurationPlugin"
  37. }
  38. s101 {
  39. id = "s101"
  40. implementationClass = "s101.S101Plugin"
  41. }
  42. verifyDependenciesVersions {
  43. id = "org.springframework.security.versions.verify-dependencies-versions"
  44. implementationClass = "org.springframework.security.convention.versions.VerifyDependenciesVersionsPlugin"
  45. }
  46. }
  47. }
  48. configurations {
  49. implementation {
  50. exclude module: 'groovy-all'
  51. }
  52. }
  53. dependencies {
  54. implementation platform(libs.io.projectreactor.reactor.bom)
  55. implementation libs.com.google.code.gson.gson
  56. implementation libs.com.thaiopensource.trag
  57. implementation libs.net.sourceforge.saxon.saxon
  58. implementation libs.org.yaml.snakeyaml
  59. implementation localGroovy()
  60. implementation libs.io.github.gradle.nexus.publish.plugin
  61. implementation 'io.projectreactor:reactor-core'
  62. implementation libs.org.gretty.gretty
  63. implementation libs.com.github.ben.manes.gradle.versions.plugin
  64. implementation libs.com.github.spullara.mustache.java.compiler
  65. implementation libs.io.spring.javaformat.spring.javaformat.gradle.plugin
  66. implementation libs.io.spring.nohttp.nohttp.gradle
  67. implementation (libs.net.sourceforge.htmlunit) {
  68. exclude group: 'org.eclipse.jetty.websocket', module: 'websocket-client'
  69. }
  70. implementation libs.org.hidetake.gradle.ssh.plugin
  71. implementation libs.org.jfrog.buildinfo.build.info.extractor.gradle
  72. implementation libs.org.sonarsource.scanner.gradle.sonarqube.gradle.plugin
  73. implementation libs.com.squareup.okhttp3.okhttp
  74. implementation libs.io.spring.security.release.plugin
  75. testImplementation platform(libs.org.junit.junit.bom)
  76. testImplementation platform(libs.org.mockito.mockito.bom)
  77. testImplementation "org.junit.jupiter:junit-jupiter-api"
  78. testImplementation "org.junit.jupiter:junit-jupiter-params"
  79. testImplementation "org.junit.jupiter:junit-jupiter-engine"
  80. testImplementation libs.org.apache.commons.commons.io
  81. testImplementation libs.org.assertj.assertj.core
  82. testImplementation 'org.mockito:mockito-core'
  83. testImplementation 'org.mockito:mockito-junit-jupiter'
  84. testImplementation libs.com.squareup.okhttp3.mockwebserver
  85. }
  86. tasks.named('test', Test).configure {
  87. onlyIf { !project.hasProperty("buildSrc.skipTests") }
  88. useJUnitPlatform()
  89. jvmArgs(
  90. '--add-opens', 'java.base/java.lang=ALL-UNNAMED',
  91. '--add-opens', 'java.base/java.util=ALL-UNNAMED'
  92. )
  93. }