|
|
@ -13,9 +13,6 @@ buildscript {
|
|
|
|
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
dependencies {
|
|
|
|
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
|
|
|
|
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
|
|
|
|
|
|
|
|
|
|
|
|
// JPA querydsl
|
|
|
|
|
|
|
|
//classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10")
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -25,14 +22,6 @@ plugins {
|
|
|
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
|
|
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
|
|
|
id 'java'
|
|
|
|
id 'java'
|
|
|
|
id 'war'
|
|
|
|
id 'war'
|
|
|
|
//id 'net.ltgt.apt' version '0.21'
|
|
|
|
|
|
|
|
// querydsl
|
|
|
|
|
|
|
|
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
|
|
|
|
|
|
|
|
//id 'org.openapi.generator' version '5.1.1'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// docker : jib
|
|
|
|
|
|
|
|
// bootWar --> jibDockerBuild
|
|
|
|
|
|
|
|
//id 'com.google.cloud.tools.jib' version '3.1.2' //
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// buildscript
|
|
|
|
// buildscript
|
|
|
@ -125,16 +114,18 @@ dependencies {
|
|
|
|
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0'
|
|
|
|
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0'
|
|
|
|
// implementation 'p6spy:p6spy:3.9.1'
|
|
|
|
// implementation 'p6spy:p6spy:3.9.1'
|
|
|
|
|
|
|
|
|
|
|
|
// JPA querydsl
|
|
|
|
// JPA querydsl ----------------------------------------------
|
|
|
|
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
|
|
|
|
implementation "com.querydsl:querydsl-jpa"
|
|
|
|
implementation "com.querydsl:querydsl-core:${queryDslVersion}"
|
|
|
|
// querydsl JPAAnnotationProcessor 사용 지정
|
|
|
|
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
|
|
|
|
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
|
|
|
|
annotationProcessor(
|
|
|
|
// java.lang.NoClassDefFoundError(javax.annotation.Entity) 발생 대응
|
|
|
|
"javax.persistence:javax.persistence-api",
|
|
|
|
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
|
|
|
|
"javax.annotation:javax.annotation-api",
|
|
|
|
// java.lang.NoClassDefFoundError (javax.annotation.Generated) 발생 대응
|
|
|
|
"com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
|
|
|
|
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
|
|
|
|
|
|
|
|
// ------------------------------------------------------------
|
|
|
|
// JPA mapstruct : lombok 과 함께 사용시 반드시 순서 지겨야 함다 - ㅡmapstruct이 먼저 선언된 경우
|
|
|
|
|
|
|
|
|
|
|
|
// JPA mapstruct -----------------------------------------------------------
|
|
|
|
|
|
|
|
// lombok 과 함께 사용시 반드시 순서 지겨야 함다 - ㅡmapstruct이 먼저 선언된 경우
|
|
|
|
// target class 에 @Builder 가 있어도 무시하고 생성자 + setter 를 사용하므로 정상적으로 Mapper 클래스를 Generation 하기 위해서
|
|
|
|
// target class 에 @Builder 가 있어도 무시하고 생성자 + setter 를 사용하므로 정상적으로 Mapper 클래스를 Generation 하기 위해서
|
|
|
|
// @NoArgsConstructor, @Setter 가 필요
|
|
|
|
// @NoArgsConstructor, @Setter 가 필요
|
|
|
|
// but, 최근 Setter 사용을 지양하는 추세라 mapstruct를 먼저 오도록 해서 @Builder 방식으로 Generation
|
|
|
|
// but, 최근 Setter 사용을 지양하는 추세라 mapstruct를 먼저 오도록 해서 @Builder 방식으로 Generation
|
|
|
@ -267,52 +258,12 @@ tasks.withType(JavaCompile) {
|
|
|
|
//-----------------------------------------------------------------------------------//
|
|
|
|
//-----------------------------------------------------------------------------------//
|
|
|
|
// querydsl
|
|
|
|
// querydsl
|
|
|
|
//-----------------------------------------------------------------------------------//
|
|
|
|
//-----------------------------------------------------------------------------------//
|
|
|
|
def querydslDir = "$buildDir/generated"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// querydsl 적용
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
|
|
|
|
main {
|
|
|
|
|
|
|
|
java {
|
|
|
|
|
|
|
|
srcDirs = ["$projectDir/src/main/java", querydslDir]
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
querydsl {
|
|
|
|
/** clean 태스크 실행시 QClass 삭제 */
|
|
|
|
jpa = true
|
|
|
|
clean {
|
|
|
|
querydslSourcesDir = querydslDir
|
|
|
|
delete file('src/main/generated') // 인텔리제이 Annotation processor 생성물 생성위치
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
configurations {
|
|
|
|
|
|
|
|
compileOnly {
|
|
|
|
|
|
|
|
extendsFrom annotationProcessor
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
querydsl.extendsFrom compileClasspath
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
compileQuerydsl {
|
|
|
|
|
|
|
|
options.annotationProcessorPath = configurations.querydsl
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// build시 querydsl 삭제후 재 컴파일
|
|
|
|
|
|
|
|
compileQuerydsl.doFirst {
|
|
|
|
|
|
|
|
if(file(querydslDir).exists())
|
|
|
|
|
|
|
|
delete(file(querydslDir))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// build시 querydsl 적용
|
|
|
|
|
|
|
|
compileJava {
|
|
|
|
|
|
|
|
options.compilerArgs << '-s'
|
|
|
|
|
|
|
|
options.compilerArgs << "$buildDir/generated/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
doFirst {
|
|
|
|
|
|
|
|
if(file(querydslDir).exists())
|
|
|
|
|
|
|
|
delete(file(querydslDir))
|
|
|
|
|
|
|
|
file(querydslDir).mkdirs();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------------//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test {
|
|
|
|
test {
|
|
|
|
exclude '**/*'
|
|
|
|
exclude '**/*'
|
|
|
|
//useJUnitPlatform()
|
|
|
|
//useJUnitPlatform()
|
|
|
|