buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'com.bio' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { // 개발용 의존성 추가 developmentOnly 'org.springframework.boot:spring-boot-devtools' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // PostgreSQL JDBC 드라이버 runtimeOnly 'org.postgresql:postgresql' implementation 'org.springframework.boot:spring-boot-starter-web' // Spring Security 추가 implementation 'org.springframework.boot:spring-boot-starter-security' // Validation 추가 implementation 'org.springframework.boot:spring-boot-starter-validation' // ModelMapper 추가 implementation 'org.modelmapper:modelmapper:3.0.0' // MyBatis 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' // querydsl implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta" annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" // p6spy implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' } tasks.named('test') { useJUnitPlatform() } // querydsl def querydslDir = "$buildDir/generated/querydsl" sourceSets { main.java.srcDirs += [ querydslDir ] } tasks.withType(JavaCompile) { options.annotationProcessorGeneratedSourcesDirectory = file(querydslDir) } clean.doLast { file(querydslDir).deleteDir() }