@@ -34,8 +34,12 @@ plugins {
3434 java
3535 groovy
3636 `kotlin- dsl`
37- val licenseReportVersion = " 2.1"
38- id(" com.github.jk1.dependency-license-report" ).version(licenseReportVersion)
37+
38+ // https://github.com/jk1/Gradle-License-Report/releases
39+ id(" com.github.jk1.dependency-license-report" ).version(" 2.1" )
40+
41+ // https://github.com/johnrengelman/shadow/releases
42+ id(" com.github.johnrengelman.shadow" ).version(" 7.1.2" )
3943}
4044
4145repositories {
@@ -50,17 +54,27 @@ repositories {
5054 * Please keep this value in sync. with `io.spine.internal.dependency.Jackson.version`.
5155 * It's not a requirement, but would be good in terms of consistency.
5256 */
53- val jacksonVersion = " 2.13.4"
57+ val jacksonVersion = " 2.15.3"
58+
59+ /* *
60+ * The version of Google Artifact Registry used by `buildSrc`.
61+ *
62+ * The version `2.1.5` is the latest before `2.2.0`, which introduces breaking changes.
63+ *
64+ * @see <a href="https://mvnrepository.com/artifact/com.google.cloud.artifactregistry/artifactregistry-auth-common">
65+ * Google Artifact Registry at Maven</a>
66+ */
67+ val googleAuthToolVersion = " 2.1.5"
5468
55- val googleAuthToolVersion = " 2.1.2"
5669val licenseReportVersion = " 2.1"
70+
5771val grGitVersion = " 4.1.1"
5872
5973/* *
60- * The version of the Kotlin Gradle plugin.
74+ * The version of the Kotlin Gradle plugin and Kotlin binaries used by the build process .
6175 *
62- * Please check that this value matches one defined in
63- * [io.spine.internal.dependency.Kotlin.version] .
76+ * This version may change from the [version of Kotlin][io.spine.internal.dependency.Kotlin.version]
77+ * used by the project .
6478 */
6579val kotlinVersion = " 1.8.22"
6680
@@ -70,7 +84,7 @@ val kotlinVersion = "1.8.22"
7084 * Always use the same version as the one specified in [io.spine.internal.dependency.Guava].
7185 * Otherwise, when testing Gradle plugins, clashes may occur.
7286 */
73- val guavaVersion = " 32.1.2 -jre"
87+ val guavaVersion = " 32.1.3 -jre"
7488
7589/* *
7690 * The version of ErrorProne Gradle plugin.
@@ -100,7 +114,7 @@ val protobufPluginVersion = "0.9.4"
100114 * @see <a href="https://github.com/Kotlin/dokka/releases">
101115 * Dokka Releases</a>
102116 */
103- val dokkaVersion = " 1.8 .10"
117+ val dokkaVersion = " 1.9 .10"
104118
105119/* *
106120 * The version of Detekt Gradle Plugin.
@@ -119,11 +133,19 @@ val kotestJvmPluginVersion = "0.4.10"
119133 */
120134val koverVersion = " 0.7.2"
121135
136+ /* *
137+ * The version of the Shadow Plugin.
138+ *
139+ * `7.1.2` is the last version compatible with Gradle 7.x. Newer versions require Gradle v8.x.
140+ *
141+ * @see <a href="https://github.com/johnrengelman/shadow/releases">Shadow Plugin releases</a>
142+ */
143+ val shadowVersion = " 7.1.2"
144+
122145configurations.all {
123146 resolutionStrategy {
124147 force(
125- " com.google.guava:guava:$guavaVersion " ,
126-
148+ " com.google.guava:guava:${guavaVersion} " ,
127149 " com.google.protobuf:protobuf-gradle-plugin:$protobufPluginVersion " ,
128150
129151 // Force Kotlin lib versions avoiding using those bundled with Gradle.
@@ -149,9 +171,29 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
149171dependencies {
150172 implementation(" com.fasterxml.jackson.core:jackson-databind:$jacksonVersion " )
151173 implementation(" com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion " )
152- implementation(" com.google.cloud.artifactregistry:artifactregistry-auth-common:$googleAuthToolVersion " ) {
174+
175+ @Suppress(
176+ " VulnerableLibrariesLocal" , " RedundantSuppression" /*
177+ `artifactregistry-auth-common` has transitive dependency on Gson and Apache `commons-codec`.
178+
179+ Gson from version `2.8.6` until `2.8.9` is vulnerable to Deserialization of Untrusted Data
180+ (https://devhub.checkmarx.com/cve-details/CVE-2022-25647/).
181+
182+ Apache `commons-codec` before 1.13 is vulnerable to information exposure
183+ (https://devhub.checkmarx.com/cve-details/Cxeb68d52e-5509/).
184+
185+ We use Gson `2.10.1`and we force it in `forceProductionDependencies()`.
186+ We use `commons-code` with version `1.16.0`, forcing it in `forceProductionDependencies()`.
187+
188+ So, we should be safe with the current version `artifactregistry-auth-common` until
189+ we migrate to a later version. */
190+ )
191+ implementation(
192+ " com.google.cloud.artifactregistry:artifactregistry-auth-common:$googleAuthToolVersion "
193+ ) {
153194 exclude(group = " com.google.guava" )
154195 }
196+
155197 implementation(" com.google.guava:guava:$guavaVersion " )
156198 api(" com.github.jk1:gradle-license-report:$licenseReportVersion " )
157199 implementation(" org.ajoberstar.grgit:grgit-core:${grGitVersion} " )
@@ -165,6 +207,7 @@ dependencies {
165207 implementation(" com.google.protobuf:protobuf-gradle-plugin:$protobufPluginVersion " )
166208 implementation(" org.jetbrains.dokka:dokka-gradle-plugin:${dokkaVersion} " )
167209 implementation(" org.jetbrains.dokka:dokka-base:${dokkaVersion} " )
210+ implementation(" gradle.plugin.com.github.johnrengelman:shadow:${shadowVersion} " )
168211
169212 // https://github.com/srikanth-lingala/zip4j
170213 implementation(" net.lingala.zip4j:zip4j:2.10.0" )
0 commit comments