2727@file:Suppress(" RemoveRedundantQualifierName" ) // To prevent IDEA replacing FQN imports.
2828
2929import io.spine.dependency.build.Dokka
30- import io.spine.dependency.lib.Protobuf
3130import io.spine.dependency.local.Compiler
3231import io.spine.dependency.local.CoreJvm
3332import io.spine.dependency.local.Validation
@@ -44,34 +43,39 @@ import java.time.Duration
4443
4544buildscript {
4645 standardSpineSdkRepositories()
47-
48- val toolBase = io.spine.dependency.local.ToolBase
46+ val base = io.spine.dependency.local. Base
47+ val compiler = io.spine.dependency.local.Compiler
4948 val coreJava = io.spine.dependency.local.CoreJvm
50- val validation = io.spine.dependency.local.Validation
49+ val jackson = io.spine.dependency.lib.Jackson
50+ val kotlin = io.spine.dependency.lib.Kotlin
5151 val logging = io.spine.dependency.local.Logging
52- val compiler = io.spine.dependency.local.Compiler
52+ val toolBase = io.spine.dependency.local.ToolBase
53+ val validation = io.spine.dependency.local.Validation
5354 doForceVersions(configurations)
5455 configurations {
5556 all {
5657 exclude(group = " io.spine" , module = " spine-logging-backend" )
5758 resolutionStrategy {
58- val configuration = this @all
59- val strategy = this @resolutionStrategy
60- io.spine.dependency.lib.Kotlin
61- .forceArtifacts(project, configuration, strategy)
62- io.spine.dependency.lib.Kotlin .StdLib
63- .forceArtifacts(project, configuration, strategy)
59+ val cfg = this @all
60+ val rs = this @resolutionStrategy
61+ kotlin.forceArtifacts(project, cfg, rs)
62+ io.spine.dependency.lib.Kotlin .StdLib .forceArtifacts(project, cfg, rs)
63+ jackson.forceArtifacts(project, cfg, rs)
64+ io.spine.dependency.lib.Jackson .DataType .forceArtifacts(project, cfg, rs)
65+
6466 force(
65- io.spine.dependency.lib.Kotlin .bom,
66- io.spine.dependency.lib.Jackson .bom,
67- io.spine.dependency.local.Base .annotations,
68- io.spine.dependency.local.Base .libForBuildScript,
67+ kotlin.bom,
68+ jackson.annotations,
69+ jackson.bom,
70+ base.annotations,
71+ base.libForBuildScript,
6972 io.spine.dependency.local.Reflect .lib,
7073 toolBase.lib,
7174 coreJava.server,
7275 logging.lib,
7376 logging.libJvm,
7477 " ${compiler.module} :${compiler.dogfoodingVersion} " ,
78+ compiler.api,
7579
7680 // Force ProtoData-compatible version because the build still uses McJava.
7781 // See `classpath` dependencies below.
@@ -86,7 +90,8 @@ buildscript {
8690 dependencies {
8791 classpath(enforcedPlatform(io.spine.dependency.kotlinx.Coroutines .bom))
8892 classpath(enforcedPlatform(io.spine.dependency.lib.Grpc .bom))
89- classpath(io.spine.dependency.local.ToolBase .jvmToolPluginDogfooding)
93+ classpath(toolBase.jvmToolPluginDogfooding)
94+ classpath(compiler.pluginLib)
9095 classpath(coreJvmCompiler.pluginLib)
9196 }
9297}
@@ -130,7 +135,6 @@ allprojects {
130135
131136subprojects {
132137 apply (plugin = " module" )
133- setupProtocArtifact()
134138}
135139
136140JacocoConfig .applyTo(project)
@@ -187,15 +191,6 @@ val check by tasks.existing {
187191
188192typealias Module = Project
189193
190- /* *
191- * Specify `protoc` artifact for all the modules for simplicity.
192- */
193- fun Module.setupProtocArtifact () {
194- protobuf {
195- protoc { artifact = Protobuf .compiler }
196- }
197- }
198-
199194apply (from = " version.gradle.kts" )
200195val coreJvmCompilerVersion: String by extra
201196
0 commit comments