Skip to content

Commit 76d175f

Browse files
authored
Merge pull request #72 from valery1707/gradle/version-catalog
Use `version catalog` for dependencies
2 parents 3add6f3 + e8a7c9d commit 76d175f

File tree

5 files changed

+40
-17
lines changed

5 files changed

+40
-17
lines changed

ReadMe.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313

1414
[![Mergify Status](https://img.shields.io/endpoint.svg?url=https://api.mergify.com/v1/badges/valery1707/problem-solving&style=flat)](https://dashboard.mergify.com/github/valery1707/repo/problem-solving)
1515

16-
Версии зависимостей контролируются плагином [com.palantir.consistent-versions](https://github.com/palantir/gradle-consistent-versions).
16+
Версии зависимостей управляются через функционал [version catalog](https://docs.gradle.org/current/userguide/platforms.html) (см. файл [libs.versions.toml](gradle/libs.versions.toml)) и валидируются плагином [com.palantir.consistent-versions](https://github.com/palantir/gradle-consistent-versions) (см. файл [versions.lock](versions.lock)).
1717

18-
Сами версии записаны в файле [versions.props](versions.props), обновления файла [versions.lock](versions.lock) выполняется командой `./gradlew --write-locks`.
18+
Обновление файла зависимостей выполняется командой `./gradlew --write-locks`.

build.gradle.kts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1+
// Remove when https://youtrack.jetbrains.com/issue/KTIJ-19369 and https://github.com/gradle/gradle/issues/22797 are fixed
2+
@Suppress("DSL_SCOPE_VIOLATION")
13
plugins {
2-
kotlin("jvm") version "1.7.22"
3-
id("me.champeau.jmh") version "0.6.8"
4-
id("com.palantir.consistent-versions") version "2.11.0"
5-
id("org.jetbrains.kotlinx.kover") version "0.6.1"
6-
id("org.sonarqube") version "3.4.0.2513"
4+
kotlin("jvm") version libs.versions.kotlin
5+
alias(libs.plugins.jmh)
6+
alias(libs.plugins.consistent.versions)
7+
alias(libs.plugins.kover)
8+
alias(libs.plugins.sonarqube)
79
}
810

911
group = "name.valery1707"
1012
version = "0.1.0-SNAPSHOT"
1113

12-
val jmhVersionCust = "1.36"
13-
1414
java {
1515
toolchain {
1616
languageVersion.set(JavaLanguageVersion.of(JavaVersion.VERSION_17.majorVersion))
@@ -25,15 +25,15 @@ repositories {
2525
}
2626

2727
dependencies {
28-
implementation("com.fasterxml.jackson.core:jackson-databind:2.14.1")
29-
implementation("net.andreinc:mockneat:0.4.8")
28+
implementation(libs.jackson.databind)
29+
implementation(libs.mockneat)
3030

3131
testImplementation(kotlin("test"))
32-
testImplementation(platform("org.junit:junit-bom"))
32+
testImplementation(platform(libs.junit))
3333
testImplementation("org.junit.jupiter:junit-jupiter-params")
34-
testImplementation("org.assertj:assertj-core")
34+
testImplementation(libs.assertj)
3535

36-
jmhAnnotationProcessor("org.openjdk.jmh:jmh-generator-annprocess:$jmhVersionCust")
36+
jmhAnnotationProcessor(libs.jmh.ann)
3737
}
3838

3939
//Encoding
@@ -56,7 +56,7 @@ tasks.withType<Test> {
5656

5757
jmh {
5858
//https://github.com/melix/jmh-gradle-plugin#configuration-options
59-
jmhVersion.set(jmhVersionCust)
59+
jmhVersion.set(libs.versions.jmh.tools)
6060
}
6161

6262
sonarqube {

gradle/libs.versions.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[versions]
2+
kotlin = "1.7.22"
3+
jackson = "2.14.1"
4+
junit = "5.9.1"
5+
jmh-plugin = "0.6.8"
6+
jmh-tools = "1.36"
7+
8+
[libraries]
9+
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
10+
junit = { module = "org.junit:junit-bom", version.ref = "junit" }
11+
assertj = { module = "org.assertj:assertj-core", version = "3.23.1" }
12+
mockneat = { module = "net.andreinc:mockneat", version = "0.4.8" }
13+
jmh-ann = { module = "org.openjdk.jmh:jmh-generator-annprocess", version.ref = "jmh.tools" }
14+
15+
[bundles]
16+
17+
[plugins]
18+
jmh = { id = "me.champeau.jmh", version = "0.6.8" }
19+
kover = { id = "org.jetbrains.kotlinx.kover", version = "0.6.1" }
20+
sonarqube = { id = "org.sonarqube", version = "3.4.0.2513" }
21+
consistent-versions = { id = "com.palantir.consistent-versions", version = "2.11.0" }

settings-gradle.lockfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
empty=incomingCatalogForLibs0

versions.props

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
org.junit:junit-bom = 5.9.1
2-
org.assertj:assertj-core = 3.23.1

0 commit comments

Comments
 (0)