Skip to content

Commit f5596e1

Browse files
committed
update deps
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent fff2a31 commit f5596e1

File tree

6 files changed

+157
-39
lines changed

6 files changed

+157
-39
lines changed

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
setup:
2-
./gradlew wrapper --gradle-version 8.12.1
2+
./gradlew wrapper --gradle-version 8.14.1
33
./gradlew build
44

55
app:
@@ -22,7 +22,7 @@ install:
2222
test:
2323
./gradlew test
2424

25-
check-java-deps:
26-
./gradlew dependencyUpdates -Drevision=release
25+
update-deps:
26+
./gradlew refreshVersions
2727

2828
.PHONY: build

build.gradle.kts

Lines changed: 67 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,64 +3,96 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
33

44
plugins {
55
application
6-
id("io.freefair.lombok") version "8.12.1"
7-
id("org.springframework.boot") version "3.4.2"
8-
id("io.spring.dependency-management") version "1.1.7"
9-
id("com.github.ben-manes.versions") version "0.52.0"
10-
id("com.diffplug.spotless") version "7.0.2"
6+
jacoco
7+
checkstyle
8+
alias(libs.plugins.lombok)
9+
alias(libs.plugins.versions)
10+
alias(libs.plugins.spotless)
11+
alias(libs.plugins.spring.boot)
12+
alias(libs.plugins.spring.dependency.management)
13+
alias(libs.plugins.shadow)
14+
alias(libs.plugins.sonarqube)
1115
}
1216

1317
group = "io.hexlet.blog"
14-
1518
version = "1.0-SNAPSHOT"
1619

17-
application { mainClass.set("io.hexlet.blog.Application") }
20+
application {
21+
mainClass.set("io.hexlet.blog.Application")
22+
}
1823

1924
repositories {
2025
mavenCentral()
2126
}
2227

2328
dependencies {
24-
implementation("org.springframework.boot:spring-boot-starter-web")
25-
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
26-
implementation("org.springframework.boot:spring-boot-starter-validation")
27-
implementation("org.springframework.boot:spring-boot-devtools")
28-
implementation("org.springframework.boot:spring-boot-starter-actuator")
29-
implementation("org.springframework.boot:spring-boot-configuration-processor")
30-
implementation("org.springframework.boot:spring-boot-starter-security")
31-
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.4")
32-
// implementation("io.sentry:sentry-spring-boot-starter-jakarta:6.28.0")
29+
// Spring Boot
30+
implementation(libs.springBootStarterWeb)
31+
implementation(libs.springBootStarterDataJpa)
32+
implementation(libs.springBootStarterValidation)
33+
implementation(libs.springBootStarterActuator)
34+
implementation(libs.springBootStarterSecurity)
35+
implementation(libs.springBootDevtools)
36+
implementation(libs.springBootConfigProcessor)
37+
38+
// OpenAPI
39+
implementation(libs.springdocOpenapiUi)
3340

34-
implementation("org.openapitools:jackson-databind-nullable:0.2.6")
35-
implementation("org.mapstruct:mapstruct:1.6.3")
36-
annotationProcessor("org.mapstruct:mapstruct-processor:1.6.3")
41+
// Utilities
42+
implementation(libs.jacksonDatabindNullable)
43+
implementation(libs.commonsLang3)
44+
implementation(libs.datafaker)
45+
implementation(libs.instancioJunit)
46+
implementation(libs.jsonunitAssertj)
3747

38-
runtimeOnly("com.h2database:h2:2.2.224")
39-
implementation("org.apache.commons:commons-lang3:3.17.0")
40-
implementation("net.datafaker:datafaker:2.4.2")
41-
implementation("org.instancio:instancio-junit:5.3.0")
42-
implementation("net.javacrumbs.json-unit:json-unit-assertj:4.1.0")
43-
testImplementation("org.springframework.boot:spring-boot-starter-test")
44-
testImplementation(platform("org.junit:junit-bom:5.10.1"))
45-
testImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
48+
// MapStruct
49+
implementation(libs.mapstruct)
50+
annotationProcessor(libs.mapstructProcessor)
51+
52+
// DB
53+
runtimeOnly(libs.h2)
54+
55+
// Tests
56+
testImplementation(libs.springBootStarterTest)
57+
testImplementation(platform(libs.junitBom))
58+
testImplementation(libs.junitJupiter)
59+
testRuntimeOnly(libs.junitPlatformLauncher)
60+
}
61+
62+
tasks.test {
63+
useJUnitPlatform()
64+
testLogging {
65+
exceptionFormat = TestExceptionFormat.FULL
66+
events =
67+
setOf(
68+
TestLogEvent.FAILED,
69+
TestLogEvent.PASSED,
70+
TestLogEvent.SKIPPED,
71+
)
72+
showStandardStreams = true
73+
}
74+
}
75+
76+
tasks.jacocoTestReport {
77+
reports {
78+
xml.required.set(true)
79+
}
4680
}
4781

4882
spotless {
4983
java {
5084
importOrder()
5185
removeUnusedImports()
52-
eclipse()
53-
.sortMembersEnabled(true)
86+
eclipse().sortMembersEnabled(true)
5487
formatAnnotations()
5588
indentWithSpaces(4)
5689
}
5790
}
5891

