815c329e3c
- AccountControllerTest 현 컨트롤러 API 기준 재작성
- Selenium 4종·SignupFileTest @Tag("e2e") 부여
- BaseWebTest headless 옵션, e2e 워크플로 신설
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
192 lines
6.5 KiB
Groovy
192 lines
6.5 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'war'
|
|
id 'eclipse'
|
|
id 'idea'
|
|
id 'org.springframework.boot' version '2.7.18'
|
|
id 'io.spring.dependency-management' version '1.1.3'
|
|
}
|
|
|
|
group = 'com.eactive'
|
|
version = '1.0.0'
|
|
sourceCompatibility = "1.8"
|
|
targetCompatibility = "1.8"
|
|
|
|
def nexusUrl = "https://nexus.eactive.synology.me:8090"
|
|
|
|
allprojects {
|
|
repositories {
|
|
maven {
|
|
url "${nexusUrl}/repository/maven-public/"
|
|
allowInsecureProtocol = true
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
annotationProcessor "org.projectlombok:lombok:1.18.28"
|
|
annotationProcessor "org.projectlombok:lombok-mapstruct-binding:0.2.0", "org.mapstruct:mapstruct-processor:1.5.5.Final"
|
|
|
|
implementation 'com.eactive.elink.common:elink-common-data:4.5.5'
|
|
|
|
// implementation 'io.swagger.core.v3:swagger-core:2.2.25'
|
|
// implementation 'io.swagger.parser.v3:swagger-parser:2.1.23'
|
|
implementation fileTree(dir: 'libs/swagger', include: ['*.jar'])
|
|
|
|
implementation project(':elink-online-core-jpa')
|
|
implementation project(':elink-portal-common')
|
|
// implementation project(':kjb-safedb')
|
|
|
|
implementation('org.springframework.boot:spring-boot-starter')
|
|
implementation 'org.springframework.boot:spring-boot-starter-jta-atomikos'
|
|
implementation('org.springframework.boot:spring-boot-starter-web')
|
|
implementation('org.springframework.boot:spring-boot-starter-validation')
|
|
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
|
|
implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: '6.5.1'
|
|
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
implementation('org.springframework.boot:spring-boot-starter-cache')
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'org.springframework.data:spring-data-envers'
|
|
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
|
|
|
|
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
|
implementation 'org.springframework:spring-expression:5.3.30'
|
|
|
|
implementation group: 'xalan', name: 'xalan', version: '2.7.3'
|
|
|
|
implementation 'org.hibernate:hibernate-envers:5.6.15.Final'
|
|
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.0.0'
|
|
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
|
|
|
|
implementation 'com.github.ua-parser:uap-java:1.5.3'
|
|
implementation 'org.apache.httpcomponents:httpclient:4.5.14'
|
|
implementation 'com.navercorp.lucy:lucy-xss-servlet:2.0.1'
|
|
implementation 'javax.servlet:javax.servlet-api:4.0.0'
|
|
implementation 'org.jasypt:jasypt:1.9.3'
|
|
implementation 'xerces:xercesImpl:2.12.2'
|
|
|
|
implementation 'org.apache.commons:commons-lang3:3.12.0'
|
|
implementation 'org.apache.commons:commons-collections4:4.4'
|
|
|
|
implementation 'commons-net:commons-net:3.9.0'
|
|
implementation('commons-beanutils:commons-beanutils:1.9.4') {
|
|
// exclude group: 'commons-collections', module: 'commons-collections'
|
|
}
|
|
implementation 'org.mapstruct:mapstruct:1.5.5.Final'
|
|
implementation 'com.fasterxml.jackson.core:jackson-core:2.15.3'
|
|
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.15.3'
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.3'
|
|
|
|
implementation group: 'org.apache.velocity', name: 'velocity-engine-core', version: '2.3'
|
|
|
|
// runtimeOnly group: 'com.mysql', name: 'mysql-connector-j', version: '8.4.0'
|
|
runtimeOnly 'com.oracle.database.jdbc:ojdbc8:19.20.0.0'
|
|
|
|
implementation 'net.bytebuddy:byte-buddy:1.14.5'
|
|
|
|
// Commons FileUpload (WAS 독립적인 multipart 처리)
|
|
implementation 'commons-fileupload:commons-fileupload:1.5'
|
|
implementation 'commons-io:commons-io:2.15.1'
|
|
|
|
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
|
|
testImplementation 'org.mockito:mockito-inline:3.11.2'
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.seleniumhq.selenium:selenium-java:4.8.3'
|
|
testImplementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.9.1'
|
|
testImplementation 'org.apache.httpcomponents.client5:httpclient5:5.2.1'
|
|
|
|
}
|
|
|
|
ext {
|
|
springMavenArtifactVersion = '5.3.30'
|
|
encoding = 'UTF-8'
|
|
profile = 'local'
|
|
}
|
|
|
|
|
|
task printProfile {
|
|
doLast {
|
|
if (project.hasProperty('profile')) {
|
|
println "Current profile: ${project.property('profile')}"
|
|
} else {
|
|
println "No profile specified"
|
|
}
|
|
}
|
|
}
|
|
|
|
bootRun {
|
|
// 디버깅 사용시에는 아래 내용 주석 해제 하세요
|
|
// jvmArgs '-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005'
|
|
|
|
sourceResources sourceSets.main // processResources 필터 우회 (dev yml 직접 참조)
|
|
args = ["--spring.profiles.active=dev"]
|
|
}
|
|
|
|
|
|
// annotation processor 출력 디렉토리는 IntelliJ/Gradle 통합이 자동 등록함.
|
|
// 명시적으로 srcDir 추가하면 IntelliJ idea 모드에서 MapStruct가 같은 파일을
|
|
// 중복 생성하려다 javax.annotation.processing.FilerException 발생함.
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir 'src/main/java'
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
annotationProcessor
|
|
}
|
|
|
|
compileJava {
|
|
options.annotationProcessorPath = configurations.annotationProcessor
|
|
options.compilerArgs += ["-parameters"]
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
processResources {
|
|
exclude { details ->
|
|
details.file.name.startsWith('application-') &&
|
|
details.file.name.endsWith('.yml') &&
|
|
!(details.file.name in ['application-stage.yml', 'application-prod.yml'])
|
|
}
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform {
|
|
if (project.hasProperty('includeE2E') && project.includeE2E.toBoolean()) {
|
|
includeTags 'e2e'
|
|
} else {
|
|
excludeTags 'e2e'
|
|
}
|
|
}
|
|
enabled = true
|
|
}
|
|
|
|
bootWar {
|
|
archiveFileName = "eapim-portal-boot.war"
|
|
}
|
|
|
|
war {
|
|
archiveFileName = "eapim-portal.war"
|
|
|
|
from('src/main/resources/jeus-web-dd.xml') { into 'WEB-INF' }
|
|
from('src/main/resources/weblogic.xml') { into 'WEB-INF' }
|
|
|
|
}
|
|
|
|
task printSourceSets {
|
|
doLast {
|
|
sourceSets.each { srcSet ->
|
|
println "SourceSet: ${srcSet.name}"
|
|
println " Java srcDirs : ${srcSet.allJava.srcDirs}"
|
|
println " Resources : ${srcSet.resources.srcDirs}"
|
|
println " Output dir : ${srcSet.output.classesDirs.asPath}"
|
|
}
|
|
}
|
|
} |