-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle
93 lines (78 loc) · 2.86 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
plugins {
id 'java-library'
id 'org.springframework.boot' version '3.2.0'
id 'io.spring.dependency-management' version '1.1.4'
id "org.sonarqube" version "4.4.1.3373"
}
//sonar 설정
sonar {
properties {
property "sonar.projectKey", "everyone-s-garden_back-V2"
property "sonar.organization", "everyone-s-garden"
property "sonar.host.url", "https://sonarcloud.io"
property 'sonar.coverage.exclusions', '**/health/**, **/*Request.java, **/*Response.java, **/*Result*.java, **/*Param*.java, **/*Config*.java, **/*Exception*.java, **/*Info.java, **/*Client.java, **/*Parser.java, **/global/error/**, **/auth/jwt/**, **/*JpaRepository.java, **/global/exception/**, **/*Responses.java'
property 'sonar.exclusions', '**/*Application*.java, , **/*Parser.java'
}
}
allprojects {
group = 'com.garden'
version = '0.0.1'
sourceCompatibility = '17'
repositories {
maven { url "https://repo.osgeo.org/repository/release/" }
mavenCentral()
}
}
subprojects {
bootJar.enabled = false
jar.enabled = false
compileJava.options.encoding = 'UTF-8'
apply plugin: 'java-library' //하위 모듈이 상위 모듈의 라이브러리를 의존할 수 있게 하는 플러그인
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.springframework.boot'
apply plugin: 'jacoco'
apply plugin: 'org.sonarqube' //하위 모듈에 전부 소나클라우드 적용
sonar {
properties {
property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml"
}
}
test {
useJUnitPlatform()
finalizedBy jacocoTestReport
systemProperties = [
"junit.jupiter.execution.parallel.enabled" : "true",
"junit.jupiter.execution.parallel.mode.default" : "concurrent",
"junit.jupiter.execution.parallel.config.strategy" : "dynamic"
]
}
jacocoTestReport {
reports {
xml.required = true
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, exclude: ['**/*Request.class', '**/*Response.class'])
}))
}
}
dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:2023.0.0"
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
asciidoctorExt
}
//ide에 코틀린 플러그인이 적용되어 있어 설정함
tasks.register("prepareKotlinBuildScriptModel") {}
}