59-
tasks.test {
60-
useJUnitPlatform()
61-
testLogging {
62-
exceptionFormat = TestExceptionFormat.FULL
63-
events = mutableSetOf(TestLogEvent.FAILED, TestLogEvent.PASSED, TestLogEvent.SKIPPED)
64-
showStandardStreams = true
92+
sonar {
93+
properties {
94+
property("sonar.projectKey", "hexlet-boilerplates_java-package")
95+
property("sonar.organization", "hexlet-boilerplates")
96+
property("sonar.host.url", "https://sonarcloud.io")
6597
}
6698
}

gradle/libs.versions.toml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
## Generated by $ ./gradlew refreshVersionsCatalog
2+
3+
[plugins]
4+
5+
spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot-version" }
6+
spring-dependency-management = { id = "io.spring.dependency-management", version.ref = "spring-dependency-version" }
7+
lombok = { id = "io.freefair.lombok", version.ref = "lombok-plugin" }
8+
versions = { id = "com.github.ben-manes.versions", version.ref = "versions-plugin" }
9+
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow-plugin" }
10+
sonarqube = { id = "org.sonarqube", version.ref = "sonarqube-plugin" }
11+
spotless = { id = "com.diffplug.spotless", version.ref = "spotless-plugin" }
12+
13+
[versions]
14+
15+
spring-boot-version = "3.5.0"
16+
spring-dependency-version = "1.1.7"
17+
lombok-plugin = "8.13.1"
18+
versions-plugin = "0.52.0"
19+
shadow-plugin = "8.1.1"
20+
sonarqube-plugin = "6.2.0.5505"
21+
spotless-plugin = "7.0.3"
22+
23+
commons-lang3 = "3.17.0"
24+
commons-collections4 = "4.5.0"
25+
junit-bom = "5.12.2"
26+
## ⬆ = "5.13.0-M1"
27+
## ⬆ = "5.13.0-M2"
28+
## ⬆ = "5.13.0-M3"
29+
## ⬆ = "5.13.0-RC1"
30+
jackson-databind-nullable = "0.2.6"
31+
springdoc-openapi-ui = "2.8.8"
32+
datafaker = "2.4.3"
33+
instancio-junit = "5.4.1"
34+
jsonunit-assertj = "4.1.1"
35+
mapstruct = "1.6.3"
36+
h2 = "2.3.232"
37+
38+
[libraries]
39+
40+
# Spring Boot
41+
springBootStarterWeb = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-boot-version" }
42+
springBootStarterDataJpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa", version.ref = "spring-boot-version" }
43+
springBootStarterValidation = { module = "org.springframework.boot:spring-boot-starter-validation", version.ref = "spring-boot-version" }
44+
springBootStarterActuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "spring-boot-version" }
45+
springBootStarterSecurity = { module = "org.springframework.boot:spring-boot-starter-security", version.ref = "spring-boot-version" }
46+
springBootStarterTest = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring-boot-version" }
47+
springBootDevtools = { module = "org.springframework.boot:spring-boot-devtools", version.ref = "spring-boot-version" }
48+
springBootConfigProcessor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "spring-boot-version" }
49+
50+
# OpenAPI
51+
springdocOpenapiUi = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc-openapi-ui" }
52+
53+
# Jackson
54+
jacksonDatabindNullable = { module = "org.openapitools:jackson-databind-nullable", version.ref = "jackson-databind-nullable" }
55+
56+
# Utility libraries
57+
commonsLang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang3" }
58+
commonsCollections4 = { module = "org.apache.commons:commons-collections4", version.ref = "commons-collections4" }
59+
datafaker = { module = "net.datafaker:datafaker", version.ref = "datafaker" }
60+
instancioJunit = { module = "org.instancio:instancio-junit", version.ref = "instancio-junit" }
61+
jsonunitAssertj = { module = "net.javacrumbs.json-unit:json-unit-assertj", version.ref = "jsonunit-assertj" }
62+
63+
# MapStruct
64+
mapstruct = { module = "org.mapstruct:mapstruct", version.ref = "mapstruct" }
65+
mapstructProcessor = { module = "org.mapstruct:mapstruct-processor", version.ref = "mapstruct" }
66+
67+
# DB
68+
h2 = { module = "com.h2database:h2", version.ref = "h2" }
69+
70+
# JUnit
71+
junitBom = { module = "org.junit:junit-bom", version.ref = "junit-bom" }
72+
junitJupiter = { module = "org.junit.jupiter:junit-jupiter" }
73+
junitPlatformLauncher = { module = "org.junit.platform:junit-platform-launcher" }

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

settings.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
rootProject.name = "SpringBootApplication"
22
// spring.jpa.generate-ddl = true
33
// spring.jpa.hibernate.ddl-auto
4+
5+
plugins {
6+
// See https://jmfayard.github.io/refreshVersions
7+
id("de.fayard.refreshVersions") version "0.60.5"
8+
}

versions.properties

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#### Dependencies and Plugin versions with their available updates.
2+
#### Generated by `./gradlew refreshVersions` version 0.60.5
3+
####
4+
#### Don't manually edit or split the comments that start with four hashtags (####),
5+
#### they will be overwritten by refreshVersions.
6+
####
7+
#### suppress inspection "SpellCheckingInspection" for whole file
8+
#### suppress inspection "UnusedProperty" for whole file

0 commit comments

Comments
 (0)