mirror of
https://github.com/OtusTeam/Spring.git
synced 2026-05-30 10:50:42 +00:00
116 lines
3.2 KiB
Kotlin
Executable File
116 lines
3.2 KiB
Kotlin
Executable File
import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
|
|
import org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
|
|
import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel
|
|
import org.gradle.api.plugins.JavaPluginExtension
|
|
import fr.brouillard.oss.gradle.plugins.JGitverPluginExtension
|
|
import fr.brouillard.oss.gradle.plugins.JGitverPlugin
|
|
import name.remal.gradle_plugins.sonarlint.SonarLintExtension
|
|
|
|
plugins {
|
|
idea
|
|
id("fr.brouillard.oss.gradle.jgitver")
|
|
id("io.spring.dependency-management")
|
|
id("org.springframework.boot") apply false
|
|
id("name.remal.sonarlint") apply false
|
|
id("com.diffplug.spotless") apply false
|
|
}
|
|
|
|
|
|
idea {
|
|
project {
|
|
languageLevel = IdeaLanguageLevel(21)
|
|
}
|
|
module {
|
|
isDownloadJavadoc = true
|
|
isDownloadSources = true
|
|
}
|
|
}
|
|
|
|
|
|
allprojects {
|
|
group = "ru.petrelevich"
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
}
|
|
|
|
apply(plugin = "io.spring.dependency-management")
|
|
dependencyManagement {
|
|
dependencies {
|
|
imports {
|
|
mavenBom(BOM_COORDINATES)
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
failOnVersionConflict()
|
|
|
|
force("commons-io:commons-io:2.16.1")
|
|
force("org.eclipse.jgit:org.eclipse.jgit:6.9.0.202403050737-r")
|
|
force("org.apache.commons:commons-compress:1.26.1")
|
|
force("com.google.errorprone:error_prone_annotations:2.28.0")
|
|
force("org.jetbrains:annotations:19.0.0")
|
|
}
|
|
}
|
|
|
|
tasks.withType<JavaCompile> {
|
|
options.encoding = "UTF-8"
|
|
options.compilerArgs.addAll(listOf("-Xlint:all,-serial,-processing", "-Werror"))
|
|
}
|
|
|
|
apply<name.remal.gradle_plugins.sonarlint.SonarLintPlugin>()
|
|
configure<SonarLintExtension> {
|
|
nodeJs {
|
|
detectNodeJs = false
|
|
logNodeJsNotFound = false
|
|
}
|
|
}
|
|
|
|
apply<com.diffplug.gradle.spotless.SpotlessPlugin>()
|
|
configure<com.diffplug.gradle.spotless.SpotlessExtension> {
|
|
java {
|
|
palantirJavaFormat("2.50.0")
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
testLogging.showExceptions = true
|
|
reports {
|
|
junitXml.required.set(true)
|
|
html.required.set(true)
|
|
}
|
|
}
|
|
|
|
plugins.apply(JavaPlugin::class.java)
|
|
extensions.configure<JavaPluginExtension> {
|
|
sourceCompatibility = JavaVersion.VERSION_21
|
|
targetCompatibility = JavaVersion.VERSION_21
|
|
}
|
|
|
|
plugins.apply(JGitverPlugin::class.java)
|
|
extensions.configure<JGitverPluginExtension> {
|
|
strategy("PATTERN")
|
|
nonQualifierBranches("main,master")
|
|
tagVersionPattern("\${v}\${<meta.DIRTY_TEXT}")
|
|
versionPattern(
|
|
"\${v}\${<meta.COMMIT_DISTANCE}\${<meta.GIT_SHA1_8}" +
|
|
"\${<meta.QUALIFIED_BRANCH_NAME}\${<meta.DIRTY_TEXT}-SNAPSHOT"
|
|
)
|
|
}
|
|
}
|
|
|
|
tasks {
|
|
val managedVersions by registering {
|
|
doLast {
|
|
project.extensions.getByType<DependencyManagementExtension>()
|
|
.managedVersions
|
|
.toSortedMap()
|
|
.map { "${it.key}:${it.value}" }
|
|
.forEach(::println)
|
|
}
|
|
}
|
|
} |