build.gradle 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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.security:spring-security-crypto:5.7.1'
  23. implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  24. implementation 'org.springframework.boot:spring-boot-starter-graphql'
  25. implementation 'org.springframework.boot:spring-boot-starter-web'
  26. implementation 'org.springframework.boot:spring-boot-starter-web-services'
  27. compileOnly 'org.projectlombok:lombok'
  28. developmentOnly 'org.springframework.boot:spring-boot-devtools'
  29. annotationProcessor 'org.projectlombok:lombok'
  30. testImplementation 'org.springframework.boot:spring-boot-starter-test'
  31. testImplementation 'org.springframework:spring-webflux'
  32. testImplementation 'org.springframework.graphql:spring-graphql-test'
  33. // log4j2
  34. implementation 'org.springframework.boot:spring-boot-starter-log4j2'
  35. //thymeleaf
  36. implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
  37. implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
  38. // mssql
  39. //implementation 'com.microsoft.sqlserver:mssql-jdbc:9.4.0.jre8'
  40. //mysql
  41. implementation 'mysql:mysql-connector-java:8.0.32'
  42. //queryDSL
  43. implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
  44. annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
  45. annotationProcessor "jakarta.annotation:jakarta.annotation-api"
  46. annotationProcessor "jakarta.persistence:jakarta.persistence-api"
  47. // WebClient
  48. implementation 'org.springframework.boot:spring-boot-starter-webflux'
  49. /** Querydsl 설정부 **/
  50. def generated = 'src/main/generated'
  51. //querydsl QClass 파일 생성 위치를 지정
  52. tasks.withType(JavaCompile) {
  53. options.getGeneratedSourceOutputDirectory().set(file(generated))
  54. }
  55. //java source set 에 querydsl QClass 위치 추가
  56. sourceSets {
  57. main.java.srcDirs += [ generated ]
  58. }
  59. //gradle clean 시에 QClass 디렉토리 삭제
  60. clean {
  61. delete file(generated)
  62. }
  63. }
  64. tasks.named('test') {
  65. useJUnitPlatform()
  66. }