Files
jinia91_blog/build.gradle

125 lines
4.0 KiB
Groovy

plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id "org.jetbrains.kotlin.jvm" version "1.5.0-RC"
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id "com.github.node-gradle.node" version "3.1.0"
id 'java'
}
jar {
enabled = false
}
group = 'myblog'
version = '0.0.1-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
gradlePluginPortal()
}
ext {
kotlin_version = '1.5.0-RC'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.9'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
implementation 'io.sentry:sentry-spring-boot-starter:5.6.1'
implementation 'com.querydsl:querydsl-jpa'
implementation 'com.github.node-gradle:gradle-node-plugin:3.1.0'
implementation group: 'org.kohsuke', name: 'github-api', version: '1.133'
implementation group: 'org.apache.commons', name: 'commons-text', version: '1.9'
implementation group: 'com.atlassian.commonmark', name: 'commonmark', version: '0.17.0'
implementation group: 'org.jsoup', name: 'jsoup', version: '1.14.3'
implementation 'org.commonmark:commonmark-ext-gfm-tables:0.18.0'
implementation group: 'org.jdom', name: 'jdom2', version: '2.0.6'
implementation group: 'net.sf.ehcache', name: 'ehcache', version: '2.10.9.2'
implementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.12.152'
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor "org.mapstruct:mapstruct-processor:1.4.2.Final"
annotationProcessor'org.projectlombok:lombok-mapstruct-binding:0.2.0'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.2.0'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
// testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
// testImplementation "com.nhaarman:mockito-kotlin-kt1.1:1.5.0"
// https://mvnrepository.com/artifact/org.mockito.kotlin/mockito-kotlin
testImplementation group: 'org.mockito.kotlin', name: 'mockito-kotlin', version: '4.0.0'
}
test {
useJUnitPlatform()
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
// NPM 설정
node {
version = '16.3.0'
download = true
nodeModulesDir = file("${projectDir}/src/main/resources/static")
}
task copyFrontLib(type: Copy) {
from "${projectDir}/src/main/resources/static"
into "${projectDir}/build/resources/main/static/."
}
copyFrontLib.dependsOn npmInstall
compileJava.dependsOn copyFrontLib