diff --git a/api/src/main/kotlin/io/spine/tools/compiler/plugin/Plugin.kt b/api/src/main/kotlin/io/spine/tools/compiler/plugin/Plugin.kt index eb69a2f3c..29de240c4 100644 --- a/api/src/main/kotlin/io/spine/tools/compiler/plugin/Plugin.kt +++ b/api/src/main/kotlin/io/spine/tools/compiler/plugin/Plugin.kt @@ -39,12 +39,12 @@ import kotlin.reflect.KClass * * The Compiler uses the reactive approach to handling Protobuf source info. * We handle events which describe a Protobuf source - * set via a set of [views][View] and [policies][Policy]. + * set via a set of [views][View] and [policies][Reaction]. * - * Users may want to define bespoke [views][View] and [policies][Policy] based + * Users may want to define bespoke [views][View] and [policies][Reaction] based * on the Protobuf compiler events. * To do so, define your handlers and events and expose the components via - * [Plugin.viewRepositories], [Plugin.views], and [Plugin.policies] properties. + * [Plugin.viewRepositories], [Plugin.views], and [Plugin.reactions] properties. * * Implementing classes must provide a parameterless constructor so that * the Compiler can instantiate a plugin via its fully qualified class name. @@ -62,13 +62,13 @@ import kotlin.reflect.KClass * the view may not have a need for repository. * In such a case, please use [Plugin.views] instead. * - * @property policies The [policies][Policy] added by this plugin. + * @property reactions The [reactions][Reaction] added by this plugin. */ public abstract class Plugin( public val renderers: List> = listOf(), public val views: Set>> = setOf(), public val viewRepositories: Set> = setOf(), - public val policies: Set> = setOf(), + public val reactions: Set> = setOf(), ) { /** * Extends the given bounded context being built with additional functionality. @@ -110,7 +110,7 @@ public fun Plugin.applyTo(context: BoundedContextBuilder, typeSystem: TypeSystem repos.addAll(defaultRepos) checkNoViewRepoDuplication(repos) repos.forEach(context::add) - policies.forEach { + reactions.forEach { context.addEventDispatcher(it) it.use(typeSystem) } diff --git a/api/src/main/kotlin/io/spine/tools/compiler/plugin/Policy.kt b/api/src/main/kotlin/io/spine/tools/compiler/plugin/Reaction.kt similarity index 78% rename from api/src/main/kotlin/io/spine/tools/compiler/plugin/Policy.kt rename to api/src/main/kotlin/io/spine/tools/compiler/plugin/Reaction.kt index 73da3ab76..d6e13c3b9 100644 --- a/api/src/main/kotlin/io/spine/tools/compiler/plugin/Policy.kt +++ b/api/src/main/kotlin/io/spine/tools/compiler/plugin/Reaction.kt @@ -28,18 +28,18 @@ package io.spine.tools.compiler.plugin import io.spine.base.EntityState import io.spine.base.EventMessage -import io.spine.tools.compiler.settings.LoadsSettings -import io.spine.tools.compiler.type.TypeSystem import io.spine.server.event.NoReaction -import io.spine.server.event.Policy +import io.spine.server.event.Reaction import io.spine.server.event.asB import io.spine.server.query.QueryingClient import io.spine.server.tuple.EitherOf2 +import io.spine.tools.compiler.settings.LoadsSettings +import io.spine.tools.compiler.type.TypeSystem /** - * A policy converts one event into zero to many other events. + * A reaction converts one event into zero to many other events. * - * As a rule of thumb, a policy should read: + * As a rule of thumb, a reaction should read: * ```markdown * Whenever , then . * ``` @@ -47,9 +47,9 @@ import io.spine.server.tuple.EitherOf2 * ```markdown * Whenever a field option is discovered, a validation rule must be added. * ``` - * To implement the policy, declare a method which reacts to an event with an event: + * To implement the reaction, declare a method which reacts to an event with an event: * ```kotlin - * class MyPolicy : Policy() { + * class MyReaction : Reaction() { * * @React * override fun whenever(@External event: FieldOptionDiscovered): Just { @@ -62,7 +62,7 @@ import io.spine.server.tuple.EitherOf2 * [@External][io.spine.core.External]. See the whole list of Protobuf compiler events * in `spine/compiler/events.proto`. * - * One policy only accepts one kind of events. Declaring multiple methods with + * One reaction only accepts one kind of events. Declaring multiple methods with * the [@React][io.spine.server.event.React] annotation causes a runtime error. * * The `whenever` method accepts a single event and produces an `Iterable` of events. In case if @@ -78,14 +78,8 @@ import io.spine.server.tuple.EitherOf2 * * Finally, if there are multiple events of the same type, use a typed list, * e.g. `List`. - * - * ### The note on avoiding intermediate types - * Often when talking about policies, people imply converting an event into a command, not - * an event. We believe such an approach would introduce additional complexity without adding - * any value. Not so many commands will do anything but produce events with the same - * information in the code generation domain. Thus, we directly convert between events. */ -public abstract class Policy : Policy(), LoadsSettings { +public abstract class Reaction : Reaction(), LoadsSettings { /** * The backing field for the [typeSystem] property. @@ -95,20 +89,19 @@ public abstract class Policy : Policy(), LoadsSettings { /** * The type system for resolving type information for generating events. * - * A non-null value is available in - * a [rendering pipeline][io.spine.tools.compiler.backend.Pipeline.invoke]. + * A non-null value is available in a rendering pipeline. */ protected open val typeSystem: TypeSystem by lazy { check(::_typeSystem.isInitialized) { - "Access to `Policy.typeSystem` property is not allowed until" + + "Access to `Reaction.typeSystem` property is not allowed until" + " the `Code Generation` context has been injected and" + - " `Policy.use(typeSystem: TypeSystem)` invoked." + " `Reaction.use(typeSystem: TypeSystem)` invoked." } _typeSystem } /** - * Assigns the type system to the policy. + * Assigns the type system to this reaction. */ internal fun use(typeSystem: TypeSystem) { _typeSystem = typeSystem diff --git a/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt b/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt index aadf67f67..5c936dd34 100644 --- a/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt +++ b/api/src/main/kotlin/io/spine/tools/compiler/plugin/View.kt @@ -27,6 +27,7 @@ package io.spine.tools.compiler.plugin import io.spine.base.EntityState +import io.spine.base.ProjectionState import io.spine.server.BoundedContextBuilder import io.spine.server.DefaultRepository import io.spine.server.projection.Projection @@ -63,7 +64,7 @@ import kotlin.reflect.KClass * The `(entity)` option ensures that is the case. * * The state of a view is constructed based on events, which are produced either by - * the Protobuf Compiler or by a [Policy]. + * the Protobuf Compiler or by a [Reaction]. * * To listen to the events, define single parameter methods annotated with * [@Subscribe][io.spine.core.Subscribe]. In these methods, change the state of the view via @@ -100,7 +101,7 @@ import kotlin.reflect.KClass * @param M The type of the view's state; must be a Protobuf message implementing [EntityState]. * @param B The type of the view's state builder; must match ``. */ -public open class View, B : ValidatingBuilder> : +public open class View, B : ValidatingBuilder> : Projection() /** @@ -117,14 +118,14 @@ public open class View, B : ValidatingBuilder> : * If no customization is required from a `ViewRepository`, users should prefer * [ViewRepository.default] to creating custom repository types. */ -public open class ViewRepository, S : EntityState> +public open class ViewRepository, S : ProjectionState> : ProjectionRepository() { public companion object { @Suppress("UNCHECKED_CAST") public fun default(cls: Class>): ViewRepository<*, *, *> { - val cast = cls as Class, *>> + val cast = cls as Class, *>> return DefaultViewRepository(cast) } } @@ -166,10 +167,11 @@ public fun MutableSet>.addDefault(view: KClass, *>> -) : ViewRepository, *>, EntityState>(), DefaultRepository { + private val cls: Class, *>> +) : ViewRepository, *>, ProjectionState>(), + DefaultRepository { - override fun entityModelClass(): ProjectionClass, *>> = + override fun entityModelClass(): ProjectionClass, *>> = ProjectionClass.asProjectionClass(cls) override fun logName(): String = diff --git a/api/src/main/proto/spine/compiler/source.proto b/api/src/main/proto/spine/compiler/source.proto index 8d8061d66..981b3e3dd 100644 --- a/api/src/main/proto/spine/compiler/source.proto +++ b/api/src/main/proto/spine/compiler/source.proto @@ -111,7 +111,7 @@ message ProtoFileHeader { // Rather, it serves for informative purposes. // message ProtobufDependency { - option (entity).kind = VIEW; + option (entity).kind = PROJECTION; // The relative path to the dependency. // diff --git a/api/src/test/java/io/spine/tools/compiler/plugin/PolicyJavaApiSpec.java b/api/src/test/java/io/spine/tools/compiler/plugin/ReactionJavaApiSpec.java similarity index 83% rename from api/src/test/java/io/spine/tools/compiler/plugin/PolicyJavaApiSpec.java rename to api/src/test/java/io/spine/tools/compiler/plugin/ReactionJavaApiSpec.java index d64c9ddda..971b8e888 100644 --- a/api/src/test/java/io/spine/tools/compiler/plugin/PolicyJavaApiSpec.java +++ b/api/src/test/java/io/spine/tools/compiler/plugin/ReactionJavaApiSpec.java @@ -36,22 +36,22 @@ import static com.google.common.truth.Truth.assertThat; -@DisplayName("`Policy` Java API should") -class PolicyJavaApiSpec { +@DisplayName("`Reaction` Java API should") +class ReactionJavaApiSpec { /** - * This test merely makes the {@link Policy#ignore} method used without making any + * This test merely makes the {@link Reaction#ignore} method used without making any * meaningful assertions. * - *

It creates a {@link Policy} which calls the `protected` method of the companion object + *

It creates a {@link Reaction} which calls the `protected` method of the companion object * showing the usage scenario. * - * @see PolicySpec#allowIgnoring() the test for Kotlin API + * @see ReactionSpec#allowIgnoring() the test for Kotlin API */ @Test @DisplayName("have static factory method for ignoring incoming events") void allowIgnoring() { - var policy = new Policy() { + var reaction = new Reaction() { @React @Override protected EitherOf2 whenever( @@ -59,6 +59,6 @@ protected EitherOf2 whenever( return ignore(); } }; - assertThat(policy).isNotNull(); + assertThat(reaction).isNotNull(); } } diff --git a/api/src/test/kotlin/io/spine/tools/compiler/plugin/PluginSpec.kt b/api/src/test/kotlin/io/spine/tools/compiler/plugin/PluginSpec.kt index a82dc833e..936c65eef 100644 --- a/api/src/test/kotlin/io/spine/tools/compiler/plugin/PluginSpec.kt +++ b/api/src/test/kotlin/io/spine/tools/compiler/plugin/PluginSpec.kt @@ -51,24 +51,24 @@ import org.junit.jupiter.api.io.TempDir @DisplayName("`Plugin` should") internal class PluginSpec { - private lateinit var policy1: StubPolicy1 - private lateinit var policy2: StubPolicy2 + private lateinit var re1: StubReaction1 + private lateinit var re2: StubReaction2 private lateinit var plugin: Plugin @BeforeEach fun createStubs() { - policy1 = StubPolicy1() - policy2 = StubPolicy2() - plugin = StubPlugin(policy1, policy2) + re1 = StubReaction1() + re2 = StubReaction2() + plugin = StubPlugin(re1, re2) } @Test - fun `propagate 'TypeSystem' into its policies`() { + fun `propagate 'TypeSystem' into its reactions`() { val ctx = BoundedContext.singleTenant("Stubs") val typeSystem = TypeSystem(ProtoFileList(emptyList()), emptySet()) plugin.applyTo(ctx, typeSystem) - policy1.typeSystem() shouldBe typeSystem - policy2.typeSystem() shouldBe typeSystem + re1.typeSystem() shouldBe typeSystem + re2.typeSystem() shouldBe typeSystem } @Test @@ -78,9 +78,9 @@ internal class PluginSpec { ) { runPipeline(src, target) - policy1.context() shouldNotBe null - policy1.context().name().value shouldStartWith CodeGenerationContext.NAME_PREFIX - policy2.context() shouldBe policy1.context() + re1.context() shouldNotBe null + re1.context().name().value shouldStartWith CodeGenerationContext.NAME_PREFIX + re2.context() shouldBe re1.context() } @Test @@ -104,7 +104,7 @@ internal class PluginSpec { } } -private class StubPlugin(vararg policies: Policy<*>) : Plugin(policies = policies.toSet()) { +private class StubPlugin(vararg policies: Reaction<*>) : Plugin(reactions = policies.toSet()) { lateinit var contextBuilder: BoundedContextBuilder @@ -114,12 +114,12 @@ private class StubPlugin(vararg policies: Policy<*>) : Plugin(policies = policie } } -private class StubPolicy1 : TsStubPolicy() { +private class StubReaction1 : TsStubReaction() { @React override fun whenever(event: FieldEntered): Just = Just.noReaction } -private class StubPolicy2 : TsStubPolicy() { +private class StubReaction2 : TsStubReaction() { @React override fun whenever(event: FieldExited): Just = Just.noReaction } diff --git a/api/src/test/kotlin/io/spine/tools/compiler/plugin/PolicySpec.kt b/api/src/test/kotlin/io/spine/tools/compiler/plugin/ReactionSpec.kt similarity index 80% rename from api/src/test/kotlin/io/spine/tools/compiler/plugin/PolicySpec.kt rename to api/src/test/kotlin/io/spine/tools/compiler/plugin/ReactionSpec.kt index 60111648b..880cc4208 100644 --- a/api/src/test/kotlin/io/spine/tools/compiler/plugin/PolicySpec.kt +++ b/api/src/test/kotlin/io/spine/tools/compiler/plugin/ReactionSpec.kt @@ -41,14 +41,14 @@ import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows -@DisplayName("`Policy` should") -internal class PolicySpec { +@DisplayName("`Reaction` should") +internal class ReactionSpec { @Test fun `obtain 'TypeSystem' after injected`() { - val policy = StubPolicy() + val reaction = StubReaction() assertThrows { - policy.typeSystem() + reaction.typeSystem() } val typeSystem = TypeSystem( @@ -56,33 +56,33 @@ internal class PolicySpec { emptySet() ) - policy.use(typeSystem) - policy.typeSystem() shouldBe typeSystem + reaction.use(typeSystem) + reaction.typeSystem() shouldBe typeSystem } /** - * This test merely makes the [Policy.ignore] method used without making any + * This test merely makes the [Reaction.ignore] method used without making any * meaningful assertions. * - * It creates a [Policy] which calls the `protected` method of the companion object + * It creates a [Reaction] which calls the `protected` method of the companion object * showing the usage scenario. * - * @see PolicyJavaApiSpec.allowIgnoring the test for Java API. + * @see ReactionJavaApiSpec.allowIgnoring the test for Java API. */ @Test @JvmName("allowIgnoring") fun `have a shortcut for ignoring incoming events`() { - val policy = object : Policy() { + val reaction = object : Reaction() { @React override fun whenever( @External event: TypeEntered ): EitherOf2 = ignore() } - policy shouldNotBe null + reaction shouldNotBe null } } -private class StubPolicy : TsStubPolicy() { +private class StubReaction : TsStubReaction() { @React override fun whenever(@External event: TypeDiscovered): Just = Just.noReaction } diff --git a/api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubPolicy.kt b/api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubReaction.kt similarity index 91% rename from api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubPolicy.kt rename to api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubReaction.kt index 4e35f284b..777879b9c 100644 --- a/api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubPolicy.kt +++ b/api/src/test/kotlin/io/spine/tools/compiler/plugin/TsStubReaction.kt @@ -32,9 +32,9 @@ import io.spine.server.BoundedContext import io.spine.tools.compiler.type.TypeSystem /** - * The abstract base for stub policy classes used in tests related to injecting [TypeSystem]. + * The abstract base for stub reaction classes used in tests related to injecting [TypeSystem]. */ -internal abstract class TsStubPolicy : Policy() { +internal abstract class TsStubReaction : Reaction() { /** * Opens access to the protected [typeSystem] property. diff --git a/build.gradle.kts b/build.gradle.kts index 209318fe4..a03282485 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,6 +47,7 @@ buildscript { classpath(io.spine.dependency.lib.Protobuf.GradlePlugin.lib) classpath(io.spine.dependency.build.Ksp.run { artifact(gradlePlugin) }) classpath(io.spine.dependency.local.ToolBase.jvmToolPluginDogfooding) + classpath(spineCompiler.pluginLib) classpath(coreJvmCompiler.pluginLib) } configurations.all { @@ -67,7 +68,7 @@ plugins { jacoco `gradle-doctor` `project-report` - `dokka-for-kotlin` + `dokka-setup` } /** diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index a9c4200c5..9127fed11 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -113,7 +113,7 @@ val protobufPluginVersion = "0.9.5" * @see * Dokka Releases */ -val dokkaVersion = "2.0.0" +val dokkaVersion = "2.1.0" /** * The version of Detekt Gradle Plugin. @@ -122,6 +122,11 @@ val dokkaVersion = "2.0.0" */ val detektVersion = "1.23.8" +/** + * @see [io.spine.dependency.test.Kotest] + */ +val kotestJvmPluginVersion = "0.4.10" + /** * @see [io.spine.dependency.test.Kover] */ @@ -174,6 +179,7 @@ dependencies { "com.google.protobuf:protobuf-gradle-plugin:$protobufPluginVersion", "com.gradleup.shadow:shadow-gradle-plugin:$shadowVersion", "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detektVersion", + "io.kotest:kotest-gradle-plugin:$kotestJvmPluginVersion", // https://github.com/srikanth-lingala/zip4j "net.lingala.zip4j:zip4j:2.10.0", "net.ltgt.gradle:gradle-errorprone-plugin:$errorPronePluginVersion", diff --git a/buildSrc/src/main/kotlin/BuildExtensions.kt b/buildSrc/src/main/kotlin/BuildExtensions.kt index 348439fa8..4122975f6 100644 --- a/buildSrc/src/main/kotlin/BuildExtensions.kt +++ b/buildSrc/src/main/kotlin/BuildExtensions.kt @@ -214,21 +214,19 @@ fun Project.configureTaskDependencies() { dependOn(createVersionFile) dependOn("prepareProtocConfigVersions") } - val dokkaHtml = "dokkaHtml" - dokkaHtml.run { + val dokkaGenerate = "dokkaGenerate" + dokkaGenerate.run { dependOn(generateProto) dependOn(kspKotlin) } - val dokkaJavadoc = "dokkaJavadoc" - dokkaJavadoc.run { - dependOn(kspKotlin) - } + val dokkaGeneratePublicationJavadoc = "dokkaGeneratePublicationJavadoc" + dokkaGeneratePublicationJavadoc.dependOn(kspKotlin) "publishPluginJar".dependOn(createVersionFile) compileKotlin.dependOn(kspKotlin) compileTestKotlin.dependOn("kspTestKotlin") "compileTestFixturesKotlin".dependOn("kspTestFixturesKotlin") - "javadocJar".dependOn(dokkaHtml) - "dokkaKotlinJar".dependOn(dokkaJavadoc) + "javadocJar".dependOn(dokkaGeneratePublicationJavadoc) + "htmlDocsJar".dependOn(dokkaGenerate) } } @@ -342,3 +340,15 @@ val buildToolConfigurations: Array = arrayOf( "ksp", "dokka", ) + +/** + * Make the `sourcesJar` task accept duplicated input which seems to occur + * somewhere inside Protobuf Gradle Plugin. + */ +fun Project.allowDuplicationInSourcesJar() { + tasks.withType(Jar::class.java).configureEach { + if (name == "sourcesJar") { + duplicatesStrategy = DuplicatesStrategy.INCLUDE + } + } +} diff --git a/buildSrc/src/main/kotlin/DocumentationSettings.kt b/buildSrc/src/main/kotlin/DocumentationSettings.kt index b538faedf..49247e17f 100644 --- a/buildSrc/src/main/kotlin/DocumentationSettings.kt +++ b/buildSrc/src/main/kotlin/DocumentationSettings.kt @@ -24,6 +24,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import org.gradle.api.Project + /** * The documentation settings specific to this project. * @@ -33,6 +35,36 @@ @Suppress("ConstPropertyName") object DocumentationSettings { + /** + * The organization infix for the Spine SDK. + */ + private const val orgPath = "github.com/SpineEventEngine" + + /** + * The organization URL of the Spine SDK. + */ + private const val orgUrl = "https://$orgPath" + + /** + * Obtains the repository URL for the given project. + */ + fun repoUrl(project: Project) = "https://${repoPath(project)}" + + /** + * Obtains the repository path for the given project. + */ + private fun repoPath(project: Project) = "$orgPath/${project.rootProject.name}" + + /** + * Obtains the connection URL for the given project. + */ + fun connectionUrl(project: Project) = "scm:git:git://${repoPath(project)}.git" + + /** + * Obtains the developer connection URL for the given project. + */ + fun developerConnectionUrl(project: Project) = "scm:git:ssh://${repoPath(project)}.git" + /** * Settings passed to Dokka for * [sourceLink][[org.jetbrains.dokka.gradle.engine.parameters.DokkaSourceLinkSpec] @@ -43,12 +75,16 @@ object DocumentationSettings { * The URL of the remote source code * [location][org.jetbrains.dokka.gradle.engine.parameters.DokkaSourceLinkSpec.remoteUrl]. */ - const val url: String = "https://github.com/SpineEventEngine/base/tree/master/src" + fun url(project: Project): String { + val root = project.rootProject.name + val module = project.name + return "$orgUrl/$root/tree/master/$module/src/main/kotlin" + } /** * The suffix used to append the source code line number to the URL. * - * The suffix depends on the online code repository. + * The value depends on the online code repository and is set for GitHub (`#L`). * * @see * remoteLineSuffix diff --git a/buildSrc/src/main/kotlin/DokkaExts.kt b/buildSrc/src/main/kotlin/DokkaExts.kt index e505a6dfc..3c72e3bc9 100644 --- a/buildSrc/src/main/kotlin/DokkaExts.kt +++ b/buildSrc/src/main/kotlin/DokkaExts.kt @@ -29,32 +29,18 @@ import io.spine.gradle.publish.getOrCreate import java.io.File import java.time.LocalDate import org.gradle.api.Project +import org.gradle.api.Task import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.dsl.DependencyHandler -import org.gradle.api.file.FileCollection import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.bundling.Jar import org.gradle.kotlin.dsl.DependencyHandlerScope -import org.jetbrains.dokka.gradle.AbstractDokkaTask import org.jetbrains.dokka.gradle.DokkaExtension -import org.jetbrains.dokka.gradle.DokkaTask -import org.jetbrains.dokka.gradle.GradleDokkaSourceSetBuilder import org.jetbrains.dokka.gradle.engine.parameters.DokkaSourceSetSpec import org.jetbrains.dokka.gradle.engine.parameters.VisibilityModifier import org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters -/** - * To generate the documentation as seen from Java perspective, the `kotlin-as-java` - * plugin was added to the Dokka classpath. - * - * @see - * Dokka output formats - */ -fun DependencyHandlerScope.useDokkaForKotlinAsJava() { - dokkaPlugin(Dokka.KotlinAsJavaPlugin.lib) -} - /** * To exclude pieces of code annotated with `@Internal` from the documentation * a custom plugin is added to the Dokka classpath. @@ -72,9 +58,8 @@ private fun DependencyHandler.dokkaPlugin(dependencyNotation: Any): Dependency? /** * Resolves the directory where Dokka outputs HTML documentation for the given language. */ -internal fun Project.dokkaOutput(language: String): File { - val lng = language.titleCaseFirstChar() - return layout.buildDirectory.dir("docs/dokka$lng").get().asFile +internal fun Project.dokkaHtmlOutput(): File { + return layout.buildDirectory.dir("dokka/html").get().asFile } /** @@ -187,14 +172,14 @@ private fun DokkaSourceSetSpec.configureSourceSet(config: SourceSetConfig) { } /** - * Configures this [DokkaTask] to accept only Kotlin files. + * Configures this [DokkaExtension] to accept only Kotlin files. */ fun DokkaExtension.configureForKotlin(project: Project, sourceLinkRemoteUrl: String) { configureFor(project, "kotlin", sourceLinkRemoteUrl) } /** - * Configures this [DokkaTask] to accept only Java files. + * Configures this [DokkaExtension] to accept only Java files. */ @Suppress("unused") fun DokkaExtension.configureForJava(project: Project, sourceLinkRemoteUrl: String) { @@ -202,39 +187,27 @@ fun DokkaExtension.configureForJava(project: Project, sourceLinkRemoteUrl: Strin } /** - * Finds the `dokkaHtml` Gradle task. + * Finds the `dokkaGenerateHtml` Gradle task. */ -fun TaskContainer.dokkaHtmlTask(): DokkaTask? = this.findByName("dokkaHtml") as DokkaTask? +fun TaskContainer.dokkaHtmlTask(): Task? = this.findByName("dokkaGeneratePublicationHtml") /** - * Returns only Java source roots out of all present in the source set. - * - * It is a helper method for generating documentation by Dokka only for Java code. - * It is helpful when both Java and Kotlin source files are present in a source set. - * Dokka can properly generate documentation for either Kotlin or Java depending on - * the configuration, but not both. + * Finds the `dokkaGeneratePublicationJavadoc` Gradle task. */ -@Suppress("unused") -internal fun GradleDokkaSourceSetBuilder.onlyJavaSources(): FileCollection { - return sourceRoots.filter(File::isJavaSourceDirectory) -} - -private fun File.isJavaSourceDirectory(): Boolean { - return isDirectory && name == "java" -} +fun TaskContainer.dokkaJavadocTask(): Task? = this.findByName("dokkaGeneratePublicationJavadoc") /** - * Locates or creates `dokkaKotlinJar` task in this [Project]. + * Locates or creates `htmlDocsJar` task in this [Project]. * * The output of this task is a `jar` archive. The archive contains the Dokka output, generated upon * Kotlin sources from `main` source set. Requires Dokka to be configured in the target project by - * applying `dokka-for-kotlin` plugin. + * applying `dokka-setup` plugin. */ -fun Project.dokkaKotlinJar(): TaskProvider = tasks.getOrCreate("dokkaKotlinJar") { - archiveClassifier.set("dokka") - from(files(dokkaOutput("kotlin"))) +fun Project.htmlDocsJar(): TaskProvider = tasks.getOrCreate("htmlDocsJar") { + archiveClassifier.set("html-docs") + from(files(dokkaHtmlOutput())) - tasks.dokkaHtmlTask()?.let{ dokkaTask -> + tasks.dokkaHtmlTask()?.let { dokkaTask -> this@getOrCreate.dependsOn(dokkaTask) } } @@ -246,29 +219,13 @@ fun Project.dokkaKotlinJar(): TaskProvider = tasks.getOrCreate("dokkaKotlin * This predicate could be useful for disabling publishing tasks * when doing, e.g., `publishToMavenLocal` for the purpose of the * integration tests that (of course) do not test the documentation - * generation proces and its resuults. + * generation process and its results. */ -fun AbstractDokkaTask.isInPublishingGraph(): Boolean = +fun Task.isInPublishingGraph(): Boolean = project.gradle.taskGraph.allTasks.any { it.name == "publish" || it.name.contains("dokkaGenerate") } -/** - * Locates or creates `dokkaJavaJar` task in this [Project]. - * - * The output of this task is a `jar` archive. The archive contains the Dokka output, generated upon - * Kotlin sources from `main` source set. Requires Dokka to be configured in the target project by - * applying `dokka-for-java` and/or `dokka-for-kotlin` script plugin. - */ -fun Project.dokkaJavaJar(): TaskProvider = tasks.getOrCreate("dokkaJavaJar") { - archiveClassifier.set("dokka-java") - from(files(dokkaOutput("java"))) - - tasks.dokkaHtmlTask()?.let{ dokkaTask -> - this@getOrCreate.dependsOn(dokkaTask) - } -} - /** * Disables Dokka and Javadoc tasks in this `Project`. * diff --git a/buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.kts b/buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.kts deleted file mode 100644 index c24135e16..000000000 --- a/buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.kts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2025, 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. - */ - -import org.jetbrains.dokka.gradle.DokkaTaskPartial - -plugins { - id("org.jetbrains.dokka") // Cannot use `Dokka` dependency object here yet. -} - -dependencies { - useDokkaWithSpineExtensions() -} - -afterEvaluate { - dokka { - configureForKotlin( - project, - DocumentationSettings.SourceLink.url - ) - } -} - -tasks.withType().configureEach { - onlyIf { - isInPublishingGraph() - } -} diff --git a/buildSrc/src/main/kotlin/dokka-for-java.gradle.kts b/buildSrc/src/main/kotlin/dokka-setup.gradle.kts similarity index 80% rename from buildSrc/src/main/kotlin/dokka-for-java.gradle.kts rename to buildSrc/src/main/kotlin/dokka-setup.gradle.kts index 6bab07915..d34615c3f 100644 --- a/buildSrc/src/main/kotlin/dokka-for-java.gradle.kts +++ b/buildSrc/src/main/kotlin/dokka-setup.gradle.kts @@ -24,28 +24,34 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import org.jetbrains.dokka.gradle.DokkaTaskPartial +import org.jetbrains.dokka.gradle.tasks.DokkaBaseTask plugins { id("org.jetbrains.dokka") // Cannot use `Dokka` dependency object here yet. + id("org.jetbrains.dokka-javadoc") } dependencies { - useDokkaForKotlinAsJava() useDokkaWithSpineExtensions() } +tasks.withType().configureEach { + onlyIf { + isInPublishingGraph() + } +} + afterEvaluate { dokka { configureForKotlin( project, - DocumentationSettings.SourceLink.url + DocumentationSettings.SourceLink.url(project) ) } -} - -tasks.withType().configureEach { - onlyIf { - isInPublishingGraph() + val kspKotlin = tasks.findByName("kspKotlin") + kspKotlin?.let { + tasks.withType().configureEach { + dependsOn(kspKotlin) + } } } diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt b/buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt index 003bf587f..ba0433aaf 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt @@ -35,7 +35,7 @@ object Dokka { * When changing the version, also change the version used in the * `buildSrc/build.gradle.kts`. */ - const val version = "2.0.0" + const val version = "2.1.0" object GradlePlugin { const val id = "org.jetbrains.dokka" diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt b/buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt index a4eb7548e..826f86853 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt @@ -29,7 +29,7 @@ package io.spine.dependency.build // https://github.com/jk1/Gradle-License-Report @Suppress("unused") object LicenseReport { - private const val version = "1.16" + private const val version = "3.0.1" const val lib = "com.github.jk1:gradle-license-report:$version" object GradlePlugin { 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 cb0de333e..24e3bd6de 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt @@ -33,7 +33,7 @@ package io.spine.dependency.lib ) object Protobuf { const val group = "com.google.protobuf" - const val version = "4.33.0" + const val version = "4.33.1" /** * The Java library with Protobuf data types. diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt index 7a5e54be9..184220798 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt @@ -29,12 +29,12 @@ package io.spine.dependency.local /** * Spine Base module. * - * @see spine-base + * @see spine-base-libraries */ @Suppress("ConstPropertyName", "unused") object Base { - const val version = "2.0.0-SNAPSHOT.366" - const val versionForBuildScript = "2.0.0-SNAPSHOT.366" + const val version = "2.0.0-SNAPSHOT.380" + const val versionForBuildScript = "2.0.0-SNAPSHOT.380" const val group = Spine.group const val artifact = "spine-base" const val lib = "$group:$artifact:$version" diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt index 781433991..433e5c952 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt @@ -70,7 +70,7 @@ object Compiler { * The version of ProtoData dependencies. */ val version: String - private const val fallbackVersion = "2.0.0-SNAPSHOT.029" + private const val fallbackVersion = "2.0.0-SNAPSHOT.030" /** * The distinct version of ProtoData used by other build tools. @@ -79,7 +79,7 @@ object Compiler { * transitional dependencies, this is the version used to build the project itself. */ val dogfoodingVersion: String - private const val fallbackDfVersion = "2.0.0-SNAPSHOT.029" + private const val fallbackDfVersion = "2.0.0-SNAPSHOT.030" /** * The artifact for the ProtoData Gradle plugin. diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt index 4560484b4..686be0dc5 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt @@ -27,17 +27,18 @@ package io.spine.dependency.local // For backward compatibility. +@Suppress("unused") typealias CoreJava = CoreJvm /** - * Dependencies on `core-java` modules. + * Dependencies on `core-jvm` modules. * - * See [`SpineEventEngine/core-java`](https://github.com/SpineEventEngine/core-jvm/). + * See [`SpineEventEngine/core-jvm`](https://github.com/SpineEventEngine/core-jvm/). */ @Suppress("ConstPropertyName", "unused") object CoreJvm { const val group = Spine.group - const val version = "2.0.0-SNAPSHOT.334" + const val version = "2.0.0-SNAPSHOT.356" const val coreArtifact = "spine-core" const val clientArtifact = "spine-client" diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt index 48686cf77..20a1eed60 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt @@ -46,12 +46,12 @@ object CoreJvmCompiler { /** * The version used to in the build classpath. */ - const val dogfoodingVersion = "2.0.0-SNAPSHOT.024" + const val dogfoodingVersion = "2.0.0-SNAPSHOT.029" /** * The version to be used for integration tests. */ - const val version = "2.0.0-SNAPSHOT.024" + const val version = "2.0.0-SNAPSHOT.029" /** * The ID of the Gradle plugin. 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 cf601a641..ff8aee462 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt @@ -36,7 +36,7 @@ object Validation { /** * The version of the Validation library artifacts. */ - const val version = "2.0.0-SNAPSHOT.352" + const val version = "2.0.0-SNAPSHOT.354" /** * The last version of Validation compatible with ProtoData. diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/Runtime.kt b/buildSrc/src/main/kotlin/io/spine/gradle/Cli.kt similarity index 94% rename from buildSrc/src/main/kotlin/io/spine/gradle/Runtime.kt rename to buildSrc/src/main/kotlin/io/spine/gradle/Cli.kt index 0a32c33f2..7e0c22748 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/Runtime.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/Cli.kt @@ -35,13 +35,7 @@ import java.lang.ProcessBuilder.Redirect.PIPE import java.util.* /** - * Utilities for working with processes from Gradle code. - */ -@Suppress("unused") -private const val ABOUT = "" - -/** - * Executor of CLI commands. + * Executes a process from Gradle code. * * Uses the passed [workingFolder] as the directory in which the commands are executed. */ @@ -92,7 +86,7 @@ class Cli(private val workingFolder: File) { * Asynchronously reads all lines from this [InputStream] and appends them * to the passed [StringWriter]. */ -fun InputStream.pourTo(dest: StringWriter) { +private fun InputStream.pourTo(dest: StringWriter) { Thread { val sc = Scanner(this) while (sc.hasNextLine()) { diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/dokka/DokkaExtensions.kt b/buildSrc/src/main/kotlin/io/spine/gradle/dokka/DokkaExtensions.kt deleted file mode 100644 index 727a0793f..000000000 --- a/buildSrc/src/main/kotlin/io/spine/gradle/dokka/DokkaExtensions.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2025, 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.gradle.dokka - -import java.io.File -import org.gradle.api.file.FileCollection -import org.jetbrains.dokka.gradle.GradleDokkaSourceSetBuilder - -/** - * Returns only Java source roots out of all present in the source set. - * - * It is a helper method for generating documentation by Dokka only for Java code. - * It is helpful when both Java and Kotlin source files are present in a source set. - * Dokka can properly generate documentation for either Kotlin or Java depending on - * the configuration, but not both. - */ -@Suppress("unused") -internal fun GradleDokkaSourceSetBuilder.onlyJavaSources(): FileCollection { - return sourceRoots.filter(File::isJavaSourceDirectory) -} - -private fun File.isJavaSourceDirectory(): Boolean { - return isDirectory && name == "java" -} diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/dokka/TaskContainerExtensions.kt b/buildSrc/src/main/kotlin/io/spine/gradle/dokka/TaskContainerExtensions.kt deleted file mode 100644 index 02deead57..000000000 --- a/buildSrc/src/main/kotlin/io/spine/gradle/dokka/TaskContainerExtensions.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2025, 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.gradle.dokka - -import org.gradle.api.tasks.TaskContainer -import org.jetbrains.dokka.gradle.DokkaTask - -/** - * Finds the `dokkaHtml` Gradle task. - */ -@Suppress("unused") -fun TaskContainer.dokkaHtmlTask() = this.getByName("dokkaHtml") as DokkaTask diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt b/buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt index f6e177717..0344819f2 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt @@ -57,7 +57,7 @@ class LazyTempPath(private val prefix: String) : Path { vararg modifiers: WatchEvent.Modifier? ): WatchKey = delegate.register(watcher, events, *modifiers) - override fun register(watcher: WatchService, vararg events: WatchEvent.Kind<*>?): WatchKey = + override fun register(watcher: WatchService, vararg events: WatchEvent.Kind<*>): WatchKey = delegate.register(watcher, *events) override fun getFileSystem(): FileSystem = delegate.fileSystem @@ -101,7 +101,7 @@ class LazyTempPath(private val prefix: String) : Path { override fun toAbsolutePath(): Path = delegate.toAbsolutePath() - override fun toRealPath(vararg options: LinkOption?): Path = delegate.toRealPath(*options) + override fun toRealPath(vararg options: LinkOption): Path = delegate.toRealPath(*options) override fun toFile(): File = delegate.toFile() diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt b/buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt index 55ce67f0c..de41ee8b1 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt @@ -28,6 +28,7 @@ package io.spine.gradle.git import io.spine.gradle.Cli import io.spine.gradle.fs.LazyTempPath +import org.gradle.api.logging.Logger /** * Interacts with a real Git repository. @@ -43,26 +44,17 @@ import io.spine.gradle.fs.LazyTempPath * NOTE: This class creates a temporal folder, so it holds resources. For the proper * release of resources please use the provided functionality inside a `use` block or * call the `close` method manually. + * + * @property sshUrl The GitHub SSH URL to the underlying repository. + * @property user Current user configuration. + * This configuration determines what ends up in the `author` and `committer` fields of a commit. + * @property currentBranch The currently checked-out branch. */ class Repository private constructor( - - /** - * The GitHub SSH URL to the underlying repository. - */ private val sshUrl: String, - - /** - * Current user configuration. - * - * This configuration determines what ends up in author and committer fields of a commit. - */ private var user: UserInfo, - - /** - * Currently checked out branch. - */ - private var currentBranch: String - + private var currentBranch: String, + private val logger: Logger ) : AutoCloseable { /** @@ -80,14 +72,22 @@ class Repository private constructor( /** * Executes a command in the [location]. */ - private fun repoExecute(vararg command: String): String = - Cli(location.toFile()).execute(*command) + private fun repoExecute(vararg command: String): String { + if (logger.isErrorEnabled) { + val msg = "[Repository] Executing command: `${command.toList().joinToString(" ")}`." + logger.error(msg) + } + return Cli(location.toFile()).execute(*command) + } /** * Checks out the branch by its name. + * + * IMPORTANT. The branch must exist in the upstream repository. */ fun checkout(branch: String) { repoExecute("git", "checkout", branch) + repoExecute("git", "pull") currentBranch = branch } @@ -128,9 +128,12 @@ class Repository private constructor( } /** - * Pushes local repository to the remote. + * Pushes the current branch of the repository to the remote. + * + * Performs a pull with rebase before pushing to ensure the local branch is up-to-date. */ fun push() { + repoExecute("git", "pull", "--rebase") repoExecute("git", "push") } @@ -139,18 +142,27 @@ class Repository private constructor( } companion object Factory { + /** * Clones the repository with the provided SSH URL in a temporal folder. - * Configures the username and the email of the Git user. See [configureUser] - * documentation for more information. Performs checkout of the branch in - * case it was passed. By default, [master][Branch.master] is checked out. + * + * Configures the username and the email of the Git user. + * See [configureUser] documentation for more information. + * + * Performs checkout of the branch in case it was passed. + * By default, [master][Branch.master] is checked out. * * @throws IllegalArgumentException if SSH URL is an empty string. */ - fun of(sshUrl: String, user: UserInfo, branch: String = Branch.master): Repository { + fun clone( + sshUrl: String, + user: UserInfo, + branch: String = Branch.master, + logger: Logger + ): Repository { require(sshUrl.isNotBlank()) { "SSH URL cannot be an empty string." } - val repo = Repository(sshUrl, user, branch) + val repo = Repository(sshUrl, user, branch, logger) repo.clone() repo.configureUser(user) diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.kt index ef67c71fd..3eb58d209 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.kt @@ -30,6 +30,7 @@ import io.spine.gradle.git.Branch import io.spine.gradle.git.Repository import io.spine.gradle.git.UserInfo import io.spine.gradle.repo.RepoSlug +import org.gradle.api.logging.Logger /** * Clones the current project repository with the branch dedicated to publishing @@ -38,14 +39,15 @@ import io.spine.gradle.repo.RepoSlug * The repository's GitHub SSH URL is derived from the `REPO_SLUG` environment * variable. The [branch][Branch.documentation] dedicated to publishing documentation * is automatically checked out in this repository. Also, the username and the email - * of the git user are automatically configured. The username is set - * to "UpdateGitHubPages Plugin", and the email is derived from + * of the git user are automatically configured. + * + * The username is set to `"UpdateGitHubPages Plugin"`, and the email is derived from * the `FORMAL_GIT_HUB_PAGES_AUTHOR` environment variable. * * @throws org.gradle.api.GradleException if any of the environment variables described above * is not set. */ -internal fun Repository.Factory.forPublishingDocumentation(): Repository { +internal fun Repository.Factory.forPublishingDocumentation(logger: Logger): Repository { val host = RepoSlug.fromVar().gitHost() val username = "UpdateGitHubPages Plugin" @@ -54,5 +56,5 @@ internal fun Repository.Factory.forPublishingDocumentation(): Repository { val branch = Branch.documentation - return of(host, user, branch) + return clone(host, user, branch, logger) } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.kt index 186c47462..68be42a07 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.kt @@ -29,24 +29,43 @@ package io.spine.gradle.github.pages import io.spine.gradle.Cli import java.io.File import org.gradle.api.GradleException +import org.gradle.api.logging.Logger /** - * Registers SSH key for further operations with GitHub Pages. + * Registers the SSH key for further operations with GitHub Pages. + * + * @property rootProjectFolder The folder of the project for which we build the documentation. + * @property logger The logger for placing diagnostic messages of this class. */ -internal class SshKey(private val rootProjectFolder: File) { +internal class SshKey( + private val rootProjectFolder: File, + private val logger: Logger +) { + + private fun log(message: () -> String) { + if (logger.isInfoEnabled) { + logger.info("[SshKey] " + message()) + } + } + /** * Creates an SSH key with the credentials and registers it by invoking the * `register-ssh-key.sh` script. */ fun register() { + log { "Registering using ${rootProjectFolder.absolutePath}." } val gitHubAccessKey = gitHubKey() + log { "Obtained the key file at ${gitHubAccessKey.absolutePath}." } val sshConfigFile = sshConfigFile() + log { "Located the SSH key file at ${sshConfigFile.absolutePath}." } sshConfigFile.appendPublisher(gitHubAccessKey) + log { "SSH config file appended." } execute( "${rootProjectFolder.absolutePath}/config/scripts/register-ssh-key.sh", gitHubAccessKey.absolutePath ) + log { "The SSH key registered." } } /** @@ -59,7 +78,7 @@ internal class SshKey(private val rootProjectFolder: File) { * publishing. * * Thus, we configure the SSH agent to use the `deploy_rsa_key` only for specific - * references, namely in `github.com-publish`. + * references, namely in `github-publish`. * * @throws GradleException if `deploy_key_rsa` is not found. */ @@ -91,9 +110,10 @@ internal class SshKey(private val rootProjectFolder: File) { val nl = System.lineSeparator() this.appendText( nl + - "Host github.com-publish" + nl + - "User git" + nl + - "IdentityFile ${privateKey.absolutePath}" + nl + "Host github-publish" + nl + + " HostName github.com" + nl + + " User git" + nl + + " IdentityFile ${privateKey.absolutePath}" + nl ) } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.kt index f5e3bfc81..72b8fd37f 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.kt @@ -34,14 +34,14 @@ object TaskName { const val updateGitHubPages = "updateGitHubPages" /** - * The name of the helper task to gather the generated Javadoc before updating - * GitHub Pages. + * The name of the helper task to gather the generated Javadoc format + * documentation generated by Dokka before updating GitHub Pages. */ - const val copyJavadoc = "copyJavadoc" + const val copyJavadocDocs = "copyJavadocDocs" /** - * The name of the helper task to gather Dokka-generated documentation before - * updating GitHub Pages. + * The name of the helper task to gather HTML documentation + * generated by Dokka before updating GitHub Pages. */ - const val copyDokka = "copyDokka" + const val copyHtmlDocs = "copyHtmlDocs" } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt index 0f9a0f5cf..3c705978f 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt @@ -41,23 +41,19 @@ import org.gradle.api.logging.Logger fun Task.updateGhPages(project: Project) { val plugin = project.plugins.getPlugin(UpdateGitHubPages::class.java) - with(plugin) { - SshKey(rootFolder).register() - } + SshKey(plugin.rootFolder, logger).register() - val repository = Repository.forPublishingDocumentation() + val repository = Repository.forPublishingDocumentation(logger) - val updateJavadoc = with(plugin) { - UpdateJavadoc(project, javadocOutputFolder, repository, logger) - } + val updateJavadocFormat = + UpdateJavadocFormat(project, plugin.javadocOutputFolder, repository, logger) - val updateDokka = with(plugin) { - UpdateDokka(project, dokkaOutputFolder, repository, logger) - } + val updateHtmlFormat = + UpdateHtmlFormat(project, plugin.htmlOutputFolder, repository, logger) repository.use { - updateJavadoc.run() - updateDokka.run() + updateJavadocFormat.run() + updateHtmlFormat.run() repository.push() } } @@ -80,17 +76,17 @@ private abstract class UpdateDocumentation( protected abstract val docsDestinationFolder: String /** - * The name of the tool used to generate the documentation to update. + * The name of the format of the documentation to update. * * This name will appear in logs as part of a message. */ - protected abstract val toolName: String + protected abstract val formatName: String private val mostRecentFolder by lazy { File("${repository.location}/${docsDestinationFolder}/${project.name}") } - private fun logDebug(message: () -> String) { + private fun log(message: () -> String) { if (logger.isDebugEnabled) { logger.debug(message()) } @@ -98,25 +94,24 @@ private abstract class UpdateDocumentation( fun run() { val module = project.name - logDebug {"Update of the $toolName documentation for module `$module` started." } + log { "Update of the `$formatName` documentation for the module `$module` started." } val documentation = replaceMostRecentDocs() copyIntoVersionDir(documentation) val version = project.version val updateMessage = - "Update `$toolName` documentation for module `$module` as for version $version" + "Update `$formatName` documentation for the module" + + " `$module` with the version `$version`." repository.commitAllChanges(updateMessage) - logDebug { "Update of the `$toolName` documentation for `$module` successfully finished." } + log { "Update of the `$formatName` documentation for `$module` successfully finished." } } private fun replaceMostRecentDocs(): ConfigurableFileCollection { val generatedDocs = project.files(docsSourceFolder) - logDebug { - "Replacing the most recent `$toolName` documentation in `${mostRecentFolder}`." - } + log { "Replacing the most recent `$formatName` documentation in `$mostRecentFolder`." } copyDocs(generatedDocs, mostRecentFolder) return generatedDocs @@ -133,14 +128,12 @@ private abstract class UpdateDocumentation( private fun copyIntoVersionDir(generatedDocs: ConfigurableFileCollection) { val versionedDocDir = File("$mostRecentFolder/v/${project.version}") - logDebug { - "Storing the new version of `$toolName` documentation in `${versionedDocDir}`." - } + log { "Storing the new version of `$formatName` documentation in `${versionedDocDir}`." } copyDocs(generatedDocs, versionedDocDir) } } -private class UpdateJavadoc( +private class UpdateJavadocFormat( project: Project, docsSourceFolder: Path, repository: Repository, @@ -148,12 +141,12 @@ private class UpdateJavadoc( ) : UpdateDocumentation(project, docsSourceFolder, repository, logger) { override val docsDestinationFolder: String - get() = "reference" - override val toolName: String - get() = "Javadoc" + get() = "javadoc" + override val formatName: String + get() = "javadoc" } -private class UpdateDokka( +private class UpdateHtmlFormat( project: Project, docsSourceFolder: Path, repository: Repository, @@ -161,7 +154,7 @@ private class UpdateDokka( ) : UpdateDocumentation(project, docsSourceFolder, repository, logger) { override val docsDestinationFolder: String - get() = "dokka-reference" - override val toolName: String - get() = "Dokka" + get() = "reference" + override val formatName: String + get() = "html" } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt index e339dd461..cdfd2c469 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt @@ -27,13 +27,11 @@ package io.spine.gradle.github.pages import dokkaHtmlTask +import dokkaJavadocTask import io.spine.gradle.fs.LazyTempPath -import io.spine.gradle.github.pages.TaskName.copyDokka -import io.spine.gradle.github.pages.TaskName.copyJavadoc +import io.spine.gradle.github.pages.TaskName.copyHtmlDocs +import io.spine.gradle.github.pages.TaskName.copyJavadocDocs import io.spine.gradle.github.pages.TaskName.updateGitHubPages -import io.spine.gradle.isSnapshot -import io.spine.gradle.javadoc.ExcludeInternalDoclet -import io.spine.gradle.javadoc.javadocTask import java.io.File import org.gradle.api.Plugin import org.gradle.api.Project @@ -43,30 +41,12 @@ import org.gradle.api.tasks.TaskContainer import org.gradle.api.tasks.TaskProvider /** - * Registers the `updateGitHubPages` task which performs the update of the GitHub - * Pages with the documentation generated by Javadoc and Dokka for a particular - * Gradle project. The generated documentation is appended to the `spine.io` site - * via GitHub pages by pushing commits to the `gh-pages` branch. - * - * Please note that the update is only performed for the projects which are - * NOT snapshots. + * Registers the `updateGitHubPages` task which performs the update of + * the GitHub Pages with the documentation generated in Javadoc and HTML format + * for a particular Gradle project. * - * Users may supply [allowInternalJavadoc][UpdateGitHubPagesExtension.allowInternalJavadoc] - * to configure documentation generated by Javadoc. The documentation for the code - * marked `@Internal` is included when the option is set to `true`. By default, this - * option is `false`. - * - * Usage: - * ``` - * updateGitHubPages { - * - * // Include `@Internal`-annotated code. - * allowInternalJavadoc.set(true) - * - * // Propagate the full path to the local folder of the repository root. - * rootFolder.set(rootDir.absolutePath) - * } - * ``` + * The generated documentation is appended to the `spine.io` site + * via GitHub pages by pushing commits to the `gh-pages` branch. * * In order to work, the script needs a `deploy_key_rsa` private RSA key file in the * repository root. It is recommended to encrypt it in the repository and then decrypt @@ -104,16 +84,16 @@ class UpdateGitHubPages : Plugin { private lateinit var includedInputs: Set /** - * Path to the temp folder used to gather the Javadoc output before submitting it - * to the GitHub Pages update. + * Path to the temp folder used to gather the Javadoc format output (generated by Dokka) + * before submitting it to the GitHub Pages update. */ internal val javadocOutputFolder = LazyTempPath("javadoc") /** - * Path to the temp folder used to gather the documentation generated by Dokka - * before submitting it to the GitHub Pages update. + * Path to the temp folder used to gather the HTML documentation + * generated by Dokka before submitting it to the GitHub Pages update. */ - internal val dokkaOutputFolder = LazyTempPath("dokka") + internal val htmlOutputFolder = LazyTempPath("html") /** * Applies the plugin to the specified [project]. @@ -127,12 +107,15 @@ class UpdateGitHubPages : Plugin { override fun apply(project: Project) { val extension = UpdateGitHubPagesExtension.createIn(project) project.afterEvaluate { - val projectVersion = project.version.toString() - if (projectVersion.isSnapshot()) { - registerNoOpTask() - } else { - registerTasks(extension) - } + //TODO:2025-11-20:alexander.yevsyukov: Remove this line and uncomment the below block + // when new publishing procedure is finalized. + registerTasks(extension) +// val projectVersion = project.version.toString() +// if (projectVersion.isSnapshot()) { +// registerNoOpTask() +// } else { +// registerTasks(extension) +// } } } @@ -141,6 +124,7 @@ class UpdateGitHubPages : Plugin { * the message telling the update is skipped, since the project is in * its `SNAPSHOT` version. */ + @Suppress("unused") private fun Project.registerNoOpTask() { tasks.register(updateGitHubPages) { doLast { @@ -154,41 +138,31 @@ class UpdateGitHubPages : Plugin { } private fun Project.registerTasks(extension: UpdateGitHubPagesExtension) { - val allowInternalJavadoc = extension.allowInternalJavadoc() rootFolder = extension.rootFolder() includedInputs = extension.includedInputs() - if (!allowInternalJavadoc) { - val doclet = ExcludeInternalDoclet() - doclet.registerTaskIn(this) - } - - tasks.registerCopyJavadoc(allowInternalJavadoc) + tasks.registerCopyJavadoc() tasks.registerCopyDokka() val updatePagesTask = tasks.registerUpdateTask() updatePagesTask.configure { - dependsOn(copyJavadoc) - dependsOn(copyDokka) + dependsOn(copyJavadocDocs) + dependsOn(copyHtmlDocs) } } - private fun TaskContainer.registerCopyJavadoc(allowInternalJavadoc: Boolean) { - val inputs = composeJavadocInputs(allowInternalJavadoc) + private fun TaskContainer.registerCopyJavadoc() { + val inputs = composeJavadocInputs() - register(copyJavadoc, Copy::class.java) { + register(copyJavadocDocs, Copy::class.java) { inputs.forEach { from(it) } into(javadocOutputFolder) } } - private fun TaskContainer.composeJavadocInputs(allowInternalJavadoc: Boolean): List { + private fun TaskContainer.composeJavadocInputs(): List { val inputs = mutableListOf() - if (allowInternalJavadoc) { - inputs.add(javadocTask()) - } else { - inputs.add(javadocTask(ExcludeInternalDoclet.taskName)) - } + inputs.add(dokkaJavadocTask()!!) inputs.addAll(includedInputs) return inputs } @@ -196,9 +170,9 @@ class UpdateGitHubPages : Plugin { private fun TaskContainer.registerCopyDokka() { val inputs = composeDokkaInputs() - register(copyDokka, Copy::class.java) { + register(copyHtmlDocs, Copy::class.java) { inputs.forEach { from(it) } - into(dokkaOutputFolder) + into(htmlOutputFolder) } } @@ -226,7 +200,7 @@ class UpdateGitHubPages : Plugin { } private fun cleanup() { - val folders = listOf(dokkaOutputFolder, javadocOutputFolder) + val folders = listOf(htmlOutputFolder, javadocOutputFolder) folders.forEach { it.toFile().deleteRecursively() } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt index 90eebc2f6..a849a836d 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt @@ -38,65 +38,41 @@ import org.gradle.kotlin.dsl.property * Configures the `updateGitHubPages` extension. */ @Suppress("unused") -fun Project.updateGitHubPages(excludeInternalDocletVersion: String, - action: UpdateGitHubPagesExtension.() -> Unit) { +fun Project.updateGitHubPages( + action: UpdateGitHubPagesExtension.() -> Unit +) { apply() val extension = extensions.getByType(UpdateGitHubPagesExtension::class) - extension.excludeInternalDocletVersion = excludeInternalDocletVersion extension.action() } /** * The extension for configuring the [UpdateGitHubPages] plugin. + * + * @property rootFolder The root folder of the repository to which the updated `Project` belongs. + * @property includeInputs The external inputs, which output should be included + * into the GitHub Pages update. The values are interpreted according to + * [Copy.from][org.gradle.api.tasks.Copy.from] specification. + * This property is optional. */ -class UpdateGitHubPagesExtension -private constructor( - - /** - * Tells whether the types marked `@Internal` should be included into - * the doc generation. - */ - val allowInternalJavadoc: Property, - - /** - * The root folder of the repository to which the updated `Project` belongs. - */ +class UpdateGitHubPagesExtension private constructor( var rootFolder: Property, - - /** - * The external inputs, which output should be included into - * the GitHub Pages update. - * - * The values are interpreted according to - * [org.gradle.api.tasks.Copy.from] specification. - * - * This property is optional. - */ var includeInputs: SetProperty ) { - - /** - * The version of the - * [ExcludeInternalDoclet][io.spine.gradle.javadoc.ExcludeInternalDoclet] - * used when updating documentation at GitHub Pages. - * - * This value is used when adding dependency on the doclet when the plugin tasks - * are registered. Since the doclet dependency is required, its value passed as - * a parameter for the extension, rather than a property. - */ - internal lateinit var excludeInternalDocletVersion: String - internal companion object { - /** The name of the extension. */ + /** + * The name of the extension. + */ const val name = "updateGitHubPages" - /** Creates a new extension and adds it to the passed project. */ + /** + * Creates a new extension and adds it to the passed project. + */ fun createIn(project: Project): UpdateGitHubPagesExtension { val factory = project.objects val result = UpdateGitHubPagesExtension( - allowInternalJavadoc = factory.property(Boolean::class), rootFolder = factory.property(File::class), includeInputs = factory.setProperty(Any::class.java) ) @@ -105,27 +81,15 @@ private constructor( } } - /** - * Returns `true` if the `@Internal`-annotated code should be included into the - * generated documentation, `false` otherwise. - */ - fun allowInternalJavadoc(): Boolean { - return allowInternalJavadoc.get() - } - /** * Returns the local root folder of the repository, to which the handled Gradle * Project belongs. */ - fun rootFolder(): File { - return rootFolder.get() - } + fun rootFolder(): File = rootFolder.get() /** * Returns the external inputs, which results should be included into the * GitHub Pages update. */ - fun includedInputs(): Set { - return includeInputs.get() - } + fun includedInputs(): Set = includeInputs.get() } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.kt b/buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.kt index 137118432..1bf0c0bf7 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.kt @@ -26,37 +26,6 @@ package io.spine.gradle.publish -/** - * A DSL element of [SpinePublishing] extension which configures publishing of - * [dokkaKotlinJar] artifact. - * - * This artifact contains Dokka-generated documentation. By default, it is not published. - * - * Take a look at the [SpinePublishing.dokkaJar] for a usage example. - * - * @see [artifacts] - */ -class DokkaJar { - /** - * Enables publishing `JAR`s with Dokka-generated documentation for all published modules. - */ - @Suppress("unused") - @Deprecated("Please use `kotlin` and `java` flags instead.") - var enabled = false - - /** - * Controls whether [dokkaKotlinJar] artifact should be published. - * The default value is `true`. - */ - var kotlin = true - - /** - * Controls whether [dokkaJavaJar] artifact should be published. - * The default value is `false`. - */ - var java = false -} - /** * A DSL element of [SpinePublishing] extension which allows enabling publishing * of [testJar] artifact. @@ -80,88 +49,25 @@ class TestJar { var enabled = false } -/** - * A DSL element of [SpinePublishing] extension which allows disabling publishing - * of [protoJar] artifact. - * - * This artifact contains all the `.proto` definitions from `sourceSets.main.proto`. By default, - * it is published. - * - * Take a look on [SpinePublishing.protoJar] for a usage example. - * - * @see [artifacts] - */ -class ProtoJar { - - /** - * Set of modules, for which a proto JAR will not be published. - */ - var exclusions: Set = emptySet() - - /** - * Disables proto JAR publishing for all published modules. - */ - var disabled = false -} - /** * Flags for turning optional JAR artifacts in a project. + * + * @property sourcesJar Tells whether [sourcesJar] artifact should be published. + * Default value is `true`. + * @property publishTestJar Tells whether [testJar] artifact should be published. */ internal data class JarFlags( - - /** - * Tells whether [sourcesJar] artifact should be published. - * - * Default value is `true`. - */ val sourcesJar: Boolean = true, - - /** - * Tells whether [javadocJar] artifact should be published. - * - * Default value is `true`. - */ - val javadocJar: Boolean = true, - - /** - * Tells whether [protoJar] artifact should be published. - */ - val publishProtoJar: Boolean, - - /** - * Tells whether [testJar] artifact should be published. - */ val publishTestJar: Boolean, - - /** - * Tells whether [dokkaKotlinJar] artifact should be published. - */ - val publishDokkaKotlinJar: Boolean, - - /** - * Tells whether [dokkaJavaJar] artifact should be published. - */ - val publishDokkaJavaJar: Boolean ) { internal companion object { /** * Creates an instance of [JarFlags] for the project with the given name, * taking the setup parameters from JAR DSL elements. */ - fun create( - projectName: String, - protoJar: ProtoJar, - testJar: TestJar, - dokkaJar: DokkaJar - ): JarFlags { - val addProtoJar = (protoJar.exclusions.contains(projectName) || protoJar.disabled).not() + fun create(projectName: String, testJar: TestJar): JarFlags { val addTestJar = testJar.inclusions.contains(projectName) || testJar.enabled - return JarFlags( - sourcesJar = true, - javadocJar = true, - addProtoJar, addTestJar, - dokkaJar.kotlin, dokkaJar.java - ) + return JarFlags(sourcesJar = true, addTestJar) } } } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt b/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt index 75c5413a0..ad5596ca0 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt @@ -29,6 +29,7 @@ package io.spine.gradle.publish import LicenseSettings import io.spine.gradle.isSnapshot import io.spine.gradle.repo.Repository +import io.spine.gradle.report.pom.InceptionYear import org.gradle.api.Project import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.invocation.BuildInvocationDetails @@ -146,11 +147,19 @@ internal sealed class PublicationHandler( } version = project.version.toString() pom.description.set(project.description) - + pom.inceptionYear.set(InceptionYear.value) pom.licenses { license { name.set(LicenseSettings.name) url.set(LicenseSettings.url) + distribution.set(LicenseSettings.url) + } + } + pom.scm { + DocumentationSettings.run { + url.set(repoUrl(project)) + connection.set(connectionUrl(project)) + developerConnection.set(developerConnectionUrl(project)) } } } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt b/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt index 0a24b56b8..16fe9dd86 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt @@ -26,7 +26,7 @@ package io.spine.gradle.publish -import dokkaKotlinJar +import htmlDocsJar import io.spine.gradle.isSnapshot import io.spine.gradle.repo.Repository import io.spine.gradle.sourceSets @@ -271,9 +271,9 @@ internal fun Project.testJar(): TaskProvider = tasks.getOrCreate("testJar") */ fun Project.javadocJar(): TaskProvider = tasks.getOrCreate("javadocJar") { archiveClassifier.set("javadoc") - val javadocFiles = layout.buildDirectory.files("/docs/javadoc") + val javadocFiles = layout.buildDirectory.dir("dokka/javadoc") from(javadocFiles) - dependsOn("javadoc") + dependsOn("dokkaGeneratePublicationJavadoc") } internal fun TaskContainer.getOrCreate(name: String, init: Jar.() -> Unit): TaskProvider = @@ -300,12 +300,12 @@ internal fun Project.artifacts(jarFlags: JarFlags): Set> { tasks.add(sourcesJar()) } - if (jarFlags.javadocJar) { - tasks.add(javadocJar()) - } + tasks.add(javadocJar()) + tasks.add(htmlDocsJar()) + // We don't want to have an empty "proto.jar" when a project doesn't have any Proto files. - if (hasProto() && jarFlags.publishProtoJar) { + if (hasProto()) { tasks.add(protoJar()) } @@ -315,9 +315,5 @@ internal fun Project.artifacts(jarFlags: JarFlags): Set> { tasks.add(testJar()) } - if (jarFlags.publishDokkaKotlinJar) { - tasks.add(dokkaKotlinJar()) - } - return tasks } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt b/buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt index 9dc7d7c90..480175fef 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt @@ -129,20 +129,16 @@ import org.gradle.kotlin.dsl.findByType * 1. [sourcesJar] — sources from the `main` source set. Includes handcrafted and generated * code in Java, Kotlin, and `.proto` files. * - * 2. [protoJar] – only `.proto` sources from the `main` source set. It's published only if - * Proto files are actually present in the source set. Publication of this artifact is optional - * and can be disabled via [SpinePublishing.protoJar]. + * 2. [protoJar] – only `.proto` sources from the `main` source set. It is published only if + * Proto files are actually present in the source set. * * 3. [javadocJar] — Javadoc, generated upon Java sources from the `main` source set. * If Javadoc for Kotlin is also needed, apply the Dokka plugin. * It tunes the `javadoc` task to generate docs upon Kotlin sources as well. * - * 4. [dokkaKotlinJar] — documentation generated by Dokka for Kotlin and Java sources + * 4. [htmlDocsJar] — documentation generated by Dokka for Kotlin and Java sources * using the Kotlin API mode. * - * 5. [dokkaJavaJar] — documentation generated by Dokka for Kotlin and Java sources - * using the Java API mode. - * * Additionally, [testJar] artifact can be published. This artifact contains compilation output * of the `test` source set. Use [SpinePublishing.testJar] to enable its publishing. * @@ -188,9 +184,7 @@ open class SpinePublishing(private val project: Project) { const val DEFAULT_PREFIX = "spine-" } - private val protoJar = ProtoJar() private val testJar = TestJar() - private val dokkaJar = DokkaJar() /** * Set of modules to be published. @@ -260,45 +254,6 @@ open class SpinePublishing(private val project: Project) { */ var artifactPrefix: String = DEFAULT_PREFIX - /** - * Allows disabling publishing of [protoJar] artifact, containing all Proto sources - * from `sourceSets.main.proto`. - * - * Here's an example of how to disable it for some of the published modules: - * - * ```kotlin - * spinePublishing { - * modules = setOf( - * "subprojectA", - * "subprojectB", - * ) - * protoJar { - * exclusions = setOf( - * "subprojectB", - * ) - * } - * } - * ``` - * - * For all modules, or when the extension is configured within a published module itself: - * - * ``` - * spinePublishing { - * protoJar { - * disabled = true - * } - * } - * ``` - * - * The resulting artifact is available under the "proto" classifier. - * For example, in Gradle 7+, one could depend on it like this: - * - * ``` - * implementation("io.spine:spine-client:$version@proto") - * ``` - */ - fun protoJar(block: ProtoJar.() -> Unit) = protoJar.run(block) - /** * Allows enabling publishing of [testJar] artifact, containing compilation output * of "test" source set. @@ -338,34 +293,6 @@ open class SpinePublishing(private val project: Project) { */ fun testJar(block: TestJar.() -> Unit) = testJar.run(block) - /** - * Configures publishing of [dokkaKotlinJar] and [dokkaJavaJar] artifacts, - * containing Dokka-generated documentation. - * - * By default, publishing of the [dokkaKotlinJar] artifact is enabled, and [dokkaJavaJar] - * is disabled. - * - * Remember that the Dokka Gradle plugin should be applied to publish this artifact as it is - * produced by the `dokkaHtml` task. It can be done by using the - * [io.spine.dependency.build.Dokka] dependency object or by applying the - * `buildSrc/src/main/kotlin/dokka-for-kotlin` or - * `buildSrc/src/main/kotlin/dokka-for-java` script plugins. - * - * Here's an example of how to use this option: - * - * ``` - * spinePublishing { - * dokkaJar { - * kotlin = false - * java = true - * } - * } - * ``` - * - * The resulting artifact is available under the "dokka" classifier. - */ - fun dokkaJar(block: DokkaJar.() -> Unit) = dokkaJar.run(block) - /** * Called to notify the extension that its configuration is completed. * @@ -373,14 +300,13 @@ open class SpinePublishing(private val project: Project) { * `maven-publish` plugin for each published module. */ internal fun configured() { - ensureProtoJarExclusionsArePublished() ensureTestJarInclusionsArePublished() ensureModulesNotDuplicated() ensureCustomPublishingNotMisused() val projectsToPublish = projectsToPublish() projectsToPublish.forEach { project -> - val jarFlags = JarFlags.create(project.name, protoJar, testJar, dokkaJar) + val jarFlags = JarFlags.create(project.name, testJar) project.setUpPublishing(jarFlags) } } @@ -468,24 +394,6 @@ open class SpinePublishing(private val project: Project) { */ fun artifactId(project: Project): String = "$artifactPrefix${project.name}" - /** - * Ensures that all modules, marked as excluded from [protoJar] publishing, - * are actually published. - * - * It makes no sense to tell a module don't publish [protoJar] artifact, if the module is not - * published at all. - */ - private fun ensureProtoJarExclusionsArePublished() { - val nonPublishedExclusions = protoJar.exclusions.minus(modules) - if (nonPublishedExclusions.isNotEmpty()) { - error( - "One or more modules are marked as" + - " `excluded from proto JAR publication`," + - " but they are not even published: $nonPublishedExclusions." - ) - } - } - /** * Ensures that all modules, marked as included into [testJar] publishing, * are actually published. diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt b/buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt index 461c690e4..d4a6bfd2a 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt @@ -50,7 +50,7 @@ class RepoSlug(val value: String) { fun fromVar(): RepoSlug { val envValue = System.getenv(environmentVariable) if (envValue.isNullOrEmpty()) { - throw GradleException("`REPO_SLUG` environment variable is not set.") + throw GradleException("`$environmentVariable` environment variable is not set.") } return RepoSlug(envValue) } @@ -62,6 +62,6 @@ class RepoSlug(val value: String) { * Returns the GitHub URL to the project repository. */ fun gitHost(): String { - return "git@github.com-publish:${value}.git" + return "git@github-publish:${value}.git" } } diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt b/buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt index cb25b3d68..ed94b29e8 100644 --- a/buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt +++ b/buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt @@ -35,7 +35,10 @@ import org.gradle.kotlin.dsl.withGroovyBuilder */ internal object InceptionYear { - private const val SPINE_INCEPTION_YEAR = "2015" + /** + * The year of the inception of Spine. + */ + const val value = "2015" /** * Returns a string containing the inception year of Spine in a `pom.xml` format. @@ -44,7 +47,7 @@ internal object InceptionYear { val writer = StringWriter() val xml = MarkupBuilder(writer) xml.withGroovyBuilder { - "inceptionYear" { xml.text(SPINE_INCEPTION_YEAR) } + "inceptionYear" { xml.text(value) } } return writer.toString() } diff --git a/buildSrc/src/main/kotlin/jvm-module.gradle.kts b/buildSrc/src/main/kotlin/jvm-module.gradle.kts index 7bc595c83..11696c1aa 100644 --- a/buildSrc/src/main/kotlin/jvm-module.gradle.kts +++ b/buildSrc/src/main/kotlin/jvm-module.gradle.kts @@ -46,10 +46,9 @@ plugins { id("net.ltgt.errorprone") id("pmd-settings") id("project-report") - id("dokka-for-java") kotlin("jvm") id("detekt-code-analysis") - id("dokka-for-kotlin") + id("dokka-setup") id("org.jetbrains.kotlinx.kover") id("module-testing") } @@ -160,9 +159,7 @@ fun Module.setTaskDependencies(generatedDir: String) { } fun Module.configureGitHubPages() { - val docletVersion = project.version.toString() - updateGitHubPages(docletVersion) { - allowInternalJavadoc.set(true) + updateGitHubPages { rootFolder.set(rootDir) } } diff --git a/buildSrc/src/main/kotlin/kmp-publish.gradle.kts b/buildSrc/src/main/kotlin/kmp-publish.gradle.kts index 53b0a219f..e4c3aa1be 100644 --- a/buildSrc/src/main/kotlin/kmp-publish.gradle.kts +++ b/buildSrc/src/main/kotlin/kmp-publish.gradle.kts @@ -59,17 +59,17 @@ val about = "" plugins { `maven-publish` - id("dokka-for-kotlin") + id("dokka-setup") } publishing.publications { named("kotlinMultiplatform") { // Although, the "common artifact" can't be used independently // of target artifacts, it is published with documentation. - artifact(project.dokkaKotlinJar()) + artifact(project.htmlDocsJar()) } named("jvm") { // Includes Kotlin (JVM + common) and Java documentation. - artifact(project.dokkaKotlinJar()) + artifact(project.htmlDocsJar()) } } diff --git a/buildSrc/src/main/kotlin/module.gradle.kts b/buildSrc/src/main/kotlin/module.gradle.kts index 2078ae7c8..52ce0616b 100644 --- a/buildSrc/src/main/kotlin/module.gradle.kts +++ b/buildSrc/src/main/kotlin/module.gradle.kts @@ -48,8 +48,7 @@ plugins { id("module-testing") id("net.ltgt.errorprone") id("detekt-code-analysis") - id("dokka-for-java") - id("dokka-for-kotlin") + id("dokka-setup") jacoco } apply() diff --git a/buildSrc/src/main/kotlin/test-module.gradle.kts b/buildSrc/src/main/kotlin/test-module.gradle.kts index 23aa4a250..d64de094e 100644 --- a/buildSrc/src/main/kotlin/test-module.gradle.kts +++ b/buildSrc/src/main/kotlin/test-module.gradle.kts @@ -26,11 +26,14 @@ import io.spine.dependency.local.Base import io.spine.dependency.local.Validation +import io.spine.gradle.report.license.LicenseReporter plugins { java `java-test-fixtures` + id("module-testing") } +LicenseReporter.generateReportIn(project) dependencies { arrayOf( diff --git a/config b/config index 3b2520161..afc3fda98 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 3b25201619108ead402e4adaf15056378f8f4473 +Subproject commit afc3fda98e38c96c0c8ba59cb01c8c00457203a4 diff --git a/dependencies.md b/dependencies.md index f4cdc965c..318b79a5b 100644 --- a/dependencies.md +++ b/dependencies.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -86,15 +86,15 @@ * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -427,19 +427,19 @@ * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -468,6 +468,10 @@ * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -804,27 +808,31 @@ * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -936,10 +944,18 @@ * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1115,14 +1131,14 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. @@ -1325,19 +1341,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1358,6 +1374,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : dev.drewhamilton.poko. **Name** : poko-annotations. **Version** : 0.17.1. * **Project URL:** [https://github.com/drewhamilton/Poko](https://github.com/drewhamilton/Poko) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1658,27 +1678,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1790,10 +1814,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1969,14 +2001,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -2066,15 +2098,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -2407,19 +2439,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2448,6 +2480,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2784,27 +2820,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2916,10 +2956,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3095,14 +3143,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -3205,15 +3253,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -3582,19 +3630,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3623,6 +3671,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3959,27 +4011,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -4278,14 +4334,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -4371,15 +4427,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -4679,15 +4735,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -4707,6 +4763,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : dev.drewhamilton.poko. **Name** : poko-annotations. **Version** : 0.17.1. * **Project URL:** [https://github.com/drewhamilton/Poko](https://github.com/drewhamilton/Poko) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -4999,27 +5059,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -5147,10 +5211,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -5334,14 +5406,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -5427,15 +5499,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -5739,15 +5811,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -5767,6 +5839,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : dev.drewhamilton.poko. **Name** : poko-annotations. **Version** : 0.17.1. * **Project URL:** [https://github.com/drewhamilton/Poko](https://github.com/drewhamilton/Poko) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -6063,27 +6139,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -6239,10 +6319,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -6438,14 +6526,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:48 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -6540,15 +6628,15 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -6893,19 +6981,19 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -6934,6 +7022,10 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -7270,27 +7362,31 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -7402,10 +7498,18 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -7581,14 +7685,14 @@ This report was generated on **Wed Oct 29 23:47:48 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -7674,15 +7778,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -8015,19 +8119,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -8056,6 +8160,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -8384,27 +8492,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -8516,10 +8628,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -8695,14 +8815,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. @@ -8732,15 +8852,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -8940,15 +9060,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -8964,6 +9084,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using 1. **Group** : com.google.truth.extensions. **Name** : truth-proto-extension. **Version** : 1.4.4. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : dev.drewhamilton.poko. **Name** : poko-annotations. **Version** : 0.17.1. * **Project URL:** [https://github.com/drewhamilton/Poko](https://github.com/drewhamilton/Poko) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -9256,27 +9380,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -9388,10 +9516,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -9563,14 +9699,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -9660,15 +9796,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -10005,19 +10141,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -10046,6 +10182,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -10374,27 +10514,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -10506,10 +10650,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -10685,14 +10837,14 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.030` +# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.031` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -10797,15 +10949,15 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/google/j2objc/](https://github.com/google/j2objc/) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) @@ -11226,19 +11378,19 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.0. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 4.33.1. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -11267,6 +11419,10 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [http://www.github.com/sksamuel/aedile](http://www.github.com/sksamuel/aedile) * **License:** [The Apache 2.0 License](https://opensource.org/licenses/Apache-2.0) +1. **Group** : com.soywiz.korlibs.korte. **Name** : korte-jvm. **Version** : 4.0.10. + * **Project URL:** [https://github.com/korlibs/korge-next](https://github.com/korlibs/korge-next) + * **License:** [MIT](https://raw.githubusercontent.com/korlibs/korge-next/master/korge/LICENSE.txt) + 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -11603,27 +11759,31 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://github.com/JetBrains/markdown](https://github.com/JetBrains/markdown) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-descriptors. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-kotlin-symbols. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : analysis-markdown. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-base. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : dokka-core. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : javadoc-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.0.0. +1. **Group** : org.jetbrains.dokka. **Name** : kotlin-as-java-plugin. **Version** : 2.1.0. + * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) + * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.jetbrains.dokka. **Name** : templating-plugin. **Version** : 2.1.0. * **Project URL:** [https://github.com/Kotlin/dokka](https://github.com/Kotlin/dokka) * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -11735,10 +11895,18 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk7. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.0.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-stdlib-jdk8. **Version** : 2.2.21. + * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) + * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.jetbrains.kotlin. **Name** : kotlin-test. **Version** : 2.2.21. * **Project URL:** [https://kotlinlang.org/](https://kotlinlang.org/) * **License:** [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -11914,6 +12082,6 @@ This report was generated on **Wed Oct 29 23:47:36 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Oct 29 23:47:36 WET 2025** using +This report was generated on **Fri Nov 28 17:35:39 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt b/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt index 8c42abb71..cb10a4067 100644 --- a/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt +++ b/gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt @@ -96,6 +96,8 @@ class PluginSpec { "-XX:MaxMetaspaceSize=1512m", "-XX:+UseParallelGC", "-XX:+HeapDumpOnOutOfMemoryError" + ).withEnvironment( + mapOf("TEMPORARILY_DISABLE_PROTOBUF_VERSION_CHECK" to "true") ) } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8bdaf60c7..f8e1ee312 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e1113280..23449a2b5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index ab0e1c7eb..2fa0b7c0b 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,10 @@ #!/bin/sh +# Temporarily disable the runtime check of Protobuf version compatibility. +export TEMPORARILY_DISABLE_PROTOBUF_VERSION_CHECK=true + # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -64,9 +67,6 @@ # ############################################################################## -# Temporarily disable the runtime check of Protobuf version compatibility. -export TEMPORARILY_DISABLE_PROTOBUF_VERSION_CHECK=true - # Attempt to set APP_HOME # Resolve links: $0 may be a link @@ -117,7 +117,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -175,7 +174,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -215,7 +213,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index 619f695e8..c7f1ffa38 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -73,11 +73,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/ModifiedTypeAnnotation.kt b/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/ModifiedTypeAnnotation.kt index 8a94c6b5a..28567cd52 100644 --- a/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/ModifiedTypeAnnotation.kt +++ b/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/ModifiedTypeAnnotation.kt @@ -62,7 +62,7 @@ public open class ModifiedTypeAnnotation( protected val generator: String = CLI_APP_CLASS, /** - * Tells if the annotated code should have [Modified.date] parameter. + * Tells if the annotated code should have [Modified.timestamp] parameter. * If `true`, the value will be set to the moment at local time when * the annotation was generated. */ @@ -107,9 +107,9 @@ public open class ModifiedTypeAnnotation( } /** - * Generates the value of the [Modified.date] parameter using + * Generates the value of the [Modified.timestamp] parameter using * the current time with offset, as defined in the documentation for - * the [Modified.date] parameter. + * the [Modified.timestamp] parameter. */ private fun date(): String { return if (addTimestamp) { @@ -136,7 +136,7 @@ public open class ModifiedTypeAnnotation( /** * Obtains the representation of the current time with the offset, - * as defined in the documentation of [Modified.date] parameter. + * as defined in the documentation of [Modified.timestamp] parameter. * * The curren time is obtained via [Time.currentTime] so that tests can supply * custom [io.spine.base.Time.Provider]. diff --git a/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/TypeAnnotationPlugin.kt b/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/TypeAnnotationPlugin.kt index e615d4992..982630d22 100644 --- a/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/TypeAnnotationPlugin.kt +++ b/jvm/src/main/kotlin/io/spine/tools/compiler/jvm/annotation/TypeAnnotationPlugin.kt @@ -28,7 +28,7 @@ package io.spine.tools.compiler.jvm.annotation import io.spine.tools.compiler.jvm.file.PrintBeforePrimaryDeclaration import io.spine.tools.compiler.plugin.Plugin -import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.plugin.Reaction import io.spine.tools.compiler.plugin.View import io.spine.tools.compiler.plugin.ViewRepository @@ -42,7 +42,7 @@ public abstract class TypeAnnotationPlugin( renderers: Iterable>, views: Set>> = setOf(), viewRepositories: Set> = setOf(), - policies: Set> = setOf(), + policies: Set> = setOf(), ) : Plugin( listOf(PrintBeforePrimaryDeclaration()) + renderers, views, viewRepositories, policies diff --git a/params/src/main/kotlin/io/spine/tools/compiler/params/CommandLineInterface.kt b/params/src/main/kotlin/io/spine/tools/compiler/params/CommandLineInterface.kt index dd61cd0bd..db480a171 100644 --- a/params/src/main/kotlin/io/spine/tools/compiler/params/CommandLineInterface.kt +++ b/params/src/main/kotlin/io/spine/tools/compiler/params/CommandLineInterface.kt @@ -30,7 +30,7 @@ package io.spine.tools.compiler.params /** * The command-line parameter for specifying the name of the file which stores an instance of - * [PipelineParameters] in [PROTO_JSON][io.spine.tools.compiler.util.Format.PROTO_JSON] format. + * [PipelineParameters] in [ProtoJson][io.spine.format.Format.ProtoJson] format. */ public object ParametersFileParam : Parameter( name = "--params", diff --git a/pom.xml b/pom.xml index 9a114a3b6..8387bfcb7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ all modules and does not describe the project structure per-subproject. --> io.spine.tools spine-compiler -2.0.0-SNAPSHOT.030 +2.0.0-SNAPSHOT.031 2015 @@ -50,19 +50,19 @@ all modules and does not describe the project structure per-subproject. com.google.protobuf protobuf-java - 4.33.0 + 4.33.1 compile com.google.protobuf protobuf-java-util - 4.33.0 + 4.33.1 compile com.google.protobuf protobuf-kotlin - 4.33.0 + 4.33.1 compile @@ -98,13 +98,13 @@ all modules and does not describe the project structure per-subproject. io.spine spine-base - 2.0.0-SNAPSHOT.366 + 2.0.0-SNAPSHOT.380 compile io.spine spine-format - 2.0.0-SNAPSHOT.366 + 2.0.0-SNAPSHOT.380 compile @@ -128,7 +128,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-server - 2.0.0-SNAPSHOT.334 + 2.0.0-SNAPSHOT.356 compile @@ -176,7 +176,7 @@ all modules and does not describe the project structure per-subproject. io.spine.validation spine-validation-java-runtime - 2.0.0-SNAPSHOT.352 + 2.0.0-SNAPSHOT.354 compile @@ -248,7 +248,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-server-testlib - 2.0.0-SNAPSHOT.334 + 2.0.0-SNAPSHOT.356 test @@ -329,7 +329,7 @@ all modules and does not describe the project structure per-subproject. com.google.protobuf protoc - 4.33.0 + 4.33.1 dev.zacsweers.autoservice @@ -344,22 +344,22 @@ all modules and does not describe the project structure per-subproject. io.spine.tools compiler-cli-all - 2.0.0-SNAPSHOT.028 + 2.0.0-SNAPSHOT.030 io.spine.tools compiler-protoc-plugin - 2.0.0-SNAPSHOT.028 + 2.0.0-SNAPSHOT.030 io.spine.tools core-jvm-gradle-plugins - 2.0.0-SNAPSHOT.024 + 2.0.0-SNAPSHOT.029 io.spine.tools core-jvm-routing - 2.0.0-SNAPSHOT.024 + 2.0.0-SNAPSHOT.029 io.spine.tools @@ -374,7 +374,7 @@ all modules and does not describe the project structure per-subproject. io.spine.validation spine-validation-java-bundle - 2.0.0-SNAPSHOT.352 + 2.0.0-SNAPSHOT.354 org.jacoco @@ -389,32 +389,32 @@ all modules and does not describe the project structure per-subproject. org.jetbrains.dokka all-modules-page-plugin - 2.0.0 + 2.1.0 org.jetbrains.dokka - analysis-kotlin-descriptors - 2.0.0 + analysis-kotlin-symbols + 2.1.0 org.jetbrains.dokka dokka-base - 2.0.0 + 2.1.0 org.jetbrains.dokka dokka-core - 2.0.0 + 2.1.0 org.jetbrains.dokka - kotlin-as-java-plugin - 2.0.0 + javadoc-plugin + 2.1.0 org.jetbrains.dokka templating-plugin - 2.0.0 + 2.1.0 org.jetbrains.kotlin diff --git a/test-env/src/main/kotlin/io/spine/tools/compiler/test/DocilePlugin.kt b/test-env/src/main/kotlin/io/spine/tools/compiler/test/DocilePlugin.kt index 5d7f41e64..60f49a46a 100644 --- a/test-env/src/main/kotlin/io/spine/tools/compiler/test/DocilePlugin.kt +++ b/test-env/src/main/kotlin/io/spine/tools/compiler/test/DocilePlugin.kt @@ -27,7 +27,7 @@ package io.spine.tools.compiler.test import io.spine.tools.compiler.plugin.Plugin -import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.plugin.Reaction import io.spine.tools.compiler.plugin.View import io.spine.tools.compiler.plugin.ViewRepository import io.spine.tools.compiler.render.Renderer @@ -39,10 +39,10 @@ public class DocilePlugin( renderers: List> = listOf(), viewRepositories: Set> = setOf(), views: Set>> = setOf(), - policies: Set> = setOf() + policies: Set> = setOf() ) : Plugin( renderers = renderers, views = views, viewRepositories = viewRepositories, - policies = policies + reactions = policies ) diff --git a/testlib/src/main/kotlin/io/spine/testing/compiler/recorder/DeclarationViewState.kt b/testlib/src/main/kotlin/io/spine/testing/compiler/recorder/DeclarationViewState.kt index ade4487c3..6474a3371 100644 --- a/testlib/src/main/kotlin/io/spine/testing/compiler/recorder/DeclarationViewState.kt +++ b/testlib/src/main/kotlin/io/spine/testing/compiler/recorder/DeclarationViewState.kt @@ -26,12 +26,12 @@ package io.spine.testing.compiler.recorder -import io.spine.base.EntityState +import io.spine.base.ProjectionState /** * The interface common to view states collecting names of Protobuf declarations. */ -public interface DeclarationViewState : EntityState { +public interface DeclarationViewState : ProjectionState { public fun getNameList(): List } diff --git a/tests/compiler-extension/build.gradle.kts b/tests/compiler-extension/build.gradle.kts index b5bc3fc82..3fb020dfe 100644 --- a/tests/compiler-extension/build.gradle.kts +++ b/tests/compiler-extension/build.gradle.kts @@ -37,7 +37,8 @@ buildscript { } } dependencies { - classpath(io.spine.dependency.local.CoreJvmCompiler.pluginLib) + classpath(spineCompiler.pluginLib) + classpath(coreJvmCompiler.pluginLib) } } diff --git a/version.gradle.kts b/version.gradle.kts index ab1705f76..9a78209ac 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -30,7 +30,7 @@ * This version is also used by integration test projects. * E.g. see `tests/consumer/build.gradle.kts`. */ -val compilerVersion: String by extra("2.0.0-SNAPSHOT.030") +val compilerVersion: String by extra("2.0.0-SNAPSHOT.031") /** * The version, same as [compilerVersion], which is used for publishing