125 lines
4.0 KiB
Groovy
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
|
|
|