122 lines
3.4 KiB
Groovy
122 lines
3.4 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.5.7'
|
|
id 'io.spring.dependency-management' version '1.1.7'
|
|
id 'com.diffplug.spotless' version '6.25.0'
|
|
}
|
|
|
|
group = 'com.kamco.cd'
|
|
version = '0.0.1-SNAPSHOT'
|
|
description = 'label-send'
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
bootJar {
|
|
archiveFileName = "label-send.jar"
|
|
}
|
|
|
|
jar {
|
|
enabled = false // plain.jar 안 만들기(혼동 방지)
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
}
|
|
|
|
//repositories {
|
|
// mavenCentral()
|
|
// maven { url "https://repo.osgeo.org/repository/release/" }
|
|
//}
|
|
|
|
def repoUrl = System.getProperty("org.gradle.project.repoUrl")
|
|
?: System.getenv("ORG_GRADLE_PROJECT_repoUrl")
|
|
?: "http://172.16.4.56:18100/repository/maven-public/"
|
|
|
|
repositories {
|
|
maven {
|
|
url = uri(repoUrl)
|
|
allowInsecureProtocol = true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
compileOnly 'org.projectlombok:lombok'
|
|
runtimeOnly 'org.postgresql:postgresql'
|
|
annotationProcessor 'org.projectlombok:lombok'
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
|
|
//geometry
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind'
|
|
implementation "org.geotools:gt-shapefile:30.0"
|
|
implementation "org.geotools:gt-referencing:30.0"
|
|
implementation "org.geotools:gt-geojson:30.0"
|
|
implementation 'org.locationtech.jts.io:jts-io-common:1.20.0'
|
|
implementation 'org.locationtech.jts:jts-core:1.19.0'
|
|
implementation 'org.hibernate:hibernate-spatial:6.2.7.Final'
|
|
implementation 'org.geotools:gt-main:30.0'
|
|
implementation("org.geotools:gt-geotiff:30.0") {
|
|
exclude group: "javax.media", module: "jai_core"
|
|
}
|
|
implementation 'org.geotools:gt-epsg-hsql:30.0'
|
|
|
|
// QueryDSL JPA
|
|
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
|
|
|
|
// Q클래스 생성용 annotationProcessor
|
|
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
|
|
annotationProcessor 'jakarta.annotation:jakarta.annotation-api'
|
|
annotationProcessor 'jakarta.persistence:jakarta.persistence-api'
|
|
|
|
// actuator
|
|
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
|
|
// Redis
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
|
|
|
|
// SpringDoc OpenAPI (Swagger)
|
|
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'
|
|
|
|
// Apache Commons Compress for archive handling
|
|
implementation 'org.apache.commons:commons-compress:1.26.0'
|
|
|
|
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
|
|
implementation 'org.reflections:reflections:0.10.2'
|
|
|
|
|
|
implementation 'org.locationtech.jts:jts-core:1.19.0'
|
|
implementation 'org.locationtech.jts.io:jts-io-common:1.19.0'
|
|
}
|
|
|
|
configurations.configureEach {
|
|
exclude group: 'javax.media', module: 'jai_core'
|
|
}
|
|
|
|
tasks.named('test') {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
// Spotless configuration for code formatting (2-space indent)
|
|
spotless {
|
|
java {
|
|
target 'src/**/*.java'
|
|
googleJavaFormat('1.19.2') // Default Google Style = 2 spaces (NO .aosp()!)
|
|
trimTrailingWhitespace()
|
|
endWithNewline()
|
|
}
|
|
}
|
|
|
|
// Run spotlessCheck before build
|
|
tasks.named('build') {
|
|
dependsOn 'spotlessCheck'
|
|
}
|