diff --git a/buildSrc/src/main/kotlin/DependencyResolution.kt b/buildSrc/src/main/kotlin/DependencyResolution.kt
index 25ae2b43..d81c3b96 100644
--- a/buildSrc/src/main/kotlin/DependencyResolution.kt
+++ b/buildSrc/src/main/kotlin/DependencyResolution.kt
@@ -46,6 +46,7 @@ import io.spine.dependency.lib.Okio
import io.spine.dependency.lib.Plexus
import io.spine.dependency.lib.Protobuf
import io.spine.dependency.lib.Slf4J
+import io.spine.dependency.local.Base
import io.spine.dependency.local.Spine
import io.spine.dependency.test.Hamcrest
import io.spine.dependency.test.JUnit
@@ -186,7 +187,7 @@ fun ModuleDependency.excludeSpineBase() {
fun Project.forceSpineBase() {
configurations.all {
resolutionStrategy {
- force(Spine.base)
+ force(Base.lib)
}
}
}
@@ -200,7 +201,7 @@ fun Project.forceBaseInProtoTasks() {
configurations.configureEach {
if (name.lowercased().contains("proto")) {
resolutionStrategy {
- force(Spine.baseForBuildScript)
+ force(Base.libForBuildScript)
}
}
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt b/buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt
index 7ce19e04..f8320d0d 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt
@@ -31,17 +31,20 @@ package io.spine.dependency.build
object ErrorProne {
// https://github.com/google/error-prone
private const val version = "2.23.0"
+
+ const val group = "com.google.errorprone"
+
// https://github.com/tbroyer/gradle-errorprone-plugin/blob/v0.8/build.gradle.kts
private const val javacPluginVersion = "9+181-r4173-1"
val annotations = listOf(
- "com.google.errorprone:error_prone_annotations:$version",
- "com.google.errorprone:error_prone_type_annotations:$version"
+ "$group:error_prone_annotations:$version",
+ "$group:error_prone_type_annotations:$version"
)
- const val core = "com.google.errorprone:error_prone_core:$version"
- const val checkApi = "com.google.errorprone:error_prone_check_api:$version"
- const val testHelpers = "com.google.errorprone:error_prone_test_helpers:$version"
- const val javacPlugin = "com.google.errorprone:javac:$javacPluginVersion"
+ const val core = "$group:error_prone_core:$version"
+ const val checkApi = "$group:error_prone_check_api:$version"
+ const val testHelpers = "$group:error_prone_test_helpers:$version"
+ const val javacPlugin = "$group:javac:$javacPluginVersion"
// https://github.com/tbroyer/gradle-errorprone-plugin/releases
object GradlePlugin {
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt
index 3975683d..b64a5f92 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt
@@ -30,13 +30,14 @@ package io.spine.dependency.lib
@Suppress("unused", "ConstPropertyName")
object Asm {
private const val version = "9.6"
- const val lib = "org.ow2.asm:asm:$version"
+ const val group = "org.ow2.asm"
+ const val lib = "$group:asm:$version"
// We use the following artifacts only to force the versions
// of the dependencies which are transitive for us.
//
- const val tree = "org.ow2.asm:asm-tree:$version"
- const val analysis = "org.ow2.asm:asm-analysis:$version"
- const val util = "org.ow2.asm:asm-util:$version"
- const val commons = "org.ow2.asm:asm-commons:$version"
+ const val tree = "$group:asm-tree:$version"
+ const val analysis = "$group:asm-analysis:$version"
+ const val util = "$group:asm-util:$version"
+ const val commons = "$group:asm-commons:$version"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt
index 9449f120..f494979f 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt
@@ -31,20 +31,21 @@ package io.spine.dependency.lib
object Grpc {
@Suppress("MemberVisibilityCanBePrivate")
const val version = "1.59.0"
- const val api = "io.grpc:grpc-api:$version"
- const val auth = "io.grpc:grpc-auth:$version"
- const val core = "io.grpc:grpc-core:$version"
- const val context = "io.grpc:grpc-context:$version"
- const val inProcess = "io.grpc:grpc-inprocess:$version"
- const val stub = "io.grpc:grpc-stub:$version"
- const val okHttp = "io.grpc:grpc-okhttp:$version"
- const val protobuf = "io.grpc:grpc-protobuf:$version"
- const val protobufLite = "io.grpc:grpc-protobuf-lite:$version"
- const val netty = "io.grpc:grpc-netty:$version"
- const val nettyShaded = "io.grpc:grpc-netty-shaded:$version"
+ const val group = "io.grpc"
+ const val api = "$group:grpc-api:$version"
+ const val auth = "$group:grpc-auth:$version"
+ const val core = "$group:grpc-core:$version"
+ const val context = "$group:grpc-context:$version"
+ const val inProcess = "$group:grpc-inprocess:$version"
+ const val stub = "$group:grpc-stub:$version"
+ const val okHttp = "$group:grpc-okhttp:$version"
+ const val protobuf = "$group:grpc-protobuf:$version"
+ const val protobufLite = "$group:grpc-protobuf-lite:$version"
+ const val netty = "$group:grpc-netty:$version"
+ const val nettyShaded = "$group:grpc-netty-shaded:$version"
object ProtocPlugin {
const val id = "grpc"
- const val artifact = "io.grpc:protoc-gen-grpc-java:$version"
+ const val artifact = "$group:protoc-gen-grpc-java:$version"
}
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt
index 78dd2a58..561c792b 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt
@@ -38,6 +38,7 @@ package io.spine.dependency.lib
@Suppress("unused", "ConstPropertyName")
object Guava {
private const val version = "32.1.3-jre"
- const val lib = "com.google.guava:guava:$version"
- const val testLib = "com.google.guava:guava-testlib:$version"
+ const val group = "com.google.guava"
+ const val lib = "$group:guava:$version"
+ const val testLib = "$group:guava-testlib:$version"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaPoet.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaPoet.kt
index e17a1806..b493c15a 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaPoet.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaPoet.kt
@@ -30,5 +30,8 @@ package io.spine.dependency.lib
@Suppress("unused", "ConstPropertyName")
object JavaPoet {
private const val version = "1.13.0"
- const val lib = "com.squareup:javapoet:$version"
+ const val group = "com.squareup"
+ const val artifact = "javapoet"
+ const val module = "$group:$artifact"
+ const val lib = "$module:$version"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaX.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaX.kt
index 4db379b6..e4bff56e 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaX.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaX.kt
@@ -30,7 +30,8 @@ package io.spine.dependency.lib
object JavaX {
// This artifact, which used to be a part of J2EE, moved under the Eclipse EE4J project.
// https://github.com/eclipse-ee4j/common-annotations-api
- const val annotations = "javax.annotation:javax.annotation-api:1.3.2"
+ const val annotationGroup = "javax.annotation"
+ const val annotations = "$annotationGroup:javax.annotation-api:1.3.2"
const val servletApi = "javax.servlet:javax.servlet-api:3.1.0"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt
index 6794c1a5..083c6f93 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt
@@ -32,7 +32,7 @@ package io.spine.dependency.lib
"ConstPropertyName" /* https://bit.ly/kotlin-prop-names */
)
object Protobuf {
- private const val group = "com.google.protobuf"
+ const val group = "com.google.protobuf"
const val version = "3.25.1"
/**
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt
index 2bf9b5c9..6b92054b 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt
@@ -39,6 +39,7 @@ object Roaster {
*/
private const val version = "2.28.0.Final"
- const val api = "org.jboss.forge.roaster:roaster-api:$version"
- const val jdt = "org.jboss.forge.roaster:roaster-jdt:$version"
+ const val group = "org.jboss.forge.roaster"
+ const val api = "$group:roaster-api:$version"
+ const val jdt = "$group:roaster-jdt:$version"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt
index f3dc9044..6b36b6dd 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt
@@ -37,15 +37,23 @@ object ArtifactVersion {
*
* @see spine-base
*/
- const val base = "2.0.0-SNAPSHOT.215"
- const val baseForBuildScript = "2.0.0-SNAPSHOT.215"
+ @Deprecated(message = "Please use `Base.version`.", ReplaceWith("Base.version"))
+ const val base = Base.version
+
+ @Suppress("unused")
+ @Deprecated(
+ message = "Please use `Base.versionForBuildScript`.",
+ ReplaceWith("Base.versionForBuildScript")
+ )
+ const val baseForBuildScript = Base.versionForBuildScript
/**
* The version of [Spine.reflect].
*
* @see spine-reflect
*/
- const val reflect = "2.0.0-SNAPSHOT.190"
+ @Deprecated(message = "Please use `Reflect.version`.", ReplaceWith("Reflect.version"))
+ const val reflect = Reflect.version
/**
* The version of [Logging].
@@ -58,7 +66,8 @@ object ArtifactVersion {
*
* @see spine-testlib
*/
- const val testlib = "2.0.0-SNAPSHOT.184"
+ @Deprecated(message = "Please use `TestLib.version`.", ReplaceWith("TestLib.version"))
+ const val testlib = TestLib.version
/**
* The version of `core-java`.
@@ -71,41 +80,51 @@ object ArtifactVersion {
*
* @see spine-model-compiler
*/
- const val mc = "2.0.0-SNAPSHOT.133"
+ @Deprecated(
+ message = "Please use `ModelCompiler.version` instead.",
+ ReplaceWith("ModelCompiler.version")
+ )
+ const val mc = ModelCompiler.version
/**
* The version of [Spine.baseTypes].
*
* @see spine-base-types
*/
- const val baseTypes = "2.0.0-SNAPSHOT.126"
+ @Deprecated(message = "Please use `BaseTypes.version`.", ReplaceWith("BaseTypes.version"))
+ const val baseTypes = BaseTypes.version
/**
* The version of [Spine.time].
*
* @see spine-time
*/
- const val time = "2.0.0-SNAPSHOT.135"
+ @Deprecated(message = "Please use `Time.version`.", ReplaceWith("Time.version"))
+ const val time = Time.version
/**
* The version of [Spine.change].
*
* @see spine-change
*/
- const val change = "2.0.0-SNAPSHOT.118"
+ @Deprecated(message = "Please use `Change.version`.", ReplaceWith("Change.version"))
+ const val change = Change.version
/**
* The version of [Spine.text].
*
* @see spine-text
*/
- const val text = "2.0.0-SNAPSHOT.6"
+ @Deprecated(message = "Please use `Text.version`.", ReplaceWith("Text.version"))
+ const val text = Text.version
/**
* The version of [Spine.toolBase].
*
* @see spine-tool-base
*/
+ @Suppress("unused")
+ @Deprecated(message = "Please use `ToolBase.version`.", ReplaceWith("ToolBase.version"))
const val toolBase = ToolBase.version
/**
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt
new file mode 100644
index 00000000..be3fe64f
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Base module.
+ *
+ * @see spine-base
+ */
+@Suppress("ConstPropertyName")
+object Base {
+ const val version = "2.0.0-SNAPSHOT.220"
+ const val versionForBuildScript = "2.0.0-SNAPSHOT.220"
+ const val group = Spine.group
+ const val artifact = "spine-base"
+ const val lib = "$group:$artifact:$version"
+ const val libForBuildScript = "$group:$artifact:$versionForBuildScript"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt
new file mode 100644
index 00000000..878489b8
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Base module.
+ *
+ * @see spine-base-types
+ */
+@Suppress("ConstPropertyName")
+object BaseTypes {
+ const val version = "2.0.0-SNAPSHOT.126"
+ const val group = Spine.group
+ const val artifact = "spine-base-types"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt
new file mode 100644
index 00000000..e242e90b
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Reflect library.
+ *
+ * @see spine-change
+ */
+@Suppress("ConstPropertyName")
+object Change {
+ const val version = "2.0.0-SNAPSHOT.118"
+ const val group = Spine.group
+ const val artifact = "spine-change"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJava.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJava.kt
index 0b3682c9..871682f1 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJava.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJava.kt
@@ -34,9 +34,15 @@ package io.spine.dependency.local
@Suppress("ConstPropertyName", "unused")
object CoreJava {
const val group = Spine.group
- const val version = "2.0.0-SNAPSHOT.177"
- const val core = "$group:spine-core:$version"
- const val client = "$group:spine-client:$version"
- const val server = "$group:spine-server:$version"
+ const val version = "2.0.0-SNAPSHOT.182"
+
+ const val coreArtifact = "spine-core"
+ const val clientArtifact = "spine-client"
+ const val serverArtifact = "spine-server"
+
+ const val core = "$group:$coreArtifact:$version"
+ const val client = "$group:$clientArtifact:$version"
+ const val server = "$group:$serverArtifact:$version"
+
const val testUtilServer = "${Spine.toolsGroup}:spine-testutil-server:$version"
}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt
index cb600b92..963d8e1d 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt
@@ -33,9 +33,12 @@ package io.spine.dependency.local
*/
@Suppress("ConstPropertyName", "unused")
object Logging {
- const val version = "2.0.0-SNAPSHOT.240"
+ const val version = "2.0.0-SNAPSHOT.242"
const val group = Spine.group
- const val lib = "$group:spine-logging:$version"
+
+ const val loggingArtifact = "spine-logging"
+
+ const val lib = "$group:$loggingArtifact:$version"
const val libJvm = "$group:spine-logging-jvm:$version"
const val log4j2Backend = "$group:spine-logging-log4j2-backend:$version"
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt
index a2f8a59a..8b981955 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt
@@ -42,12 +42,12 @@ object McJava {
/**
* The version used to in the build classpath.
*/
- const val dogfoodingVersion = "2.0.0-SNAPSHOT.244"
+ const val dogfoodingVersion = "2.0.0-SNAPSHOT.258"
/**
* The version to be used for integration tests.
*/
- const val version = "2.0.0-SNAPSHOT.244"
+ const val version = "2.0.0-SNAPSHOT.258"
/**
* The ID of the Gradle plugin.
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt
new file mode 100644
index 00000000..c1ca804e
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Model Compiler Gradle API.
+ *
+ * @see spine-model-compiler
+ */
+@Suppress("ConstPropertyName")
+object ModelCompiler {
+ const val version = "2.0.0-SNAPSHOT.133"
+ const val group = Spine.toolsGroup
+ const val artifact = "spine-model-compiler"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt
index c01bd270..b68830f3 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt
@@ -73,7 +73,7 @@ object ProtoData {
* The version of ProtoData dependencies.
*/
val version: String
- private const val fallbackVersion = "0.64.0"
+ private const val fallbackVersion = "0.69.5"
/**
* The distinct version of ProtoData used by other build tools.
@@ -82,7 +82,7 @@ object ProtoData {
* transitional dependencies, this is the version used to build the project itself.
*/
val dogfoodingVersion: String
- private const val fallbackDfVersion = "0.61.8"
+ private const val fallbackDfVersion = "0.69.5"
/**
* The artifact for the ProtoData Gradle plugin.
@@ -115,8 +115,10 @@ object ProtoData {
val cliApi
get() = "$group:protodata-cli-api:$version"
+ val javaModule = "$group:protodata-java"
+
fun java(version: String): String =
- "$group:protodata-java:$version"
+ "$javaModule:$version"
val java
get() = java(version)
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Reflect.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Reflect.kt
new file mode 100644
index 00000000..64fd3bf4
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Reflect.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Reflect library.
+ *
+ * @see spine-reflect
+ */
+@Suppress("ConstPropertyName")
+object Reflect {
+ const val version = "2.0.0-SNAPSHOT.191"
+ const val group = Spine.group
+ const val artifact = "spine-reflect"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt
index fb69374c..bdf6d155 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt
@@ -35,30 +35,59 @@ object Spine {
const val group = "io.spine"
const val toolsGroup = "io.spine.tools"
- const val base = "$group:spine-base:${ArtifactVersion.base}"
- const val baseForBuildScript = "$group:spine-base:${ArtifactVersion.baseForBuildScript}"
+ @Deprecated(message = "Please use `Base.lib`.", ReplaceWith("Base.lib"))
+ const val base = Base.lib
- const val reflect = "$group:spine-reflect:${ArtifactVersion.reflect}"
- const val baseTypes = "$group:spine-base-types:${ArtifactVersion.baseTypes}"
- const val time = "$group:spine-time:${ArtifactVersion.time}"
- const val change = "$group:spine-change:${ArtifactVersion.change}"
- const val text = "$group:spine-text:${ArtifactVersion.text}"
+ @Deprecated(
+ message = "Please use `Base.libForBuildScript`.",
+ ReplaceWith("Base.libForBuildScript")
+ )
+ const val baseForBuildScript = Base.libForBuildScript
+
+ @Deprecated(message = "Please use `Reflect.lib`.", ReplaceWith("Reflect.lib"))
+ const val reflect = Reflect.lib
+
+ @Deprecated(message = "Please use `BaseTypes.lib`.", ReplaceWith("BaseTypes.lib"))
+ const val baseTypes = BaseTypes.lib
+
+ @Deprecated(message = "Please use `Time.lib`.", ReplaceWith("Time.lib"))
+ const val time = Time.lib
+
+ @Deprecated(message = "Please use `Time.lib`.", ReplaceWith("Time.lib"))
+ const val change = Change.lib
+
+ @Deprecated(message = "Please use `Text.lib`.", ReplaceWith("Text.lib"))
+ const val text = Text.lib
+
+ @Deprecated(message = "Please use `TestLib.lib`.", ReplaceWith("TestLib.lib"))
+ const val testlib = TestLib.lib
- const val testlib = "$toolsGroup:spine-testlib:${ArtifactVersion.testlib}"
- const val testUtilTime = "$toolsGroup:spine-testutil-time:${ArtifactVersion.time}"
+ @Deprecated(message = "Please use `Time.testLib`.", ReplaceWith("Time.testLib"))
+ const val testUtilTime = Time.testLib
@Deprecated(message = "Please use `ToolBase.psiJava` instead`.")
- const val psiJava = "$toolsGroup:spine-psi-java:${ArtifactVersion.toolBase}"
+ const val psiJava = "$toolsGroup:spine-psi-java:${ToolBase.version}"
+
@Deprecated(message = "Please use `ToolBase.psiJava` instead`.")
- const val psiJavaBundle = "$toolsGroup:spine-psi-java-bundle:${ArtifactVersion.toolBase}"
+ const val psiJavaBundle = "$toolsGroup:spine-psi-java-bundle:${ToolBase.version}"
+
@Deprecated(message = "Please use `ToolBase.lib` instead`.")
- const val toolBase = "$toolsGroup:spine-tool-base:${ArtifactVersion.toolBase}"
+ const val toolBase = "$toolsGroup:spine-tool-base:${ToolBase.version}"
+
@Deprecated(message = "Please use `ToolBase.pluginBase` instead`.")
- const val pluginBase = "$toolsGroup:spine-plugin-base:${ArtifactVersion.toolBase}"
- @Deprecated(message = "Please use `ToolBase.pluginTestlib` instead`.")
- const val pluginTestlib = "$toolsGroup:spine-plugin-testlib:${ArtifactVersion.toolBase}"
+ const val pluginBase = "$toolsGroup:spine-plugin-base:${ToolBase.version}"
+
+ @Deprecated(
+ message = "Please use `ToolBase.pluginTestlib` instead`.",
+ ReplaceWith("ToolBase.pluginTestlib")
+ )
+ const val pluginTestlib = ToolBase.pluginTestlib
- const val modelCompiler = "$toolsGroup:spine-model-compiler:${ArtifactVersion.mc}"
+ @Deprecated(
+ message = "Please use `ModelCompiler.lib` instead.",
+ ReplaceWith("ModelCompiler.lib")
+ )
+ const val modelCompiler = ModelCompiler.lib
@Deprecated(
message = "Please use top level `McJava` object instead.",
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt
new file mode 100644
index 00000000..c0dd1c22
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine TestLib library.
+ *
+ * @see spine-testlib
+ */
+@Suppress("ConstPropertyName")
+object TestLib {
+ const val version = "2.0.0-SNAPSHOT.184"
+ const val group = Spine.toolsGroup
+ const val artifact = "spine-testlib"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Text.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Text.kt
new file mode 100644
index 00000000..50eed3a8
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Text.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Reflect library.
+ *
+ * @see spine-text
+ */
+@Suppress("ConstPropertyName")
+object Text {
+ const val version = "2.0.0-SNAPSHOT.6"
+ const val group = Spine.group
+ const val artifact = "spine-text"
+ const val lib = "$group:$artifact:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt
new file mode 100644
index 00000000..489e58e8
--- /dev/null
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2024, TeamDev. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Redistribution and use in source and/or binary forms, with or without
+ * modification, must retain the above copyright notice and the following
+ * disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package io.spine.dependency.local
+
+/**
+ * Spine Time library.
+ *
+ * @see spine-time
+ */
+@Suppress("ConstPropertyName")
+object Time {
+ const val version = "2.0.0-SNAPSHOT.135"
+ const val group = Spine.group
+ const val artifact = "spine-time"
+ const val lib = "$group:$artifact:$version"
+
+ //TODO:2024-11-29:alexander.yevsyukov: Change the artifact name to `spine-time-testlib`.
+ const val testLib = "${Spine.toolsGroup}:spine-testutil-time:$version"
+}
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt
index d19a1aaa..ca15c2c1 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt
@@ -34,7 +34,7 @@ package io.spine.dependency.local
@Suppress("ConstPropertyName", "unused")
object ToolBase {
const val group = Spine.toolsGroup
- const val version = "2.0.0-SNAPSHOT.233"
+ const val version = "2.0.0-SNAPSHOT.234"
const val lib = "$group:spine-tool-base:$version"
const val pluginBase = "$group:spine-plugin-base:$version"
diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt
index 7fdcfa4d..d420fe34 100644
--- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt
+++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt
@@ -31,21 +31,24 @@ package io.spine.dependency.local
*
* See [`SpineEventEngine/validation`](https://github.com/SpineEventEngine/validation/).
*/
-@Suppress("unused", "ConstPropertyName")
+@Suppress("ConstPropertyName")
object Validation {
/**
* The version of the Validation library artifacts.
*/
- const val version = "2.0.0-SNAPSHOT.160"
+ const val version = "2.0.0-SNAPSHOT.176"
const val group = "io.spine.validation"
private const val prefix = "spine-validation"
- const val runtime = "$group:$prefix-java-runtime:$version"
+ const val runtimeModule = "$group:$prefix-java-runtime"
+ const val runtime = "$runtimeModule:$version"
const val java = "$group:$prefix-java:$version"
+ const val javaBundleModule = "$group:$prefix-java-bundle"
+
/** Obtains the artifact for the `java-bundle` artifact of the given version. */
- fun javaBundle(version: String) = "$group:$prefix-java-bundle:$version"
+ fun javaBundle(version: String) = "$javaBundleModule:$version"
val javaBundle = javaBundle(version)
diff --git a/buildSrc/src/main/kotlin/jvm-module.gradle.kts b/buildSrc/src/main/kotlin/jvm-module.gradle.kts
index 76a70de6..9e5567e0 100644
--- a/buildSrc/src/main/kotlin/jvm-module.gradle.kts
+++ b/buildSrc/src/main/kotlin/jvm-module.gradle.kts
@@ -32,7 +32,8 @@ import io.spine.dependency.lib.Guava
import io.spine.dependency.lib.JavaX
import io.spine.dependency.lib.Protobuf
import io.spine.dependency.local.Logging
-import io.spine.dependency.local.Spine
+import io.spine.dependency.local.Reflect
+import io.spine.dependency.local.TestLib
import io.spine.dependency.test.JUnit
import io.spine.dependency.test.Jacoco
import io.spine.dependency.test.Kotest
@@ -144,7 +145,7 @@ fun Module.addDependencies() = dependencies {
testImplementation(JUnit.pioneer)
JUnit.api.forEach { testImplementation(it) }
- testImplementation(Spine.testlib)
+ testImplementation(TestLib.lib)
testImplementation(Kotest.frameworkEngine)
testImplementation(Kotest.datatest)
testImplementation(Kotest.runnerJUnit5Jvm)
@@ -161,7 +162,7 @@ fun Module.forceConfigurations() {
JUnit.bom,
JUnit.runner,
Dokka.BasePlugin.lib,
- Spine.reflect
+ Reflect.lib,
)
}
}