-
Notifications
You must be signed in to change notification settings - Fork 34
/
build.gradle.kts
114 lines (99 loc) · 3.28 KB
/
build.gradle.kts
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
* Copyright (c) 2011-2022 VMware Inc. or its affiliates, All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.diffplug.gradle.spotless.SpotlessExtension
import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import io.miret.etienne.gradle.sass.CompileSass
import java.util.concurrent.TimeUnit
configurations.all {
resolutionStrategy.cacheChangingModulesFor(0, TimeUnit.SECONDS)
}
plugins {
java
application
alias(libs.plugins.shadow)
alias(libs.plugins.sass)
alias(libs.plugins.spotless)
}
group = "io.projectreactor"
version = "1.0.0.BUILD-SNAPSHOT"
var isCiServer = System.getenv().containsKey("CI")
configure<JavaApplication> {
mainClass.set("io.projectreactor.Application")
}
configure<ShadowExtension> {
version = ""
}
tasks.withType<CompileSass> {
style = compressed
//cannot set sourceDir, but default is $projectDir/src/main/sass - phew!
outputDir = file("$buildDir/resources/main/static/assets/css/")
}
tasks.withType<Jar> {
val compileSass = tasks.getByName("compileSass")
dependsOn(compileSass)
from(file("$buildDir/resources/main/static/assets/css/"))
}
tasks.withType<ShadowJar> {
archiveClassifier.set("")
archiveVersion.set("")
}
configure<SpotlessExtension> {
if (project.hasProperty("spotlessFrom")) {
val spotlessBranch = project.properties["spotlessFrom"].toString()
if (spotlessBranch == "ALL") {
println("[Spotless] Ratchet deactivated")
}
else {
println("[Spotless] Ratchet from $spotlessBranch")
ratchetFrom(spotlessBranch)
}
}
else if (isCiServer) {
println ("[Spotless] CI detected without explicit branch, not enforcing check")
isEnforceCheck = false
}
else {
val spotlessBranch = "origin/main"
println("[Spotless] Local run detected, ratchet from $spotlessBranch")
ratchetFrom(spotlessBranch)
}
java {
target("**/*.java")
licenseHeaderFile("codequality/spotless/licenseSlashstarStyle.txt")
}
}
repositories {
mavenCentral()
maven { setUrl("https://repo.spring.io/milestone") }
mavenLocal()
maven { setUrl("https://repo.spring.io/snapshot") }
}
dependencies {
implementation(platform(libs.reactorBom))
implementation("io.projectreactor.netty:reactor-netty")
implementation("io.projectreactor:reactor-core")
implementation(libs.jsr305)
implementation(libs.spring)
implementation(libs.thymeleaf)
implementation(libs.snakeYaml)
implementation(libs.jackson)
runtimeOnly(libs.commonsLogging)
runtimeOnly(libs.slf4jApi)
runtimeOnly(libs.logback)
testImplementation(libs.junit4)
testImplementation(libs.assertJ)
}