diff --git a/.github/workflows/detekt-analysis.yml b/.github/workflows/detekt-analysis.yml index f65f98dfb..0523e79fd 100644 --- a/.github/workflows/detekt-analysis.yml +++ b/.github/workflows/detekt-analysis.yml @@ -96,7 +96,7 @@ jobs: )" > ${{ github.workspace }}/detekt.sarif.json # Uploads results to GitHub repository using the upload-sarif action - - uses: github/codeql-action/upload-sarif@v1 + - uses: github/codeql-action/upload-sarif@v2 with: # Path to SARIF file relative to the root of the repository sarif_file: ${{ github.workspace }}/detekt.sarif.json diff --git a/build.gradle.kts b/build.gradle.kts index ed27a0b76..86d633e58 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,9 +26,13 @@ @file:Suppress("RemoveRedundantQualifierName") +import com.google.protobuf.gradle.protobuf +import com.google.protobuf.gradle.protoc import io.spine.internal.dependency.Dokka import io.spine.internal.dependency.ErrorProne import io.spine.internal.dependency.JUnit +import io.spine.internal.dependency.Protobuf +import io.spine.internal.dependency.Spine import io.spine.internal.dependency.Truth import io.spine.internal.gradle.RunBuild import io.spine.internal.gradle.applyGitHubPackages @@ -54,16 +58,13 @@ buildscript { apply(from = "$rootDir/version.gradle.kts") - val mcJavaVersion: String by extra - + val spine = io.spine.internal.dependency.Spine(project) dependencies { - classpath("io.spine.tools:spine-mc-java-plugins:${mcJavaVersion}:all") + classpath(spine.mcJavaPlugin) classpath(io.spine.internal.dependency.Protobuf.GradlePlugin.lib) } } -val devProtoDataVersion: String by extra - plugins { kotlin("jvm") val dokkaPlugin = io.spine.internal.dependency.Dokka.GradlePlugin @@ -90,8 +91,8 @@ spinePublishing { artifactPrefix = "protodata-" } -val coreVersion: String by extra -val baseVersion: String by extra +val spine = Spine(project) + allprojects { apply { from("$rootDir/version.gradle.kts") @@ -110,34 +111,47 @@ allprojects { resolutionStrategy { force( io.spine.internal.dependency.Grpc.protobufPlugin, - "io.spine:spine-base:$baseVersion", - "io.spine:spine-server:$coreVersion" + spine.base, + spine.server ) } } } +// Temporarily use this version, since 3.21.x is known to provide +// a broken `protoc-gen-js` artifact and Kotlin code without access modifiers. +// See https://github.com/protocolbuffers/protobuf-javascript/issues/127. +// https://github.com/protocolbuffers/protobuf/issues/10593 +val protocArtifact = "com.google.protobuf:protoc:3.19.6" + subprojects { apply { plugin("kotlin") plugin("net.ltgt.errorprone") plugin(Dokka.GradlePlugin.id) + plugin(Protobuf.GradlePlugin.id) } LicenseReporter.generateReportIn(project) - val coreVersion: String by extra - dependencies { ErrorProne.apply { errorprone(core) } - testImplementation("io.spine.tools:spine-testutil-server:$coreVersion") + testImplementation(spine.coreJava.testUtilServer) testImplementation(kotlin("test-junit5")) Truth.libs.forEach { testImplementation(it) } testRuntimeOnly(JUnit.runner) } + configurations.all { + resolutionStrategy { + force( + io.spine.internal.dependency.Protobuf.compiler, + ) + } + } + tasks.test { useJUnitPlatform() @@ -179,6 +193,20 @@ subprojects { dependsOn(dokkaJavadoc) } + protobuf { + protoc { + // Temporarily use this version, since 3.21.x is known to provide + // a broken `protoc-gen-js` artifact. + // See https://github.com/protocolbuffers/protobuf-javascript/issues/127. + // + // Once it is addressed, this artifact should be `Protobuf.compiler`. + // + // Also, this fixes the explicit API more for the generated Kotlin code. + // + artifact = protocArtifact + } + } + project.configureTaskDependencies() } diff --git a/buildSrc/src/main/kotlin/deps-between-tasks.kt b/buildSrc/src/main/kotlin/deps-between-tasks.kt index ecde6a55c..8c7a60684 100644 --- a/buildSrc/src/main/kotlin/deps-between-tasks.kt +++ b/buildSrc/src/main/kotlin/deps-between-tasks.kt @@ -59,8 +59,10 @@ fun Project.configureTaskDependencies() { afterEvaluate { "compileKotlin".dependOn("launchProtoDataMain") "compileTestKotlin".dependOn("launchProtoDataTest") + "sourcesJar".dependOn("generateProto") "sourcesJar".dependOn("launchProtoDataMain") "sourcesJar".dependOn("createVersionFile") + "dokkaHtml".dependOn("generateProto") "dokkaHtml".dependOn("launchProtoDataMain") "dokkaJavadoc".dependOn("launchProtoDataMain") "publishPluginJar".dependOn("createVersionFile") diff --git a/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt b/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt index 2b99099cd..1c92848f2 100644 --- a/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt +++ b/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt @@ -29,8 +29,7 @@ package io.spine.internal.dependency @Suppress("unused") object Jackson { const val version = "2.13.2" - // Use rc-1 to address https://github.com/SpineEventEngine/ProtoData/security/dependabot/6 - const val databindVersion = "2.14.0-rc1" + const val databindVersion = "2.13.2.2" // https://github.com/FasterXML/jackson-core const val core = "com.fasterxml.jackson.core:jackson-core:${version}" // https://github.com/FasterXML/jackson-databind diff --git a/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt b/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt new file mode 100644 index 000000000..5acee473b --- /dev/null +++ b/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt @@ -0,0 +1,217 @@ +/* + * Copyright 2022, 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 + * + * http://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.internal.dependency + +import org.gradle.api.plugins.ExtensionAware +import org.gradle.kotlin.dsl.extra + +/** + * Dependencies on Spine modules. + * + * @constructor + * Creates a new instance of `Spine` taking the property values + * of versions from the given project's extra properties. + */ +@Suppress("unused") +class Spine(p: ExtensionAware) { + + /** + * Default versions for the modules of Spine, unless they are + * configured in `versions.gradle.kts`. + */ + object DefaultVersion { + + /** + * The default version of `base` to use. + * @see [Spine.base] + */ + const val base = "2.0.0-SNAPSHOT.114" + + /** + * The default version of `core-java` to use. + * @see [Spine.CoreJava.client] + * @see [Spine.CoreJava.server] + */ + const val core = "2.0.0-SNAPSHOT.114" + + /** + * The version of `model-compiler` to use. + * @see [Spine.modelCompiler] + */ + const val mc = "2.0.0-SNAPSHOT.90" + + /** + * The version of `mc-java` to use. + */ + const val mcJava = "2.0.0-SNAPSHOT.102" + + /** + * The version of `base-types` to use. + * @see [Spine.baseTypes] + */ + const val baseTypes = "2.0.0-SNAPSHOT.110" + + /** + * The version of `time` to use. + * @see [Spine.time] + */ + const val time = "2.0.0-SNAPSHOT.109" + + /** + * The version of `tool-base` to use. + * @see [Spine.toolBase] + */ + const val toolBase = "2.0.0-SNAPSHOT.111" + + /** + * The version of `validation` to use. + * @see [Spine.validation] + */ + const val validation = "2.0.0-SNAPSHOT.32" + } + + companion object { + const val group = "io.spine" + const val toolsGroup = "io.spine.tools" + + /** + * The version of ProtoData to be used in the project. + * + * We do it here instead of `versions.gradle.kts` because we later use + * it in a `plugins` section in a build script. + * + * @see [ProtoData] + */ + const val protoDataVersion = "0.2.18" + } + + val base = "$group:spine-base:${p.baseVersion}" + val testlib = "$toolsGroup:spine-testlib:${p.baseVersion}" + + @Deprecated("Please use `validation.runtime`", replaceWith = ReplaceWith("validation.runtime")) + val validate = "$group:spine-validate:${p.baseVersion}" + + val baseTypes = "$group:spine-base-types:${p.baseTypesVersion}" + + val time = "$toolsGroup:spine-testlib:${p.timeVersion}" + + val toolBase = "$toolsGroup:spine-tool-base:${p.toolBaseVersion}" + val pluginBase = "$toolsGroup:spine-plugin-base:${p.toolBaseVersion}" + val pluginTestlib = "$toolsGroup:spine-plugin-testlib:${p.toolBaseVersion}" + + val modelCompiler = "$toolsGroup:spine-model-compiler:${p.mcVersion}" + + val mcJavaPlugin = "io.spine.tools:spine-mc-java-plugins:${p.mcJavaVersion}:all" + + val validation = Validation(p) + + val coreJava = CoreJava(p) + val client = coreJava.client // Added for brevity. + val server = coreJava.server // Added for brevity. + + private val ExtensionAware.baseVersion: String + get() = "baseVersion".asExtra(this, DefaultVersion.base) + + private val ExtensionAware.baseTypesVersion: String + get() = "baseTypesVersion".asExtra(this, DefaultVersion.baseTypes) + + private val ExtensionAware.timeVersion: String + get() = "timeVersion".asExtra(this, DefaultVersion.time) + + private val ExtensionAware.mcVersion: String + get() = "mcVersion".asExtra(this, DefaultVersion.mc) + + private val ExtensionAware.mcJavaVersion: String + get() = "mcJavaVersion".asExtra(this, DefaultVersion.mcJava) + + private val ExtensionAware.toolBaseVersion: String + get() = "toolBaseVersion".asExtra(this, DefaultVersion.toolBase) + + /** + * Dependencies on Spine validation modules. + * + * See [`SpineEventEngine/validation`](https://github.com/SpineEventEngine/validation/). + */ + class Validation(p: ExtensionAware) { + + companion object { + const val group = "io.spine.validation" + } + + val runtime = "$group:spine-validation-java-runtime:${p.validationVersion}" + val java = "$group:spine-validation-java:${p.validationVersion}" + val model = "$group:spine-validation-model:${p.validationVersion}" + val config = "$group:spine-validation-configuration:${p.validationVersion}" + + private val ExtensionAware.validationVersion: String + get() = "validationVersion".asExtra(this, DefaultVersion.validation) + } + + /** + * Dependencies on ProtoData modules. + * + * See [`SpineEventEngine/ProtoData`](https://github.com/SpineEventEngine/ProtoData/). + */ + object ProtoData { + + const val pluginId = "io.spine.protodata" + + const val version = protoDataVersion + const val pluginLib = "$group:protodata:$version" + } + + /** + * Dependencies on `core-java` modules. + * + * See [`SpineEventEngine/core-java`](https://github.com/SpineEventEngine/core-java/). + */ + class CoreJava(p: ExtensionAware) { + val core = "$group:spine-core:${p.coreVersion}" + val client = "$group:spine-client:${p.coreVersion}" + val server = "$group:spine-server:${p.coreVersion}" + val testUtilServer = "$toolsGroup:spine-testutil-server:${p.coreVersion}" + + private val ExtensionAware.coreVersion: String + get() = "coreVersion".asExtra(this, DefaultVersion.core) + } +} + +/** + * Obtains the value of the extension property named as this string from the given project. + * + * @param p the project declaring extension properties + * @param defaultValue + * the default value to return, if the project does not have such a property. + * If `null` then rely on the property declaration, even if this would cause an error. + */ +private fun String.asExtra(p: ExtensionAware, defaultValue: String? = null): String { + return if (p.extra.has(this) || defaultValue == null) { + p.extra[this] as String + } else { + defaultValue + } +} diff --git a/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt b/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt index 41272c9be..ca322032b 100644 --- a/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt +++ b/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt @@ -28,6 +28,8 @@ package io.spine.internal.gradle.protobuf import com.google.protobuf.gradle.GenerateProtoTask import java.io.File +import java.lang.System.lineSeparator +import org.gradle.api.Task import org.gradle.configurationcache.extensions.capitalized import org.gradle.kotlin.dsl.get @@ -37,13 +39,17 @@ import org.gradle.kotlin.dsl.get * * The task configuration consists of the following steps: * - * 1. Generation of descriptor set file is turned on for each source set. + * 1. Adding `"kotlin"` to the list of involved `protoc` plugins. + * + * 2. Generation of descriptor set file is turned on for each source set. * These files are placed under the `build/descriptors` directory. * - * 2. At the final steps of the code generation, the code belonging to - * the `com.google` package is removed. + * 3. Removing source code generated for `com.google` package for both Java and Kotlin. + * This is done at the final steps of the code generation. + * + * 4. Adding suppression of deprecation warnings in the generated Kotlin code. * - * 3. Make `processResource` tasks depend on corresponding `generateProto` tasks. + * 5. Making `processResource` tasks depend on corresponding `generateProto` tasks. * If the source set of the configured task isn't `main`, appropriate infix for * the task names is used. * @@ -75,6 +81,8 @@ import org.gradle.kotlin.dsl.get @Suppress("unused") fun GenerateProtoTask.setup(generatedDir: String) { + builtins.maybeCreate("kotlin") + /** * Generate descriptor set files. */ @@ -86,27 +94,10 @@ fun GenerateProtoTask.setup(generatedDir: String) { includeSourceInfo = true } - /** - * Remove the code generated for Google Protobuf library types. - * - * Java code for the `com.google` package was generated because we wanted - * to have descriptors for all the types, including those from Google Protobuf library. - * We want all the descriptors so that they are included into the resources used by - * the `io.spine.type.KnownTypes` class. - * - * Now, as we have the descriptors _and_ excessive Java code, we delete it to avoid - * classes that duplicate those coming from Protobuf library JARs. - */ doLast { - val comPackage = File("${generatedDir}/${ssn}/java/com") - val googlePackage = comPackage.resolve("google") - - project.delete(googlePackage) - - // We don't need an empty `com` package. - if (comPackage.exists() && comPackage.list()?.isEmpty() == true) { - project.delete(comPackage) - } + deleteComGoogle(generatedDir, ssn, "java") + deleteComGoogle(generatedDir, ssn, "kotlin") + suppressDeprecationsInKotlin(generatedDir, ssn) } /** @@ -121,10 +112,83 @@ fun GenerateProtoTask.setup(generatedDir: String) { project.tasks[processResources].dependsOn(this) } +/** + * Remove the code generated for Google Protobuf library types. + * + * Java code for the `com.google` package was generated because we wanted + * to have descriptors for all the types, including those from Google Protobuf library. + * We want all the descriptors so that they are included into the resources used by + * the `io.spine.type.KnownTypes` class. + * + * Now, as we have the descriptors _and_ excessive Java or Kotlin code, we delete it to avoid + * classes that duplicate those coming from Protobuf library JARs. + */ +private fun Task.deleteComGoogle(generatedDir: String, ssn: String, language: String) { + val comDirectory = File("${generatedDir}/${ssn}/$language/com") + val googlePackage = comDirectory.resolve("google") + project.delete(googlePackage) + + // If the `com` directory becomes empty, delete it too. + if (comDirectory.exists() && comDirectory.isDirectory && comDirectory.list()!!.isEmpty()) { + project.delete(comDirectory) + } +} + /** * Obtains the name of the task `processResource` task for the given source set name. */ -fun processResourceTaskName(sourceSetName: String): String { +private fun processResourceTaskName(sourceSetName: String): String { val infix = if (sourceSetName == "main") "" else sourceSetName.capitalized() return "process${infix}Resources" } + +/** + * Obtains the path to this source code file, starting from `buildSrc`. + */ +private object SourcePath { + + val value: String + get() { + val thisClass = SourcePath::class.java + val filePath = thisClass.`package`.name.replace('.', '/') + "/ProtoTaskExtensions.kt" + return "buildSrc/src/main/kotlin/$filePath" + } +} + +/** + * The comment added to the top of the Kotlin file generated by Protobuf. + */ +private val suppressionComment = "// Suppressed by `${SourcePath.value}`." + +/** + * The text of the suppression. + */ +private const val SUPPRESS_DEPRECATION = "@file:Suppress(\"DEPRECATION\")" + +/** + * This file adds [SUPPRESS_DEPRECATION] to the top of a Kotlin file generated + * by Protobuf compiler. + */ +fun suppressDeprecationsInKotlin(generatedDir: String, ssn: String) { + val kotlinDir = File("${generatedDir}/${ssn}/kotlin") + + kotlinDir.walk().iterator().forEachRemaining { + val file = it + if (!file.name.endsWith(".kt")) { + return@forEachRemaining + } + val lines = file.readLines() + if (lines.isEmpty()) { + return@forEachRemaining + } + if (lines[0] == suppressionComment) { + return@forEachRemaining + } + val withSuppression = mutableListOf() + withSuppression.add(suppressionComment) + withSuppression.add(SUPPRESS_DEPRECATION + lineSeparator()) + withSuppression.addAll(lines) + val text = withSuppression.joinToString(lineSeparator()) + file.writeText(text) + } +} diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index 8de22b6ed..3011c9152 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -26,6 +26,7 @@ import io.spine.internal.dependency.JUnit import io.spine.internal.dependency.Jackson +import io.spine.internal.dependency.Spine import io.spine.internal.gradle.publish.CheckVersionIncrement import io.spine.internal.gradle.publish.IncrementGuard import io.spine.internal.gradle.publish.PublishingRepos @@ -35,12 +36,10 @@ plugins { jacoco } -val coreVersion: String by extra -val toolBaseVersion: String by extra - +val spine = Spine(project) dependencies { - api("io.spine:spine-server:$coreVersion") - api("io.spine.tools:spine-tool-base:$toolBaseVersion") + api(spine.server) + api(spine.toolBase) with(Jackson) { api(databind) implementation(dataformatYaml) diff --git a/compiler/src/main/kotlin/io/spine/protodata/plugin/Plugin.kt b/compiler/src/main/kotlin/io/spine/protodata/plugin/Plugin.kt index 9aa2529b8..36d34355d 100644 --- a/compiler/src/main/kotlin/io/spine/protodata/plugin/Plugin.kt +++ b/compiler/src/main/kotlin/io/spine/protodata/plugin/Plugin.kt @@ -30,7 +30,7 @@ import io.spine.protodata.ConfigurationError import io.spine.server.BoundedContextBuilder /** - * An plugin into the code generation process. + * A plugin into the code generation process. * * ProtoData 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]. diff --git a/compiler/src/main/kotlin/io/spine/protodata/renderer/SourceFileSet.kt b/compiler/src/main/kotlin/io/spine/protodata/renderer/SourceFileSet.kt index 897f60e90..f775d6f67 100644 --- a/compiler/src/main/kotlin/io/spine/protodata/renderer/SourceFileSet.kt +++ b/compiler/src/main/kotlin/io/spine/protodata/renderer/SourceFileSet.kt @@ -51,7 +51,7 @@ internal constructor( * * Paths of the files must be either absolute or relative to this directory. */ - private val sourceRoot: Path, + public val sourceRoot: Path, /** * A directory where the source set should be placed after code generation. @@ -60,7 +60,7 @@ internal constructor( * * If different from the `sourceRoot`, the files in `sourceRoot` will not be changed. */ - private val targetRoot: Path + public val targetRoot: Path ) : Iterable by files { private val files: MutableMap @@ -121,13 +121,26 @@ internal constructor( } } + /** + * Returns `true` if this source set does not contain any files, `false` otherwise. + */ + public val isEmpty: Boolean = files.isEmpty() + + /** + * Obtains the number of files in this set. + */ + public val size: Int = files.size + /** * Looks up a file by its path and throws an `IllegalArgumentException` if not found. * * The [path] may be absolute or relative to the source root. */ public fun file(path: Path): SourceFile = - findFile(path).orElseThrow { IllegalArgumentException("File not found: `$path`.") } + findFile(path).orElseThrow { + IllegalArgumentException("File not found: `$path`." + + " Source root: `$sourceRoot`. Target root: `$targetRoot`.") + } /** * Looks up a file by its path. diff --git a/compiler/src/test/kotlin/io/spine/protodata/PipelineTest.kt b/compiler/src/test/kotlin/io/spine/protodata/PipelineTest.kt index dcf7de624..593e916f4 100644 --- a/compiler/src/test/kotlin/io/spine/protodata/PipelineTest.kt +++ b/compiler/src/test/kotlin/io/spine/protodata/PipelineTest.kt @@ -29,6 +29,7 @@ package io.spine.protodata import com.google.common.truth.Truth.assertThat import com.google.errorprone.annotations.CanIgnoreReturnValue import com.google.protobuf.compiler.PluginProtos.CodeGeneratorRequest +import com.google.protobuf.compiler.codeGeneratorRequest import io.spine.protodata.config.Configuration import io.spine.protodata.config.ConfigurationFormat.PLAIN import io.spine.protodata.renderer.SourceFileSet @@ -84,11 +85,11 @@ class `'Pipeline' should` { ${Journey::class.simpleName} worth taking """.trimIndent()) - val protoFile = DoctorProto.getDescriptor() - request = CodeGeneratorRequest.newBuilder() - .addProtoFile(protoFile.toProto()) - .addFileToGenerate(protoFile.name) - .build() + val descriptor = DoctorProto.getDescriptor() + request = codeGeneratorRequest { + protoFile += descriptor.toProto() + fileToGenerate += descriptor.name + } codegenRequestFile.writeBytes(request.toByteArray()) renderer = TestRenderer() } diff --git a/config b/config index 629d8d523..30a8d543c 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 629d8d523517e81d0d34d6201047b6c09ca8eac6 +Subproject commit 30a8d543c0f0cf5e08fc7f37580249a187677e91 diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts index 5fefada90..7b28fa116 100644 --- a/gradle-plugin/build.gradle.kts +++ b/gradle-plugin/build.gradle.kts @@ -100,3 +100,9 @@ val publishPlugins: Task by tasks.getting { val publish: Task by tasks.getting { dependsOn(publishPlugins) } + +/** + * Do it here because the call in `subprojects` does not have effect on the dependency + * of the `publishPluginJar` on `createVersionFile`. + */ +configureTaskDependencies() diff --git a/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Extension.kt b/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Extension.kt index 978e39b09..732fd273f 100644 --- a/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Extension.kt +++ b/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Extension.kt @@ -40,6 +40,16 @@ import org.gradle.api.tasks.SourceSet import org.gradle.kotlin.dsl.getPlugin import org.gradle.kotlin.dsl.listProperty +/** + * Default subdirectories under a generated source set. + */ +private val defaultSubdirectories = listOf("java", "kotlin") + +/** + * The default name of the output directory of ProtoData placed under the project root. + */ +private const val DEFAULT_TARGET_DIR = "generated" + /** * The `protoData { }` Gradle extension. */ @@ -111,7 +121,7 @@ public class Extension(internal val project: Project): CodegenSettings { } private val subDirProperty: ListProperty = - factory.listProperty().convention(listOf("java")) + factory.listProperty().convention(defaultSubdirectories) public override var targetBaseDir: Any get() = targetBaseDirProperty.get() @@ -119,7 +129,7 @@ public class Extension(internal val project: Project): CodegenSettings { private val targetBaseDirProperty: DirectoryProperty = with(project) { objects.directoryProperty().convention( - layout.projectDirectory.dir("generated") + layout.projectDirectory.dir(DEFAULT_TARGET_DIR) ) } diff --git a/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Plugin.kt b/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Plugin.kt index 4097ed661..7022b5579 100644 --- a/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Plugin.kt +++ b/gradle-plugin/src/main/kotlin/io/spine/protodata/gradle/plugin/Plugin.kt @@ -174,6 +174,24 @@ private fun Project.configureWithProtobufPlugin(extension: Extension, version: S } } +/** + * Verifies if the project has `java` plugin or `compileKotlin` or `compileTestKotlin` tasks. + * + * The current Protobuf support of Kotlin is based on Java codegen. Therefore, + * it's likely that Java would be enabled in the project for Kotlin proto + * code to be generated. Though, it may change someday and Kotlin support of Protobuf would be + * self-sufficient. This method assumes such case when it checks the presence of + * Kotlin compilation tasks. + */ +private fun Project.hasJavaOrKotlin(): Boolean { + if (pluginManager.hasPlugin("java")) { + return true + } + val compileKotlin = tasks.findByName("compileKotlin") + val compileTestKotlin = tasks.findByName("compileTestKotlin") + return compileKotlin != null || compileTestKotlin != null +} + private fun Project.configureProtobufPlugin(extension: Extension, version: String) = protobuf { plugins { @@ -182,16 +200,20 @@ private fun Project.configureProtobufPlugin(extension: Extension, version: Strin } } generateProtoTasks { - all().forEach { - it.plugins { + all().forEach { task -> + if (hasJavaOrKotlin()) { + task.builtins.maybeCreate("kotlin") + } + val sourceSet = task.sourceSet + task.plugins { id(PROTOC_PLUGIN) { - val requestFile = extension.requestFile(it.sourceSet) + val requestFile = extension.requestFile(sourceSet) val path = requestFile.get().asFile.absolutePath option(path.base64Encoded()) } } - val launchTask = LaunchTask.get(project, it.sourceSet) - launchTask.dependsOn(it /* GenerateProtoTask */) + val launchTask = LaunchTask.get(project, sourceSet) + launchTask.dependsOn(task) } } generatedFilesBaseDir = "$buildDir/generated-proto/" diff --git a/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/ExtensionTest.kt b/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/ExtensionTest.kt index 1688a8b5e..bfc4e7acc 100644 --- a/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/ExtensionTest.kt +++ b/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/ExtensionTest.kt @@ -105,7 +105,8 @@ class `Plugin extension should` { extension.srcBaseDir = basePath extension.subDirs = listOf(subDir) - val sourceDir = extension.sourceDir(project.sourceSets.getByName(MAIN_SOURCE_SET_NAME)) + val sourceSet = project.sourceSets.getByName(MAIN_SOURCE_SET_NAME) + val sourceDir = extension.sourceDir(sourceSet) assertThat(sourceDir.get().first().asFile.toPath()) .isEqualTo(project.projectDir.toPath() / basePath / MAIN_SOURCE_SET_NAME / subDir) } @@ -118,7 +119,8 @@ class `Plugin extension should` { extension.targetBaseDir = basePath extension.subDirs = listOf(subDir) - val targetDirs = extension.targetDir(project.sourceSets.getByName(MAIN_SOURCE_SET_NAME)) + val sourceSet = project.sourceSets.getByName(MAIN_SOURCE_SET_NAME) + val targetDirs = extension.targetDir(sourceSet) assertThat(targetDirs.get().first().asFile.toPath()) .isEqualTo(project.projectDir.toPath() / basePath / MAIN_SOURCE_SET_NAME / subDir) } @@ -136,20 +138,22 @@ class `Plugin extension should` { val absolutePath = transforming({ it.asFile.toPath() }, "absolute path") + val sourceMain = project.projectDir.toPath() / srcBasePath / MAIN_SOURCE_SET_NAME val sourceDirs = extension.sourceDir(project.sourceSets.getByName(MAIN_SOURCE_SET_NAME)) assertThat(sourceDirs.get()) .comparingElementsUsing(absolutePath) .containsExactly( - project.projectDir.toPath() / srcBasePath / MAIN_SOURCE_SET_NAME / firstSubDir, - project.projectDir.toPath() / srcBasePath / MAIN_SOURCE_SET_NAME / secondSubDir, + sourceMain / firstSubDir, + sourceMain / secondSubDir, ) + val targetMain = project.projectDir.toPath() / targetBasePath / MAIN_SOURCE_SET_NAME val targetDirs = extension.targetDir(project.sourceSets.getByName(MAIN_SOURCE_SET_NAME)) assertThat(targetDirs.get()) .comparingElementsUsing(absolutePath) .containsExactly( - project.projectDir.toPath() / targetBasePath / MAIN_SOURCE_SET_NAME / firstSubDir, - project.projectDir.toPath() / targetBasePath / MAIN_SOURCE_SET_NAME / secondSubDir, + targetMain / firstSubDir, + targetMain / secondSubDir, ) } } diff --git a/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/PluginTest.kt b/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/PluginTest.kt index e0ae10cb3..6c840073a 100644 --- a/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/PluginTest.kt +++ b/gradle-plugin/src/test/kotlin/io/spine/protodata/gradle/plugin/PluginTest.kt @@ -29,15 +29,18 @@ package io.spine.protodata.gradle.plugin import com.google.common.truth.Truth.assertThat import io.spine.protodata.gradle.Names.GRADLE_PLUGIN_ID import io.spine.testing.SlowTest +import io.spine.tools.gradle.task.BaseTaskName import io.spine.tools.gradle.task.TaskName import io.spine.tools.gradle.testing.GradleProject import java.io.File +import kotlin.test.assertTrue import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.TaskOutcome import org.gradle.testkit.runner.TaskOutcome.SKIPPED import org.gradle.testkit.runner.TaskOutcome.SUCCESS import org.gradle.testkit.runner.TaskOutcome.UP_TO_DATE import org.junit.jupiter.api.BeforeEach +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir @@ -48,10 +51,28 @@ class `ProtoData Gradle plugin should` { private lateinit var projectDir: File private lateinit var project: GradleProject + private lateinit var generatedJavaDir: File + private lateinit var generatedKotlinDir: File + + private fun assertExists(dir: File) { + assertTrue("`$dir` expected to exist, but it does not.") { dir.exists() } + } + + private fun assertDoesNotExist(dir: File) { + assertTrue("`$dir` should not exist, but it does.") { dir.exists() } + } + + operator fun BuildResult.get(task: TaskName): TaskOutcome { + val buildTask = task(task.path()) + val outcome = buildTask!!.outcome + return outcome + } @BeforeEach fun prepareDir(@TempDir projectDir: File) { this.projectDir = projectDir + this.generatedJavaDir = projectDir.resolve("generated/main/java") + this.generatedKotlinDir = projectDir.resolve("generated/main/kotlin") } @Test @@ -73,6 +94,25 @@ class `ProtoData Gradle plugin should` { launchAndExpectResult(UP_TO_DATE) } + @Test + fun `produce 'java' and 'kotlin' directories under 'generated'`() { + createProject("java-kotlin-test") + val build = BaseTaskName.build + val result = project.executeTask(build) + assertThat(result[build]).isEqualTo(SUCCESS) + assertExists(generatedJavaDir) + assertExists(generatedKotlinDir) + } + + @Test + @Disabled("https://github.com/SpineEventEngine/ProtoData/issues/88") + fun `add 'kotlin' built-in only' if 'java' plugin or Kotlin compile tasks are present`() { + createProject("android-library") // could be in native code + launchAndExpectResult(SUCCESS) + assertDoesNotExist(generatedJavaDir) + assertDoesNotExist(generatedKotlinDir) + } + private fun createEmptyProject() { createProject("empty-test") } @@ -83,8 +123,7 @@ class `ProtoData Gradle plugin should` { private fun launchAndExpectResult(outcome: TaskOutcome) { val result = launch() - assertThat(result.task(taskName.path())!!.outcome) - .isEqualTo(outcome) + assertThat(result[taskName]).isEqualTo(outcome) } private fun launch(): BuildResult = diff --git a/gradle-plugin/src/test/resources/android-library/build.gradle.kts b/gradle-plugin/src/test/resources/android-library/build.gradle.kts new file mode 100644 index 000000000..8b35d60a8 --- /dev/null +++ b/gradle-plugin/src/test/resources/android-library/build.gradle.kts @@ -0,0 +1,73 @@ +/* + * Copyright 2022, 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 + * + * http://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 com.google.protobuf.gradle.protobuf +import com.google.protobuf.gradle.protoc + +import org.gradle.api.artifacts.dsl.RepositoryHandler +import org.gradle.kotlin.dsl.apply + +buildscript { + io.spine.internal.gradle.doApplyStandard(repositories) +} + +plugins { + id("com.android.library") version "7.3.0" // Protobuf needs it to run. + id("com.google.protobuf") + id("@PROTODATA_PLUGIN_ID@") version "@PROTODATA_VERSION@" +} + +fun RepositoryHandler.addCouple(baseUrl: String) { + maven { url = uri("$baseUrl/releases") } + maven { url = uri("$baseUrl/snapshots") } +} + +repositories { + mavenLocal() + mavenCentral() + + addCouple("https://spine.mycloudrepo.io/public/repositories") + addCouple("https://europe-maven.pkg.dev/spine-event-engine") +} + +protoData { + renderers("io.spine.protodata.test.TestRenderer") + plugins("io.spine.protodata.test.TestPlugin") +} + +dependencies { + protoData("io.spine.protodata:protodata-test-env:+") +} + +protobuf { + protoc { + artifact = io.spine.internal.dependency.Protobuf.compiler + } +} + +android { + compileSdkVersion = "android-31" +} diff --git a/gradle-plugin/src/test/resources/android-library/settings.gradle.kts b/gradle-plugin/src/test/resources/android-library/settings.gradle.kts new file mode 100644 index 000000000..72720cf33 --- /dev/null +++ b/gradle-plugin/src/test/resources/android-library/settings.gradle.kts @@ -0,0 +1,33 @@ +/* + * Copyright 2022, 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 + * + * http://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. + */ + +pluginManagement { + repositories { + mavenLocal() + // For finding `com.android.library` plugin. + google() + } +} diff --git a/gradle-plugin/src/test/resources/android-library/src/main/proto/test.proto b/gradle-plugin/src/test/resources/android-library/src/main/proto/test.proto new file mode 100644 index 000000000..6a60feb41 --- /dev/null +++ b/gradle-plugin/src/test/resources/android-library/src/main/proto/test.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package spine.protodata.test; + +option java_package = "io.spine.protodata.test"; +option java_outer_classname = "TestProto"; +option java_multiple_files = true; + +// We need there to be at least some definitions. We don't care which ones for this test. + +message Test { +} diff --git a/gradle-plugin/src/test/resources/java-kotlin-test/build.gradle.kts b/gradle-plugin/src/test/resources/java-kotlin-test/build.gradle.kts new file mode 100644 index 000000000..079c7473a --- /dev/null +++ b/gradle-plugin/src/test/resources/java-kotlin-test/build.gradle.kts @@ -0,0 +1,70 @@ +/* + * Copyright 2022, 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 + * + * http://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 com.google.protobuf.gradle.protobuf +import com.google.protobuf.gradle.protoc +import io.spine.internal.dependency.Protobuf + +import org.gradle.api.artifacts.dsl.RepositoryHandler + +buildscript { + io.spine.internal.gradle.doApplyStandard(repositories) +} + +plugins { + java + id("com.google.protobuf") + id("@PROTODATA_PLUGIN_ID@") version "@PROTODATA_VERSION@" +} + +fun RepositoryHandler.addCouple(baseUrl: String) { + maven { url = uri("$baseUrl/releases") } + maven { url = uri("$baseUrl/snapshots") } +} + +repositories { + mavenLocal() + mavenCentral() + + addCouple("https://spine.mycloudrepo.io/public/repositories") + addCouple("https://europe-maven.pkg.dev/spine-event-engine") +} + +protoData { + renderers("io.spine.protodata.test.NoOpRenderer") + plugins("io.spine.protodata.test.TestPlugin") +} + +dependencies { + protoData("io.spine.protodata:protodata-test-env:+") + Protobuf.libs.forEach { implementation(it) } +} + +protobuf { + protoc { + artifact = io.spine.internal.dependency.Protobuf.compiler + } +} diff --git a/gradle-plugin/src/test/resources/java-kotlin-test/settings.gradle.kts b/gradle-plugin/src/test/resources/java-kotlin-test/settings.gradle.kts new file mode 100644 index 000000000..f5ecc1b72 --- /dev/null +++ b/gradle-plugin/src/test/resources/java-kotlin-test/settings.gradle.kts @@ -0,0 +1,31 @@ +/* + * Copyright 2022, 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 + * + * http://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. + */ + +pluginManagement { + repositories { + mavenLocal() + } +} diff --git a/gradle-plugin/src/test/resources/java-kotlin-test/src/main/proto/test.proto b/gradle-plugin/src/test/resources/java-kotlin-test/src/main/proto/test.proto new file mode 100644 index 000000000..6a60feb41 --- /dev/null +++ b/gradle-plugin/src/test/resources/java-kotlin-test/src/main/proto/test.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package spine.protodata.test; + +option java_package = "io.spine.protodata.test"; +option java_outer_classname = "TestProto"; +option java_multiple_files = true; + +// We need there to be at least some definitions. We don't care which ones for this test. + +message Test { +} diff --git a/license-report.md b/license-report.md index f70070dc9..2277a3bff 100644 --- a/license-report.md +++ b/license-report.md @@ -1,32 +1,32 @@ -# Dependencies of `io.spine.protodata:protodata-cli:0.2.18` +# Dependencies of `io.spine.protodata:protodata-cli:0.2.19` ## Runtime -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.github.ajalt.clikt. **Name** : clikt. **Version** : 3.2.0.**No license information found** 1. **Group** : com.github.ajalt.clikt. **Name** : clikt-jvm. **Version** : 3.2.0. @@ -41,6 +41,10 @@ * **Project URL:** [https://github.com/googleapis/java-iam/proto-google-common-protos](https://github.com/googleapis/java-iam/proto-google-common-protos) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.auto.value. **Name** : auto-value-annotations. **Version** : 1.8.1. + * **Project URL:** [https://github.com/google/auto/tree/master/value](https://github.com/google/auto/tree/master/value) + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -68,6 +72,9 @@ * **Project URL:** [https://github.com/google/guava](https://github.com/google/guava) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.guava. **Name** : guava-testlib. **Version** : 31.1-jre. + * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.guava. **Name** : listenablefuture. **Version** : 9999.0-empty-to-avoid-conflict-with-guava. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -86,6 +93,18 @@ 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-java8-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-liteproto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-proto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.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) @@ -118,17 +137,25 @@ * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : javax.annotation. **Name** : javax.annotation-api. **Version** : 1.3.2. * **Project URL:** [http://jcp.org/en/jsr/detail?id=250](http://jcp.org/en/jsr/detail?id=250) * **License:** [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) +1. **Group** : junit. **Name** : junit. **Version** : 4.13.2. + * **Project URL:** [http://junit.org](http://junit.org) + * **License:** [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) + +1. **Group** : org.apiguardian. **Name** : apiguardian-api. **Version** : 1.1.2. + * **Project URL:** [https://github.com/apiguardian-team/apiguardian](https://github.com/apiguardian-team/apiguardian) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.checkerframework. **Name** : checker-compat-qual. **Version** : 2.5.3. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. +1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -136,6 +163,9 @@ * **License:** [MIT license](http://www.opensource.org/licenses/mit-license.php) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.hamcrest. **Name** : hamcrest-core. **Version** : 1.3. + * **License:** [New BSD License](http://www.opensource.org/licenses/bsd-license.php) + 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. * **Project URL:** [http://www.jetbrains.org](http://www.jetbrains.org) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -160,50 +190,72 @@ * **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.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.junit. **Name** : junit-bom. **Version** : 5.8.2.**No license information found** +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-api. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-params. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.platform. **Name** : junit-platform-commons. **Version** : 1.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.opentest4j. **Name** : opentest4j. **Version** : 1.2.0. + * **Project URL:** [https://github.com/ota4j-team/opentest4j](https://github.com/ota4j-team/opentest4j) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.ow2.asm. **Name** : asm. **Version** : 9.1. + * **Project URL:** [http://asm.ow2.io/](http://asm.ow2.io/) + * **License:** [BSD-3-Clause](https://asm.ow2.io/license.html) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) ## Compile, tests, and tooling 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.12.7.**No license information found** -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-xml. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-jaxb-annotations. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-modules-base](https://github.com/FasterXML/jackson-modules-base) @@ -215,10 +267,10 @@ * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.woodstox. **Name** : woodstox-core. **Version** : 6.2.4. * **Project URL:** [https://github.com/FasterXML/woodstox](https://github.com/FasterXML/woodstox) @@ -362,9 +414,9 @@ 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. @@ -427,7 +479,7 @@ * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -472,10 +524,6 @@ * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. - * **Project URL:** [https://checkerframework.org](https://checkerframework.org) - * **License:** [The MIT License](http://opensource.org/licenses/MIT) - 1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -715,45 +763,45 @@ * **Project URL:** [https://github.com/hrldcpr/pcollections](https://github.com/hrldcpr/pcollections) * **License:** [The MIT License](https://opensource.org/licenses/mit-license.php) -1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:56 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:19 TRT 2022** 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.protodata:protodata-codegen-java:0.2.18` +# Dependencies of `io.spine.protodata:protodata-codegen-java:0.2.19` ## Runtime -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.android. **Name** : annotations. **Version** : 4.1.1.4. * **Project URL:** [http://source.android.com/](http://source.android.com/) @@ -763,6 +811,10 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/googleapis/java-iam/proto-google-common-protos](https://github.com/googleapis/java-iam/proto-google-common-protos) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.auto.value. **Name** : auto-value-annotations. **Version** : 1.8.1. + * **Project URL:** [https://github.com/google/auto/tree/master/value](https://github.com/google/auto/tree/master/value) + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -790,6 +842,9 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/google/guava](https://github.com/google/guava) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.guava. **Name** : guava-testlib. **Version** : 31.1-jre. + * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.guava. **Name** : listenablefuture. **Version** : 9999.0-empty-to-avoid-conflict-with-guava. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -808,6 +863,18 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-java8-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-liteproto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-proto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.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) @@ -840,17 +907,25 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : javax.annotation. **Name** : javax.annotation-api. **Version** : 1.3.2. * **Project URL:** [http://jcp.org/en/jsr/detail?id=250](http://jcp.org/en/jsr/detail?id=250) * **License:** [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) +1. **Group** : junit. **Name** : junit. **Version** : 4.13.2. + * **Project URL:** [http://junit.org](http://junit.org) + * **License:** [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) + +1. **Group** : org.apiguardian. **Name** : apiguardian-api. **Version** : 1.1.2. + * **Project URL:** [https://github.com/apiguardian-team/apiguardian](https://github.com/apiguardian-team/apiguardian) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.checkerframework. **Name** : checker-compat-qual. **Version** : 2.5.3. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. +1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -858,6 +933,9 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **License:** [MIT license](http://www.opensource.org/licenses/mit-license.php) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.hamcrest. **Name** : hamcrest-core. **Version** : 1.3. + * **License:** [New BSD License](http://www.opensource.org/licenses/bsd-license.php) + 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. * **Project URL:** [http://www.jetbrains.org](http://www.jetbrains.org) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -882,50 +960,72 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **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.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.junit. **Name** : junit-bom. **Version** : 5.8.2.**No license information found** +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-api. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-params. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.platform. **Name** : junit-platform-commons. **Version** : 1.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.opentest4j. **Name** : opentest4j. **Version** : 1.2.0. + * **Project URL:** [https://github.com/ota4j-team/opentest4j](https://github.com/ota4j-team/opentest4j) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.ow2.asm. **Name** : asm. **Version** : 9.1. + * **Project URL:** [http://asm.ow2.io/](http://asm.ow2.io/) + * **License:** [BSD-3-Clause](https://asm.ow2.io/license.html) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) ## Compile, tests, and tooling 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.12.7.**No license information found** -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-xml. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-jaxb-annotations. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-modules-base](https://github.com/FasterXML/jackson-modules-base) @@ -937,10 +1037,10 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.woodstox. **Name** : woodstox-core. **Version** : 6.2.4. * **Project URL:** [https://github.com/FasterXML/woodstox](https://github.com/FasterXML/woodstox) @@ -983,6 +1083,9 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.6. + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.9. * **Project URL:** [https://github.com/google/gson/gson](https://github.com/google/gson/gson) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1047,20 +1150,31 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. * **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** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. * **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** : 3.19.6. + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. @@ -1123,7 +1237,7 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -1163,10 +1277,6 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. - * **Project URL:** [https://checkerframework.org](https://checkerframework.org) - * **License:** [The MIT License](http://opensource.org/licenses/MIT) - 1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -1406,45 +1516,45 @@ This report was generated on **Mon Oct 10 18:55:56 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/hrldcpr/pcollections](https://github.com/hrldcpr/pcollections) * **License:** [The MIT License](https://opensource.org/licenses/mit-license.php) -1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:57 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:20 TRT 2022** 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.protodata:protodata-compiler:0.2.18` +# Dependencies of `io.spine.protodata:protodata-compiler:0.2.19` ## Runtime -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.android. **Name** : annotations. **Version** : 4.1.1.4. * **Project URL:** [http://source.android.com/](http://source.android.com/) @@ -1454,6 +1564,10 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/googleapis/java-iam/proto-google-common-protos](https://github.com/googleapis/java-iam/proto-google-common-protos) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.auto.value. **Name** : auto-value-annotations. **Version** : 1.8.1. + * **Project URL:** [https://github.com/google/auto/tree/master/value](https://github.com/google/auto/tree/master/value) + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1481,6 +1595,9 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/google/guava](https://github.com/google/guava) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.guava. **Name** : guava-testlib. **Version** : 31.1-jre. + * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.guava. **Name** : listenablefuture. **Version** : 9999.0-empty-to-avoid-conflict-with-guava. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1499,6 +1616,18 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-java8-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-liteproto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-proto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.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) @@ -1531,17 +1660,25 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : javax.annotation. **Name** : javax.annotation-api. **Version** : 1.3.2. * **Project URL:** [http://jcp.org/en/jsr/detail?id=250](http://jcp.org/en/jsr/detail?id=250) * **License:** [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) +1. **Group** : junit. **Name** : junit. **Version** : 4.13.2. + * **Project URL:** [http://junit.org](http://junit.org) + * **License:** [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) + +1. **Group** : org.apiguardian. **Name** : apiguardian-api. **Version** : 1.1.2. + * **Project URL:** [https://github.com/apiguardian-team/apiguardian](https://github.com/apiguardian-team/apiguardian) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.checkerframework. **Name** : checker-compat-qual. **Version** : 2.5.3. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. +1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -1549,6 +1686,9 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **License:** [MIT license](http://www.opensource.org/licenses/mit-license.php) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.hamcrest. **Name** : hamcrest-core. **Version** : 1.3. + * **License:** [New BSD License](http://www.opensource.org/licenses/bsd-license.php) + 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. * **Project URL:** [http://www.jetbrains.org](http://www.jetbrains.org) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1573,14 +1713,35 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **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.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.junit. **Name** : junit-bom. **Version** : 5.8.2.**No license information found** +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-api. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-params. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.platform. **Name** : junit-platform-commons. **Version** : 1.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.opentest4j. **Name** : opentest4j. **Version** : 1.2.0. + * **Project URL:** [https://github.com/ota4j-team/opentest4j](https://github.com/ota4j-team/opentest4j) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.ow2.asm. **Name** : asm. **Version** : 9.1. + * **Project URL:** [http://asm.ow2.io/](http://asm.ow2.io/) + * **License:** [BSD-3-Clause](https://asm.ow2.io/license.html) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) ## Compile, tests, and tooling 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.12.7.**No license information found** 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1589,10 +1750,6 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) - 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1603,11 +1760,6 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) - * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) - 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1618,20 +1770,20 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-xml. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-jaxb-annotations. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-modules-base](https://github.com/FasterXML/jackson-modules-base) @@ -1648,11 +1800,6 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) - * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) - 1. **Group** : com.fasterxml.woodstox. **Name** : woodstox-core. **Version** : 6.2.4. * **Project URL:** [https://github.com/FasterXML/woodstox](https://github.com/FasterXML/woodstox) * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1694,6 +1841,9 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.6. + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.9. * **Project URL:** [https://github.com/google/gson/gson](https://github.com/google/gson/gson) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -1758,20 +1908,31 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. * **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** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. * **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** : 3.19.6. + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. @@ -1834,7 +1995,7 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -1874,10 +2035,6 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. - * **Project URL:** [https://checkerframework.org](https://checkerframework.org) - * **License:** [The MIT License](http://opensource.org/licenses/MIT) - 1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -2129,19 +2286,19 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/hrldcpr/pcollections](https://github.com/hrldcpr/pcollections) * **License:** [The MIT License](https://opensource.org/licenses/mit-license.php) -1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:57 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:21 TRT 2022** 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.protodata:protodata-gradle-api:0.2.18` +# Dependencies of `io.spine.protodata:protodata-gradle-api:0.2.19` ## Runtime 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. @@ -2236,6 +2393,9 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.6. + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.9. * **Project URL:** [https://github.com/google/gson/gson](https://github.com/google/gson/gson) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2292,16 +2452,21 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. - * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.19.6. + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2351,7 +2516,7 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -2628,21 +2793,20 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:57 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:21 TRT 2022** 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.protodata:protodata-gradle-plugin:0.2.18` +# Dependencies of `io.spine.protodata:protodata-gradle-plugin:0.2.19` ## Runtime 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.9. - * **Project URL:** [https://github.com/google/gson/gson](https://github.com/google/gson/gson) - * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.6. + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.errorprone. **Name** : error_prone_annotations. **Version** : 2.11.0. * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2678,16 +2842,16 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/google/protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) * **License:** [BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. - * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.19.6. + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) 1. **Group** : com.squareup. **Name** : javapoet. **Version** : 1.13.0. * **Project URL:** [http://github.com/square/javapoet/](http://github.com/square/javapoet/) @@ -2697,6 +2861,7 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [http://commons.apache.org/lang/](http://commons.apache.org/lang/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : javax.annotation. **Name** : javax.annotation-api. **Version** : 1.3.2. * **Project URL:** [http://jcp.org/en/jsr/detail?id=250](http://jcp.org/en/jsr/detail?id=250) * **License:** [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) @@ -2810,6 +2975,9 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.6. + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.gson. **Name** : gson. **Version** : 2.8.9. * **Project URL:** [https://github.com/google/gson/gson](https://github.com/google/gson/gson) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2874,16 +3042,21 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. - * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.19.6. + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -2941,7 +3114,7 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -3226,12 +3399,12 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:57 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:21 TRT 2022** 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.protodata:protodata-protoc:0.2.18` +# Dependencies of `io.spine.protodata:protodata-protoc:0.2.19` ## Runtime 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. @@ -3437,23 +3610,17 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java. **Version** : 3.21.7. - * **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** : 3.19.6. * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-java-util. **Version** : 3.21.7. - * **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** : 3.19.6. * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. - * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. + * **Project URL:** [https://developers.google.com/protocol-buffers/](https://developers.google.com/protocol-buffers/) + * **License:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3503,7 +3670,7 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -3785,38 +3952,38 @@ This report was generated on **Mon Oct 10 18:55:57 TRT 2022** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:58 TRT 2022** 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). +This report was generated on **Tue Oct 18 17:24:22 TRT 2022** 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.protodata:protodata-test-env:0.2.18` +# Dependencies of `io.spine.protodata:protodata-test-env:0.2.19` ## Runtime -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.android. **Name** : annotations. **Version** : 4.1.1.4. * **Project URL:** [http://source.android.com/](http://source.android.com/) @@ -3826,6 +3993,10 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/googleapis/java-iam/proto-google-common-protos](https://github.com/googleapis/java-iam/proto-google-common-protos) * **License:** [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.auto.value. **Name** : auto-value-annotations. **Version** : 1.8.1. + * **Project URL:** [https://github.com/google/auto/tree/master/value](https://github.com/google/auto/tree/master/value) + * **License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. * **Project URL:** [http://findbugs.sourceforge.net/](http://findbugs.sourceforge.net/) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3853,6 +4024,9 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/google/guava](https://github.com/google/guava) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.google.guava. **Name** : guava-testlib. **Version** : 31.1-jre. + * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : com.google.guava. **Name** : listenablefuture. **Version** : 9999.0-empty-to-avoid-conflict-with-guava. * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3871,6 +4045,18 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) +1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-java8-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-liteproto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : com.google.truth.extensions. **Name** : truth-proto-extension. **Version** : 1.1.3. + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.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) @@ -3903,17 +4089,25 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : javax.annotation. **Name** : javax.annotation-api. **Version** : 1.3.2. * **Project URL:** [http://jcp.org/en/jsr/detail?id=250](http://jcp.org/en/jsr/detail?id=250) * **License:** [CDDL + GPLv2 with classpath exception](https://github.com/javaee/javax.annotation/blob/master/LICENSE) +1. **Group** : junit. **Name** : junit. **Version** : 4.13.2. + * **Project URL:** [http://junit.org](http://junit.org) + * **License:** [Eclipse Public License 1.0](http://www.eclipse.org/legal/epl-v10.html) + +1. **Group** : org.apiguardian. **Name** : apiguardian-api. **Version** : 1.1.2. + * **Project URL:** [https://github.com/apiguardian-team/apiguardian](https://github.com/apiguardian-team/apiguardian) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + 1. **Group** : org.checkerframework. **Name** : checker-compat-qual. **Version** : 2.5.3. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. +1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -3921,6 +4115,9 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **License:** [MIT license](http://www.opensource.org/licenses/mit-license.php) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : org.hamcrest. **Name** : hamcrest-core. **Version** : 1.3. + * **License:** [New BSD License](http://www.opensource.org/licenses/bsd-license.php) + 1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0. * **Project URL:** [http://www.jetbrains.org](http://www.jetbrains.org) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) @@ -3945,50 +4142,72 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **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.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.junit. **Name** : junit-bom. **Version** : 5.8.2.**No license information found** +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-api. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.jupiter. **Name** : junit-jupiter-params. **Version** : 5.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.junit.platform. **Name** : junit-platform-commons. **Version** : 1.8.2. + * **Project URL:** [https://junit.org/junit5/](https://junit.org/junit5/) + * **License:** [Eclipse Public License v2.0](https://www.eclipse.org/legal/epl-v20.html) + +1. **Group** : org.opentest4j. **Name** : opentest4j. **Version** : 1.2.0. + * **Project URL:** [https://github.com/ota4j-team/opentest4j](https://github.com/ota4j-team/opentest4j) + * **License:** [The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.ow2.asm. **Name** : asm. **Version** : 9.1. + * **Project URL:** [http://asm.ow2.io/](http://asm.ow2.io/) + * **License:** [BSD-3-Clause](https://asm.ow2.io/license.html) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) + +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) ## Compile, tests, and tooling 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.12.7.**No license information found** -1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.14.0-rc1.**No license information found** +1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.13.2.**No license information found** 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-annotations. **Version** : 2.13.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-core. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.12.7. * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.14.0-rc1. - * **Project URL:** [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson) +1. **Group** : com.fasterxml.jackson.core. **Name** : jackson-databind. **Version** : 2.13.2.2. + * **Project URL:** [http://github.com/FasterXML/jackson](http://github.com/FasterXML/jackson) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-xml. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.dataformat. **Name** : jackson-dataformat-yaml. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-jaxb-annotations. **Version** : 2.12.7. * **Project URL:** [https://github.com/FasterXML/jackson-modules-base](https://github.com/FasterXML/jackson-modules-base) @@ -4000,10 +4219,10 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) -1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.14.0-rc1. +1. **Group** : com.fasterxml.jackson.module. **Name** : jackson-module-kotlin. **Version** : 2.13.2. * **Project URL:** [https://github.com/FasterXML/jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) - * **License:** [The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) + * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.fasterxml.woodstox. **Name** : woodstox-core. **Version** : 6.2.4. * **Project URL:** [https://github.com/FasterXML/woodstox](https://github.com/FasterXML/woodstox) @@ -4142,9 +4361,9 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice 1. **Group** : com.google.protobuf. **Name** : protobuf-kotlin. **Version** : 3.21.7. * **License:** [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause) -1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.21.7. +1. **Group** : com.google.protobuf. **Name** : protoc. **Version** : 3.19.6. * **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:** [3-Clause BSD License](https://opensource.org/licenses/BSD-3-Clause) * **License:** [The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 1. **Group** : com.google.truth. **Name** : truth. **Version** : 1.1.3. @@ -4207,8 +4426,8 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/perfmark/perfmark](https://github.com/perfmark/perfmark) * **License:** [Apache 2.0](https://opensource.org/licenses/Apache-2.0) -1. **Group** : io.spine.validation. **Name** : spine-validation-java-extensions. **Version** : 2.0.0-SNAPSHOT.29.**No license information found** -1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.31.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-extensions. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** +1. **Group** : io.spine.validation. **Name** : spine-validation-java-runtime. **Version** : 2.0.0-SNAPSHOT.32.**No license information found** 1. **Group** : jakarta.activation. **Name** : jakarta.activation-api. **Version** : 1.2.1. * **Project URL:** [https://www.eclipse.org](https://www.eclipse.org) * **License:** [EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php) @@ -4253,10 +4472,6 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **License:** [GNU General Public License, version 2 (GPL2), with the classpath exception](http://www.gnu.org/software/classpath/license.html) * **License:** [The MIT License](http://opensource.org/licenses/MIT) -1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.12.0. - * **Project URL:** [https://checkerframework.org](https://checkerframework.org) - * **License:** [The MIT License](http://opensource.org/licenses/MIT) - 1. **Group** : org.checkerframework. **Name** : checker-qual. **Version** : 3.13.0. * **Project URL:** [https://checkerframework.org](https://checkerframework.org) * **License:** [The MIT License](http://opensource.org/licenses/MIT) @@ -4496,11 +4711,11 @@ This report was generated on **Mon Oct 10 18:55:58 TRT 2022** using [Gradle-Lice * **Project URL:** [https://github.com/hrldcpr/pcollections](https://github.com/hrldcpr/pcollections) * **License:** [The MIT License](https://opensource.org/licenses/mit-license.php) -1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.32. +1. **Group** : org.yaml. **Name** : snakeyaml. **Version** : 1.30. * **Project URL:** [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) * **License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon Oct 10 18:55:58 TRT 2022** 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 +This report was generated on **Tue Oct 18 17:24:22 TRT 2022** 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/pom.xml b/pom.xml index 37453f655..08b66c793 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ all modules and does not describe the project structure per-subproject. --> io.spine.protodata ProtoData -0.2.18 +0.2.19 2015 @@ -26,7 +26,7 @@ all modules and does not describe the project structure per-subproject. com.fasterxml.jackson.core jackson-databind - 2.14.0-rc1 + 2.13.2.2 compile @@ -92,19 +92,19 @@ all modules and does not describe the project structure per-subproject. io.spine spine-server - 2.0.0-SNAPSHOT.113 + 2.0.0-SNAPSHOT.116 compile io.spine.tools spine-tool-base - 2.0.0-SNAPSHOT.109 + 2.0.0-SNAPSHOT.111 compile io.spine.validation spine-validation-java-runtime - 2.0.0-SNAPSHOT.29 + 2.0.0-SNAPSHOT.32 compile @@ -152,19 +152,19 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-plugin-base - 2.0.0-SNAPSHOT.109 + 2.0.0-SNAPSHOT.111 test io.spine.tools spine-plugin-testlib - 2.0.0-SNAPSHOT.109 + 2.0.0-SNAPSHOT.111 test io.spine.tools spine-testutil-server - 2.0.0-SNAPSHOT.113 + 2.0.0-SNAPSHOT.116 test @@ -209,28 +209,28 @@ all modules and does not describe the project structure per-subproject. io.spine.protodata protodata-fat-cli - 0.2.16 + 0.2.18 io.spine.protodata protodata-protoc - 0.2.16 + 0.2.18 io.spine.tools spine-mc-java-checks - 2.0.0-SNAPSHOT.101 + 2.0.0-SNAPSHOT.102 provided io.spine.tools spine-mc-java-plugins - 2.0.0-SNAPSHOT.101 + 2.0.0-SNAPSHOT.102 io.spine.validation spine-validation-java-extensions - 2.0.0-SNAPSHOT.29 + 2.0.0-SNAPSHOT.32 org.jacoco diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 000000000..ac392dd3d --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1,45 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +.gradle +**/build/ +!src/**/build/ + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +.idea/*.xml +.idea/**/*.xml +.idea/**/*.iml +!.idea/codeStyles +!.idea/inspectionProfiles +!.idea/copyright + +**/generated + +tests/in-place-consumer/proto-gen/** +tests/_out/** diff --git a/tests/.idea/.gitignore b/tests/.idea/.gitignore new file mode 100644 index 000000000..13566b81b --- /dev/null +++ b/tests/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/tests/build.gradle.kts b/tests/build.gradle.kts index 9252a00d2..04ef42039 100644 --- a/tests/build.gradle.kts +++ b/tests/build.gradle.kts @@ -54,11 +54,20 @@ subprojects { repositories.applyStandard() repositories.applyGitHubPackages("base-types", rootProject) - configurations.all { - resolutionStrategy { - force( - io.spine.internal.dependency.Grpc.protobufPlugin - ) + val protoDataVersion: String by extra + val spine = io.spine.internal.dependency.Spine(project) + configurations { + forceVersions() + all { + resolutionStrategy { + force( + io.spine.internal.dependency.Grpc.protobufPlugin, + spine.base, + spine.validation.runtime, + "io.spine.protodata:compiler:$protoDataVersion", + "io.spine.protodata:codegen-java:$protoDataVersion" + ) + } } } diff --git a/tests/buildSrc/src/main/kotlin/deps-between-tasks.kt b/tests/buildSrc/src/main/kotlin/deps-between-tasks.kt index ecde6a55c..8c7a60684 100644 --- a/tests/buildSrc/src/main/kotlin/deps-between-tasks.kt +++ b/tests/buildSrc/src/main/kotlin/deps-between-tasks.kt @@ -59,8 +59,10 @@ fun Project.configureTaskDependencies() { afterEvaluate { "compileKotlin".dependOn("launchProtoDataMain") "compileTestKotlin".dependOn("launchProtoDataTest") + "sourcesJar".dependOn("generateProto") "sourcesJar".dependOn("launchProtoDataMain") "sourcesJar".dependOn("createVersionFile") + "dokkaHtml".dependOn("generateProto") "dokkaHtml".dependOn("launchProtoDataMain") "dokkaJavadoc".dependOn("launchProtoDataMain") "publishPluginJar".dependOn("createVersionFile") diff --git a/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt b/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt index 2b99099cd..1c92848f2 100644 --- a/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt +++ b/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Jackson.kt @@ -29,8 +29,7 @@ package io.spine.internal.dependency @Suppress("unused") object Jackson { const val version = "2.13.2" - // Use rc-1 to address https://github.com/SpineEventEngine/ProtoData/security/dependabot/6 - const val databindVersion = "2.14.0-rc1" + const val databindVersion = "2.13.2.2" // https://github.com/FasterXML/jackson-core const val core = "com.fasterxml.jackson.core:jackson-core:${version}" // https://github.com/FasterXML/jackson-databind diff --git a/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt b/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt new file mode 100644 index 000000000..5acee473b --- /dev/null +++ b/tests/buildSrc/src/main/kotlin/io/spine/internal/dependency/Spine.kt @@ -0,0 +1,217 @@ +/* + * Copyright 2022, 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 + * + * http://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.internal.dependency + +import org.gradle.api.plugins.ExtensionAware +import org.gradle.kotlin.dsl.extra + +/** + * Dependencies on Spine modules. + * + * @constructor + * Creates a new instance of `Spine` taking the property values + * of versions from the given project's extra properties. + */ +@Suppress("unused") +class Spine(p: ExtensionAware) { + + /** + * Default versions for the modules of Spine, unless they are + * configured in `versions.gradle.kts`. + */ + object DefaultVersion { + + /** + * The default version of `base` to use. + * @see [Spine.base] + */ + const val base = "2.0.0-SNAPSHOT.114" + + /** + * The default version of `core-java` to use. + * @see [Spine.CoreJava.client] + * @see [Spine.CoreJava.server] + */ + const val core = "2.0.0-SNAPSHOT.114" + + /** + * The version of `model-compiler` to use. + * @see [Spine.modelCompiler] + */ + const val mc = "2.0.0-SNAPSHOT.90" + + /** + * The version of `mc-java` to use. + */ + const val mcJava = "2.0.0-SNAPSHOT.102" + + /** + * The version of `base-types` to use. + * @see [Spine.baseTypes] + */ + const val baseTypes = "2.0.0-SNAPSHOT.110" + + /** + * The version of `time` to use. + * @see [Spine.time] + */ + const val time = "2.0.0-SNAPSHOT.109" + + /** + * The version of `tool-base` to use. + * @see [Spine.toolBase] + */ + const val toolBase = "2.0.0-SNAPSHOT.111" + + /** + * The version of `validation` to use. + * @see [Spine.validation] + */ + const val validation = "2.0.0-SNAPSHOT.32" + } + + companion object { + const val group = "io.spine" + const val toolsGroup = "io.spine.tools" + + /** + * The version of ProtoData to be used in the project. + * + * We do it here instead of `versions.gradle.kts` because we later use + * it in a `plugins` section in a build script. + * + * @see [ProtoData] + */ + const val protoDataVersion = "0.2.18" + } + + val base = "$group:spine-base:${p.baseVersion}" + val testlib = "$toolsGroup:spine-testlib:${p.baseVersion}" + + @Deprecated("Please use `validation.runtime`", replaceWith = ReplaceWith("validation.runtime")) + val validate = "$group:spine-validate:${p.baseVersion}" + + val baseTypes = "$group:spine-base-types:${p.baseTypesVersion}" + + val time = "$toolsGroup:spine-testlib:${p.timeVersion}" + + val toolBase = "$toolsGroup:spine-tool-base:${p.toolBaseVersion}" + val pluginBase = "$toolsGroup:spine-plugin-base:${p.toolBaseVersion}" + val pluginTestlib = "$toolsGroup:spine-plugin-testlib:${p.toolBaseVersion}" + + val modelCompiler = "$toolsGroup:spine-model-compiler:${p.mcVersion}" + + val mcJavaPlugin = "io.spine.tools:spine-mc-java-plugins:${p.mcJavaVersion}:all" + + val validation = Validation(p) + + val coreJava = CoreJava(p) + val client = coreJava.client // Added for brevity. + val server = coreJava.server // Added for brevity. + + private val ExtensionAware.baseVersion: String + get() = "baseVersion".asExtra(this, DefaultVersion.base) + + private val ExtensionAware.baseTypesVersion: String + get() = "baseTypesVersion".asExtra(this, DefaultVersion.baseTypes) + + private val ExtensionAware.timeVersion: String + get() = "timeVersion".asExtra(this, DefaultVersion.time) + + private val ExtensionAware.mcVersion: String + get() = "mcVersion".asExtra(this, DefaultVersion.mc) + + private val ExtensionAware.mcJavaVersion: String + get() = "mcJavaVersion".asExtra(this, DefaultVersion.mcJava) + + private val ExtensionAware.toolBaseVersion: String + get() = "toolBaseVersion".asExtra(this, DefaultVersion.toolBase) + + /** + * Dependencies on Spine validation modules. + * + * See [`SpineEventEngine/validation`](https://github.com/SpineEventEngine/validation/). + */ + class Validation(p: ExtensionAware) { + + companion object { + const val group = "io.spine.validation" + } + + val runtime = "$group:spine-validation-java-runtime:${p.validationVersion}" + val java = "$group:spine-validation-java:${p.validationVersion}" + val model = "$group:spine-validation-model:${p.validationVersion}" + val config = "$group:spine-validation-configuration:${p.validationVersion}" + + private val ExtensionAware.validationVersion: String + get() = "validationVersion".asExtra(this, DefaultVersion.validation) + } + + /** + * Dependencies on ProtoData modules. + * + * See [`SpineEventEngine/ProtoData`](https://github.com/SpineEventEngine/ProtoData/). + */ + object ProtoData { + + const val pluginId = "io.spine.protodata" + + const val version = protoDataVersion + const val pluginLib = "$group:protodata:$version" + } + + /** + * Dependencies on `core-java` modules. + * + * See [`SpineEventEngine/core-java`](https://github.com/SpineEventEngine/core-java/). + */ + class CoreJava(p: ExtensionAware) { + val core = "$group:spine-core:${p.coreVersion}" + val client = "$group:spine-client:${p.coreVersion}" + val server = "$group:spine-server:${p.coreVersion}" + val testUtilServer = "$toolsGroup:spine-testutil-server:${p.coreVersion}" + + private val ExtensionAware.coreVersion: String + get() = "coreVersion".asExtra(this, DefaultVersion.core) + } +} + +/** + * Obtains the value of the extension property named as this string from the given project. + * + * @param p the project declaring extension properties + * @param defaultValue + * the default value to return, if the project does not have such a property. + * If `null` then rely on the property declaration, even if this would cause an error. + */ +private fun String.asExtra(p: ExtensionAware, defaultValue: String? = null): String { + return if (p.extra.has(this) || defaultValue == null) { + p.extra[this] as String + } else { + defaultValue + } +} diff --git a/tests/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt b/tests/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt index 41272c9be..ca322032b 100644 --- a/tests/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt +++ b/tests/buildSrc/src/main/kotlin/io/spine/internal/gradle/protobuf/ProtoTaskExtensions.kt @@ -28,6 +28,8 @@ package io.spine.internal.gradle.protobuf import com.google.protobuf.gradle.GenerateProtoTask import java.io.File +import java.lang.System.lineSeparator +import org.gradle.api.Task import org.gradle.configurationcache.extensions.capitalized import org.gradle.kotlin.dsl.get @@ -37,13 +39,17 @@ import org.gradle.kotlin.dsl.get * * The task configuration consists of the following steps: * - * 1. Generation of descriptor set file is turned on for each source set. + * 1. Adding `"kotlin"` to the list of involved `protoc` plugins. + * + * 2. Generation of descriptor set file is turned on for each source set. * These files are placed under the `build/descriptors` directory. * - * 2. At the final steps of the code generation, the code belonging to - * the `com.google` package is removed. + * 3. Removing source code generated for `com.google` package for both Java and Kotlin. + * This is done at the final steps of the code generation. + * + * 4. Adding suppression of deprecation warnings in the generated Kotlin code. * - * 3. Make `processResource` tasks depend on corresponding `generateProto` tasks. + * 5. Making `processResource` tasks depend on corresponding `generateProto` tasks. * If the source set of the configured task isn't `main`, appropriate infix for * the task names is used. * @@ -75,6 +81,8 @@ import org.gradle.kotlin.dsl.get @Suppress("unused") fun GenerateProtoTask.setup(generatedDir: String) { + builtins.maybeCreate("kotlin") + /** * Generate descriptor set files. */ @@ -86,27 +94,10 @@ fun GenerateProtoTask.setup(generatedDir: String) { includeSourceInfo = true } - /** - * Remove the code generated for Google Protobuf library types. - * - * Java code for the `com.google` package was generated because we wanted - * to have descriptors for all the types, including those from Google Protobuf library. - * We want all the descriptors so that they are included into the resources used by - * the `io.spine.type.KnownTypes` class. - * - * Now, as we have the descriptors _and_ excessive Java code, we delete it to avoid - * classes that duplicate those coming from Protobuf library JARs. - */ doLast { - val comPackage = File("${generatedDir}/${ssn}/java/com") - val googlePackage = comPackage.resolve("google") - - project.delete(googlePackage) - - // We don't need an empty `com` package. - if (comPackage.exists() && comPackage.list()?.isEmpty() == true) { - project.delete(comPackage) - } + deleteComGoogle(generatedDir, ssn, "java") + deleteComGoogle(generatedDir, ssn, "kotlin") + suppressDeprecationsInKotlin(generatedDir, ssn) } /** @@ -121,10 +112,83 @@ fun GenerateProtoTask.setup(generatedDir: String) { project.tasks[processResources].dependsOn(this) } +/** + * Remove the code generated for Google Protobuf library types. + * + * Java code for the `com.google` package was generated because we wanted + * to have descriptors for all the types, including those from Google Protobuf library. + * We want all the descriptors so that they are included into the resources used by + * the `io.spine.type.KnownTypes` class. + * + * Now, as we have the descriptors _and_ excessive Java or Kotlin code, we delete it to avoid + * classes that duplicate those coming from Protobuf library JARs. + */ +private fun Task.deleteComGoogle(generatedDir: String, ssn: String, language: String) { + val comDirectory = File("${generatedDir}/${ssn}/$language/com") + val googlePackage = comDirectory.resolve("google") + project.delete(googlePackage) + + // If the `com` directory becomes empty, delete it too. + if (comDirectory.exists() && comDirectory.isDirectory && comDirectory.list()!!.isEmpty()) { + project.delete(comDirectory) + } +} + /** * Obtains the name of the task `processResource` task for the given source set name. */ -fun processResourceTaskName(sourceSetName: String): String { +private fun processResourceTaskName(sourceSetName: String): String { val infix = if (sourceSetName == "main") "" else sourceSetName.capitalized() return "process${infix}Resources" } + +/** + * Obtains the path to this source code file, starting from `buildSrc`. + */ +private object SourcePath { + + val value: String + get() { + val thisClass = SourcePath::class.java + val filePath = thisClass.`package`.name.replace('.', '/') + "/ProtoTaskExtensions.kt" + return "buildSrc/src/main/kotlin/$filePath" + } +} + +/** + * The comment added to the top of the Kotlin file generated by Protobuf. + */ +private val suppressionComment = "// Suppressed by `${SourcePath.value}`." + +/** + * The text of the suppression. + */ +private const val SUPPRESS_DEPRECATION = "@file:Suppress(\"DEPRECATION\")" + +/** + * This file adds [SUPPRESS_DEPRECATION] to the top of a Kotlin file generated + * by Protobuf compiler. + */ +fun suppressDeprecationsInKotlin(generatedDir: String, ssn: String) { + val kotlinDir = File("${generatedDir}/${ssn}/kotlin") + + kotlinDir.walk().iterator().forEachRemaining { + val file = it + if (!file.name.endsWith(".kt")) { + return@forEachRemaining + } + val lines = file.readLines() + if (lines.isEmpty()) { + return@forEachRemaining + } + if (lines[0] == suppressionComment) { + return@forEachRemaining + } + val withSuppression = mutableListOf() + withSuppression.add(suppressionComment) + withSuppression.add(SUPPRESS_DEPRECATION + lineSeparator()) + withSuppression.addAll(lines) + val text = withSuppression.joinToString(lineSeparator()) + file.writeText(text) + } +} diff --git a/tests/protodata-extension/src/main/java/io/spine/protodata/test/annotation/AnnotationRenderer.java b/tests/protodata-extension/src/main/java/io/spine/protodata/test/annotation/AnnotationRenderer.java index 7dd88b053..adbc6bbf6 100644 --- a/tests/protodata-extension/src/main/java/io/spine/protodata/test/annotation/AnnotationRenderer.java +++ b/tests/protodata-extension/src/main/java/io/spine/protodata/test/annotation/AnnotationRenderer.java @@ -45,6 +45,16 @@ public final class AnnotationRenderer extends JavaRenderer { @Override protected void render(SourceFileSet sources) { + //TODO:2022-10-18:alexander.yevsyukov: Use `sourceRoot` when it's public and + // remove `findFile()` check in the `renderFor()` method below. + // + // if (!sources.sourceRoot.endsWith("java")) { + // return; + // } + // + // For the root cause of this please see this issue: + // https://github.com/SpineEventEngine/ProtoData/issues/90 + // Set annotatedFields = select(Annotated.class).all(); annotatedFields.forEach( field -> renderFor(field, sources) @@ -55,6 +65,13 @@ private void renderFor(Annotated field, SourceFileSet sourceSet) { FieldId id = field.getId(); FieldGetter getter = new FieldGetter(id); Path path = javaFileOf(id.getType(), id.getFile()); + + // If there are no Java files, we deal with another language. + // Have this workaround until we get access to the `sourceRoot` property. + if (sourceSet.findFile(path).isEmpty()) { + return; + } + sourceSet.file(path) .at(getter) .withExtraIndentation(INDENT_LEVEL) diff --git a/tests/protodata-extension/src/main/java/io/spine/protodata/test/uuid/UuidJavaRenderer.java b/tests/protodata-extension/src/main/java/io/spine/protodata/test/uuid/UuidJavaRenderer.java index f226c6571..eb6ca9b46 100644 --- a/tests/protodata-extension/src/main/java/io/spine/protodata/test/uuid/UuidJavaRenderer.java +++ b/tests/protodata-extension/src/main/java/io/spine/protodata/test/uuid/UuidJavaRenderer.java @@ -78,6 +78,13 @@ protected void render(SourceFileSet sources) { InsertionPoint classScope = new ClassScope(typeName); ImmutableList lines = METHOD_FORMAT.format(className, UUID.class.getName()); Path javaFilePath = javaFileOf(typeName, file); + + // If there are no Java files, we deal with another language. + // Have this workaround until we get access to the `sourceRoot` property. + if (sources.findFile(javaFilePath).isEmpty()) { + continue; + } + sources.file(javaFilePath) .at(classScope) .withExtraIndentation(INDENT_LEVEL) diff --git a/version.gradle.kts b/version.gradle.kts index 7b8c25e3a..1f504b518 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -24,14 +24,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -val baseVersion: String by extra("2.0.0-SNAPSHOT.112") -val coreVersion: String by extra("2.0.0-SNAPSHOT.113") -val toolBaseVersion: String by extra("2.0.0-SNAPSHOT.109") +val baseVersion: String by extra("2.0.0-SNAPSHOT.114") +val coreVersion: String by extra("2.0.0-SNAPSHOT.116") +val toolBaseVersion: String by extra("2.0.0-SNAPSHOT.111") val mcVersion: String by extra("2.0.0-SNAPSHOT.90") -val mcJavaVersion: String by extra("2.0.0-SNAPSHOT.101") - -/** The version of ProtoData used for developing [protoDataVersion]. */ -val devProtoDataVersion: String by extra("0.2.16") +val mcJavaVersion: String by extra("2.0.0-SNAPSHOT.102") // The version of ProtoData being developed. -val protoDataVersion: String by extra("0.2.18") +val protoDataVersion: String by extra("0.2.19")