build.gradle 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. plugins {
  2. id 'java'
  3. id 'org.springframework.boot' version '3.2.3'
  4. id 'io.spring.dependency-management' version '1.1.4'
  5. }
  6. group = 'com.example'
  7. version = '0.0.1-SNAPSHOT'
  8. java {
  9. sourceCompatibility = '17'
  10. }
  11. configurations {
  12. compileOnly {
  13. extendsFrom annotationProcessor
  14. }
  15. all*.exclude module: 'spring-boot-starter-logging'
  16. }
  17. repositories {
  18. mavenCentral()
  19. }
  20. dependencies {
  21. implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
  22. implementation 'org.springframework.boot:spring-boot-starter-security'
  23. implementation 'org.springframework.security:spring-security-crypto:6.2.1'
  24. implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  25. implementation 'org.springframework.boot:spring-boot-starter-graphql'
  26. implementation 'org.springframework.boot:spring-boot-starter-web'
  27. implementation 'org.springframework.boot:spring-boot-starter-web-services'
  28. compileOnly 'org.projectlombok:lombok'
  29. developmentOnly 'org.springframework.boot:spring-boot-devtools'
  30. annotationProcessor 'org.projectlombok:lombok'
  31. testImplementation 'org.springframework.boot:spring-boot-starter-test'
  32. testImplementation 'org.springframework:spring-webflux'
  33. testImplementation 'org.springframework.graphql:spring-graphql-test'
  34. // log4j2
  35. implementation 'org.springframework.boot:spring-boot-starter-log4j2'
  36. //thymeleaf
  37. implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
  38. implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
  39. // mssql
  40. //implementation 'com.microsoft.sqlserver:mssql-jdbc:9.4.0.jre8'
  41. //mysql
  42. implementation 'mysql:mysql-connector-java:8.0.32'
  43. //queryDSL
  44. implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
  45. annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
  46. annotationProcessor "jakarta.annotation:jakarta.annotation-api"
  47. annotationProcessor "jakarta.persistence:jakarta.persistence-api"
  48. // WebClient
  49. implementation 'org.springframework.boot:spring-boot-starter-webflux'
  50. // 밸리데이션
  51. implementation 'org.springframework.boot:spring-boot-starter-validation'
  52. /** Querydsl 설정부 **/
  53. def generated = 'src/main/generated'
  54. //querydsl QClass 파일 생성 위치를 지정
  55. tasks.withType(JavaCompile) {
  56. options.getGeneratedSourceOutputDirectory().set(file(generated))
  57. }
  58. //java source set 에 querydsl QClass 위치 추가
  59. sourceSets {
  60. main.java.srcDirs += [ generated ]
  61. }
  62. //gradle clean 시에 QClass 디렉토리 삭제
  63. clean {
  64. delete file(generated)
  65. }
  66. }
  67. tasks.named('test') {
  68. useJUnitPlatform()
  69. }