From 6f50c95ee5142447bc41ac0aee270bf7e53edd6d Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 13:36:10 +0300 Subject: [PATCH 01/43] Copy `buildSrc` into included build roots --- .../buildSrc/build.gradle.kts | 28 ++ .../io/spine/gradle/internal/RunBuild.kt | 90 +++++ .../kotlin/io/spine/gradle/internal/deps.kt | 345 ++++++++++++++++++ license-report.md | 30 +- pull | 9 + tools/smoke-tests/buildSrc/build.gradle.kts | 28 ++ .../io/spine/gradle/internal/RunBuild.kt | 90 +++++ .../kotlin/io/spine/gradle/internal/deps.kt | 345 ++++++++++++++++++ 8 files changed, 950 insertions(+), 15 deletions(-) create mode 100644 base-validating-builders/buildSrc/build.gradle.kts create mode 100644 base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt create mode 100644 base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt create mode 100755 pull create mode 100644 tools/smoke-tests/buildSrc/build.gradle.kts create mode 100644 tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt create mode 100644 tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt diff --git a/base-validating-builders/buildSrc/build.gradle.kts b/base-validating-builders/buildSrc/build.gradle.kts new file mode 100644 index 0000000000..bdfd32a6d6 --- /dev/null +++ b/base-validating-builders/buildSrc/build.gradle.kts @@ -0,0 +1,28 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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. + */ + +plugins { + kotlin("jvm").version("1.3.72") +} + +repositories { + mavenLocal() + jcenter() +} diff --git a/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt new file mode 100644 index 0000000000..c083ad952a --- /dev/null +++ b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt @@ -0,0 +1,90 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.GradleException +import org.gradle.api.internal.AbstractTask +import org.gradle.api.tasks.TaskAction +import org.gradle.internal.os.OperatingSystem +import java.io.File + +/** + * A Gradle task which runs another Gradle build. + * + * Launches Gradle wrapper under a given [directory] with the `build` task. The `clean` task is also + * run if current build includes a `clean` task. + * + * The build writes verbose log into `$directory/build/debug-out.txt`. The error output is written + * into `$directory/build/error-out.txt`. + */ +open class RunBuild : AbstractTask() { + + /** + * Path to the directory which contains a Gradle wrapper script. + */ + lateinit var directory: String + + @TaskAction + private fun execute() { + val runsOnWindows = OperatingSystem.current().isWindows() + val script = if (runsOnWindows) "gradlew.bat" else "gradlew" + val command = buildCommand(script) + + // Ensure build error output log. + // Since we're executing this task in another process, we redirect error output to + // the file under the `build` directory. + val buildDir = File(directory, "build") + if (!buildDir.exists()) { + buildDir.mkdir() + } + val errorOut = File(buildDir, "error-out.txt") + val debugOut = File(buildDir, "debug-out.txt") + + val process = buildProcess(command, errorOut, debugOut) + if (process.waitFor() != 0) { + throw GradleException("Build FAILED. See $errorOut for details.") + } + } + + private fun buildCommand(script: String): List { + val command = mutableListOf() + command.add("${project.rootDir}/$script") + val shouldClean = project.gradle + .taskGraph + .hasTask(":clean") + if (shouldClean) { + command.add("clean") + } + command.add("build") + command.add("--console=plain") + command.add("--debug") + command.add("--stacktrace") + return command + } + + private fun buildProcess(command: List, errorOut: File, debugOut: File) = + ProcessBuilder() + .command(command) + .directory(project.file(directory)) + .redirectError(errorOut) + .redirectOutput(debugOut) + .start() +} diff --git a/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt new file mode 100644 index 0000000000..2636036af2 --- /dev/null +++ b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt @@ -0,0 +1,345 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.Project +import org.gradle.api.artifacts.ConfigurationContainer +import org.gradle.api.artifacts.dsl.RepositoryHandler +import java.net.URI + +/* + * This file describes shared dependencies of Spine sub-projects. + * + * Inspired by dependency management of the Uber's NullAway project: + * https://github.com/uber/NullAway/blob/master/gradle/dependencies.gradle + */ + +data class Repository(val releases: String, + val snapshots: String, + val credentials: String) + +/** + * Repositories to which we may publish. Normally, only one repository will be used. + * + * See `publish.gradle` for details of the publishing process. + */ +object PublishingRepos { + val mavenTeamDev = Repository( + releases = "http://maven.teamdev.com/repository/spine", + snapshots = "http://maven.teamdev.com/repository/spine-snapshots", + credentials = "credentials.properties" + ) + val cloudRepo = Repository( + releases = "https://spine.mycloudrepo.io/public/repositories/releases", + snapshots = "https://spine.mycloudrepo.io/public/repositories/snapshots", + credentials = "cloudrepo.properties" + ) +} + +// Specific repositories. +object Repos { + val oldSpine: String = PublishingRepos.mavenTeamDev.releases + val oldSpineSnapshots: String = PublishingRepos.mavenTeamDev.snapshots + + val spine: String = PublishingRepos.cloudRepo.releases + val spineSnapshots: String = PublishingRepos.cloudRepo.snapshots + + val sonatypeSnapshots: String = "https://oss.sonatype.org/content/repositories/snapshots" + val gradlePlugins = "https://plugins.gradle.org/m2/" +} + +object Versions { + val checkerFramework = "3.3.0" + val errorProne = "2.3.4" + val errorProneJavac = "9+181-r4173-1" // taken from here: https://github.com/tbroyer/gradle-errorprone-plugin/blob/v0.8/build.gradle.kts + val errorPronePlugin = "1.1.1" + val pmd = "6.20.0" + val checkstyle = "8.29" + val protobufPlugin = "0.8.12" + val appengineApi = "1.9.79" + val appenginePlugin = "2.2.0" + val findBugs = "3.0.2" + val guava = "29.0-jre" + val protobuf = "3.11.4" + val grpc = "1.28.1" + val flogger = "0.5.1" + val junit4 = "4.12" + val junit5 = "5.6.2" + val junitPlatform = "1.6.2" + val junitPioneer = "0.4.2" + val truth = "1.0.1" + val httpClient = "1.34.2" + val apacheHttpClient = "2.1.2" + val firebaseAdmin = "6.12.2" + val roaster = "2.21.2.Final" + val licensePlugin = "1.13" + val javaPoet = "1.12.1" + val autoService = "1.0-rc6" + val autoCommon = "0.10" + val jackson = "2.9.10.4" + val animalSniffer = "1.18" + val apiguardian = "1.1.0" + + /** + * Version of the SLF4J library. + * + * Spine used to log with SLF4J. Now we use Flogger. Whenever a coice comes up, we recommend to + * use the latter. + * + * Some third-party libraries may clash with different versions of the library. Thus, we specify + * this version and force it via [forceConfiguration(..)][DependencyResolution.forceConfiguration]. + */ + @Deprecated("Use Flogger over SLF4J.", replaceWith = ReplaceWith("flogger")) + val slf4j = "1.7.29" +} + +object GradlePlugins { + val errorProne = "net.ltgt.gradle:gradle-errorprone-plugin:${Versions.errorPronePlugin}" + val protobuf = "com.google.protobuf:protobuf-gradle-plugin:${Versions.protobufPlugin}" + val appengine = "com.google.cloud.tools:appengine-gradle-plugin:${Versions.appenginePlugin}" + val licenseReport = "com.github.jk1:gradle-license-report:${Versions.licensePlugin}" +} + +object Build { + val errorProneJavac = "com.google.errorprone:javac:${Versions.errorProneJavac}" + val errorProneAnnotations = listOf( + "com.google.errorprone:error_prone_annotations:${Versions.errorProne}", + "com.google.errorprone:error_prone_type_annotations:${Versions.errorProne}" + ) + val errorProneCheckApi = "com.google.errorprone:error_prone_check_api:${Versions.errorProne}" + val errorProneCore = "com.google.errorprone:error_prone_core:${Versions.errorProne}" + val errorProneTestHelpers = "com.google.errorprone:error_prone_test_helpers:${Versions.errorProne}" + val checkerAnnotations = "org.checkerframework:checker-qual:${Versions.checkerFramework}" + val checkerDataflow = listOf( + "org.checkerframework:dataflow:${Versions.checkerFramework}", + "org.checkerframework:javacutil:${Versions.checkerFramework}" + ) + val autoCommon = "com.google.auto:auto-common:${Versions.autoCommon}" + val autoService = AutoService + val jsr305Annotations = "com.google.code.findbugs:jsr305:${Versions.findBugs}" + val guava = "com.google.guava:guava:${Versions.guava}" + val flogger = "com.google.flogger:flogger:${Versions.flogger}" + val protobuf = listOf( + "com.google.protobuf:protobuf-java:${Versions.protobuf}", + "com.google.protobuf:protobuf-java-util:${Versions.protobuf}" + ) + val protoc = "com.google.protobuf:protoc:${Versions.protobuf}" + val googleHttpClient = "com.google.http-client:google-http-client:${Versions.httpClient}" + val googleHttpClientApache = "com.google.http-client:google-http-client-apache:${Versions.apacheHttpClient}" + val appengineApi = "com.google.appengine:appengine-api-1.0-sdk:${Versions.appengineApi}" + val firebaseAdmin = "com.google.firebase:firebase-admin:${Versions.firebaseAdmin}" + val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind:${Versions.jackson}" + val roasterApi = "org.jboss.forge.roaster:roaster-api:${Versions.roaster}" + val roasterJdt = "org.jboss.forge.roaster:roaster-jdt:${Versions.roaster}" + val animalSniffer = "org.codehaus.mojo:animal-sniffer-annotations:${Versions.animalSniffer}" + val ci = "true".equals(System.getenv("CI")) + val gradlePlugins = GradlePlugins + @Deprecated("Use Flogger over SLF4J.", replaceWith = ReplaceWith("flogger")) + @Suppress("DEPRECATION") // Version of SLF4J. + val slf4j = "org.slf4j:slf4j-api:${Versions.slf4j}" + + object AutoService { + val annotations = "com.google.auto.service:auto-service-annotations:${Versions.autoService}" + val processor = "com.google.auto.service:auto-service:${Versions.autoService}" + } +} + +object Gen { + val javaPoet = "com.squareup:javapoet:${Versions.javaPoet}" +} + +object Grpc { + val core = "io.grpc:grpc-core:${Versions.grpc}" + val stub = "io.grpc:grpc-stub:${Versions.grpc}" + val okHttp = "io.grpc:grpc-okhttp:${Versions.grpc}" + val protobuf = "io.grpc:grpc-protobuf:${Versions.grpc}" + val netty = "io.grpc:grpc-netty:${Versions.grpc}" + val nettyShaded = "io.grpc:grpc-netty-shaded:${Versions.grpc}" + val context = "io.grpc:grpc-context:${Versions.grpc}" + + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("core")) + val grpcCore = core + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("stub")) + val grpcStub = stub + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("okHttp")) + val grpcOkHttp = okHttp + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("protobuf")) + val grpcProtobuf = protobuf + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("netty")) + val grpcNetty = netty + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("nettyShaded")) + val grpcNettyShaded = nettyShaded + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("context")) + val grpcContext = context +} + +object Runtime { + + val flogger = Flogger + + object Flogger { + val systemBackend = "com.google.flogger:flogger-system-backend:${Versions.flogger}" + val log4J = "com.google.flogger:flogger-log4j:${Versions.flogger}" + val slf4J = "com.google.flogger:slf4j-backend-factory:${Versions.flogger}" + } + + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.systemBackend")) + val floggerSystemBackend = flogger.systemBackend + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.log4J")) + val floggerLog4J = flogger.log4J + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.slf4J")) + val floggerSlf4J = flogger.slf4J +} + +object Test { + val junit4 = "junit:junit:${Versions.junit4}" + val junit5Api = listOf( + "org.junit.jupiter:junit-jupiter-api:${Versions.junit5}", + "org.junit.jupiter:junit-jupiter-params:${Versions.junit5}", + "org.apiguardian:apiguardian-api:${Versions.apiguardian}" + ) + val junit5Runner = "org.junit.jupiter:junit-jupiter-engine:${Versions.junit5}" + val junitPioneer = "org.junit-pioneer:junit-pioneer:${Versions.junitPioneer}" + val guavaTestlib = "com.google.guava:guava-testlib:${Versions.guava}" + val mockito = "org.mockito:mockito-core:2.12.0" + val hamcrest = "org.hamcrest:hamcrest-all:1.3" + val truth = listOf( + "com.google.truth:truth:${Versions.truth}", + "com.google.truth.extensions:truth-java8-extension:${Versions.truth}", + "com.google.truth.extensions:truth-proto-extension:${Versions.truth}" + ) + @Deprecated("Use Flogger over SLF4J.", + replaceWith = ReplaceWith("Deps.runtime.floggerSystemBackend")) + @Suppress("DEPRECATION") // Version of SLF4J. + val slf4j = "org.slf4j:slf4j-jdk14:${Versions.slf4j}" +} + +object Scripts { + + private const val COMMON_PATH = "/config/gradle/" + + fun testArtifacts(p: Project) = p.script("test-artifacts.gradle") + fun testOutput(p: Project) = p.script("test-output.gradle") + fun slowTests(p: Project) = p.script("slow-tests.gradle") + fun javadocOptions(p: Project) = p.script("javadoc-options.gradle") + fun filterInternalJavadocs(p: Project) = p.script("filter-internal-javadoc.gradle") + fun jacoco(p: Project) = p.script("jacoco.gradle") + fun publish(p: Project) = p.script("publish.gradle") + fun publishProto(p: Project) = p.script("publish-proto.gradle") + fun javacArgs(p: Project) = p.script("javac-args.gradle") + fun jsBuildTasks(p: Project) = p.script("js/build-tasks.gradle") + fun jsConfigureProto(p: Project) = p.script("js/configure-proto.gradle") + fun npmPublishTasks(p: Project) = p.script("js/npm-publish-tasks.gradle") + fun npmCli(p: Project) = p.script("js/npm-cli.gradle") + fun updatePackageVersion(p: Project) = p.script("js/update-package-version.gradle") + fun dartBuildTasks(p: Project) = p.script("dart/build-tasks.gradle") + fun pubPublishTasks(p: Project) = p.script("dart/pub-publish-tasks.gradle") + fun pmd(p: Project) = p.script("pmd.gradle") + fun checkstyle(p: Project) = p.script("checkstyle.gradle") + fun runBuild(p: Project) = p.script("run-build.gradle") + fun modelCompiler(p: Project) = p.script("model-compiler.gradle") + fun licenseReportCommon(p: Project) = p.script("license-report-common.gradle") + fun projectLicenseReport(p: Project) = p.script("license-report-project.gradle") + fun repoLicenseReport(p: Project) = p.script("license-report-repo.gradle") + fun generatePom(p: Project) = p.script("generate-pom.gradle") + fun updateGitHubPages(p: Project) = p.script("update-gh-pages.gradle") + + private fun Project.script(name: String) = "${rootDir}$COMMON_PATH$name" +} + +object Deps { + val build = Build + val grpc = Grpc + val gen = Gen + val runtime = Runtime + val test = Test + val versions = Versions + val scripts = Scripts +} + +object DependencyResolution { + + fun forceConfiguration(configurations: ConfigurationContainer) { + configurations.all { config -> + config.resolutionStrategy { strategy -> + strategy.failOnVersionConflict() + strategy.cacheChangingModulesFor(0, "seconds") + @Suppress("DEPRECATION") // Force SLF4J version. + strategy.force( + Deps.build.slf4j, + Deps.build.errorProneAnnotations, + Deps.build.jsr305Annotations, + Deps.build.checkerAnnotations, + Deps.build.autoCommon, + Deps.build.guava, + Deps.build.animalSniffer, + Deps.build.protobuf, + Deps.test.guavaTestlib, + Deps.test.truth, + Deps.test.junit5Api, + Deps.test.junit4, + + // Transitive dependencies of 3rd party components that we don't use directly. + "com.google.code.gson:gson:2.8.6", + "com.google.j2objc:j2objc-annotations:1.3", + "org.codehaus.plexus:plexus-utils:3.3.0", + "com.squareup.okio:okio:1.17.5", // Last version before next major. + "commons-cli:commons-cli:1.4", + + // Force discontinued transitive dependency until everybody migrates off it. + "org.checkerframework:checker-compat-qual:2.5.5", + + "commons-logging:commons-logging:1.2", + + // Force the Gradle Protobuf plugin version. + Deps.build.gradlePlugins.protobuf + ) + } + } + } + + fun excludeProtobufLite(configurations: ConfigurationContainer) { + excludeProtoLite(configurations, "runtime") + excludeProtoLite(configurations, "testRuntime") + } + + private fun excludeProtoLite(configurations: ConfigurationContainer, + configurationName: String) { + configurations.named(configurationName).get() + .exclude(mapOf("group" to "com.google.protobuf", "module" to "protobuf-lite")) + } + + fun defaultRepositories(repositories: RepositoryHandler) { + repositories.mavenLocal() + repositories.maven { repository -> + repository.url = URI(Repos.spine) + repository.content { descriptor -> + descriptor.includeGroup("io.spine") + descriptor.includeGroup("io.spine.tools") + descriptor.includeGroup("io.spine.gcloud") + } + } + repositories.jcenter() + repositories.maven { repository -> + repository.url = URI(Repos.gradlePlugins) + } + } +} diff --git a/license-report.md b/license-report.md index cac8d088b0..f3a44cd98d 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:11 EEST 2020** 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 **Mon May 18 19:14:34 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Mon May 18 17:02:11 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:16 EEST 2020** 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 **Mon May 18 19:14:38 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Mon May 18 17:02:16 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:19 EEST 2020** 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 **Mon May 18 19:14:41 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Mon May 18 17:02:19 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:23 EEST 2020** 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 **Mon May 18 19:14:45 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Mon May 18 17:02:23 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:35 EEST 2020** 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 **Mon May 18 19:14:58 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Mon May 18 17:02:35 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:38 EEST 2020** 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 **Mon May 18 19:15:01 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Mon May 18 17:02:38 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:43 EEST 2020** 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 **Mon May 18 19:15:06 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Mon May 18 17:02:43 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:49 EEST 2020** 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 **Mon May 18 19:15:10 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Mon May 18 17:02:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:02:54 EEST 2020** 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 **Mon May 18 19:15:14 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Mon May 18 17:02:54 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:04 EEST 2020** 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 **Mon May 18 19:15:23 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Mon May 18 17:03:04 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:09 EEST 2020** 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 **Mon May 18 19:15:28 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Mon May 18 17:03:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:09 EEST 2020** 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 **Mon May 18 19:15:29 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Mon May 18 17:03:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:13 EEST 2020** 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 **Mon May 18 19:15:33 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Mon May 18 17:03:13 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:17 EEST 2020** 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 **Mon May 18 19:15:41 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Mon May 18 17:03:17 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 17:03:21 EEST 2020** 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 **Mon May 18 19:15:47 EEST 2020** 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/pull b/pull new file mode 100755 index 0000000000..fafab8c976 --- /dev/null +++ b/pull @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +./config/pull + +echo "Copying buildSrc to base-validating-builders" +cp -R ./buildSrc ./base-validating-builders + +echo "Copying buildSrc to smoke-tests" +cp -R ./buildSrc ./tools/smoke-tests diff --git a/tools/smoke-tests/buildSrc/build.gradle.kts b/tools/smoke-tests/buildSrc/build.gradle.kts new file mode 100644 index 0000000000..bdfd32a6d6 --- /dev/null +++ b/tools/smoke-tests/buildSrc/build.gradle.kts @@ -0,0 +1,28 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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. + */ + +plugins { + kotlin("jvm").version("1.3.72") +} + +repositories { + mavenLocal() + jcenter() +} diff --git a/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt new file mode 100644 index 0000000000..c083ad952a --- /dev/null +++ b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/RunBuild.kt @@ -0,0 +1,90 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.GradleException +import org.gradle.api.internal.AbstractTask +import org.gradle.api.tasks.TaskAction +import org.gradle.internal.os.OperatingSystem +import java.io.File + +/** + * A Gradle task which runs another Gradle build. + * + * Launches Gradle wrapper under a given [directory] with the `build` task. The `clean` task is also + * run if current build includes a `clean` task. + * + * The build writes verbose log into `$directory/build/debug-out.txt`. The error output is written + * into `$directory/build/error-out.txt`. + */ +open class RunBuild : AbstractTask() { + + /** + * Path to the directory which contains a Gradle wrapper script. + */ + lateinit var directory: String + + @TaskAction + private fun execute() { + val runsOnWindows = OperatingSystem.current().isWindows() + val script = if (runsOnWindows) "gradlew.bat" else "gradlew" + val command = buildCommand(script) + + // Ensure build error output log. + // Since we're executing this task in another process, we redirect error output to + // the file under the `build` directory. + val buildDir = File(directory, "build") + if (!buildDir.exists()) { + buildDir.mkdir() + } + val errorOut = File(buildDir, "error-out.txt") + val debugOut = File(buildDir, "debug-out.txt") + + val process = buildProcess(command, errorOut, debugOut) + if (process.waitFor() != 0) { + throw GradleException("Build FAILED. See $errorOut for details.") + } + } + + private fun buildCommand(script: String): List { + val command = mutableListOf() + command.add("${project.rootDir}/$script") + val shouldClean = project.gradle + .taskGraph + .hasTask(":clean") + if (shouldClean) { + command.add("clean") + } + command.add("build") + command.add("--console=plain") + command.add("--debug") + command.add("--stacktrace") + return command + } + + private fun buildProcess(command: List, errorOut: File, debugOut: File) = + ProcessBuilder() + .command(command) + .directory(project.file(directory)) + .redirectError(errorOut) + .redirectOutput(debugOut) + .start() +} diff --git a/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt new file mode 100644 index 0000000000..2636036af2 --- /dev/null +++ b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/deps.kt @@ -0,0 +1,345 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.Project +import org.gradle.api.artifacts.ConfigurationContainer +import org.gradle.api.artifacts.dsl.RepositoryHandler +import java.net.URI + +/* + * This file describes shared dependencies of Spine sub-projects. + * + * Inspired by dependency management of the Uber's NullAway project: + * https://github.com/uber/NullAway/blob/master/gradle/dependencies.gradle + */ + +data class Repository(val releases: String, + val snapshots: String, + val credentials: String) + +/** + * Repositories to which we may publish. Normally, only one repository will be used. + * + * See `publish.gradle` for details of the publishing process. + */ +object PublishingRepos { + val mavenTeamDev = Repository( + releases = "http://maven.teamdev.com/repository/spine", + snapshots = "http://maven.teamdev.com/repository/spine-snapshots", + credentials = "credentials.properties" + ) + val cloudRepo = Repository( + releases = "https://spine.mycloudrepo.io/public/repositories/releases", + snapshots = "https://spine.mycloudrepo.io/public/repositories/snapshots", + credentials = "cloudrepo.properties" + ) +} + +// Specific repositories. +object Repos { + val oldSpine: String = PublishingRepos.mavenTeamDev.releases + val oldSpineSnapshots: String = PublishingRepos.mavenTeamDev.snapshots + + val spine: String = PublishingRepos.cloudRepo.releases + val spineSnapshots: String = PublishingRepos.cloudRepo.snapshots + + val sonatypeSnapshots: String = "https://oss.sonatype.org/content/repositories/snapshots" + val gradlePlugins = "https://plugins.gradle.org/m2/" +} + +object Versions { + val checkerFramework = "3.3.0" + val errorProne = "2.3.4" + val errorProneJavac = "9+181-r4173-1" // taken from here: https://github.com/tbroyer/gradle-errorprone-plugin/blob/v0.8/build.gradle.kts + val errorPronePlugin = "1.1.1" + val pmd = "6.20.0" + val checkstyle = "8.29" + val protobufPlugin = "0.8.12" + val appengineApi = "1.9.79" + val appenginePlugin = "2.2.0" + val findBugs = "3.0.2" + val guava = "29.0-jre" + val protobuf = "3.11.4" + val grpc = "1.28.1" + val flogger = "0.5.1" + val junit4 = "4.12" + val junit5 = "5.6.2" + val junitPlatform = "1.6.2" + val junitPioneer = "0.4.2" + val truth = "1.0.1" + val httpClient = "1.34.2" + val apacheHttpClient = "2.1.2" + val firebaseAdmin = "6.12.2" + val roaster = "2.21.2.Final" + val licensePlugin = "1.13" + val javaPoet = "1.12.1" + val autoService = "1.0-rc6" + val autoCommon = "0.10" + val jackson = "2.9.10.4" + val animalSniffer = "1.18" + val apiguardian = "1.1.0" + + /** + * Version of the SLF4J library. + * + * Spine used to log with SLF4J. Now we use Flogger. Whenever a coice comes up, we recommend to + * use the latter. + * + * Some third-party libraries may clash with different versions of the library. Thus, we specify + * this version and force it via [forceConfiguration(..)][DependencyResolution.forceConfiguration]. + */ + @Deprecated("Use Flogger over SLF4J.", replaceWith = ReplaceWith("flogger")) + val slf4j = "1.7.29" +} + +object GradlePlugins { + val errorProne = "net.ltgt.gradle:gradle-errorprone-plugin:${Versions.errorPronePlugin}" + val protobuf = "com.google.protobuf:protobuf-gradle-plugin:${Versions.protobufPlugin}" + val appengine = "com.google.cloud.tools:appengine-gradle-plugin:${Versions.appenginePlugin}" + val licenseReport = "com.github.jk1:gradle-license-report:${Versions.licensePlugin}" +} + +object Build { + val errorProneJavac = "com.google.errorprone:javac:${Versions.errorProneJavac}" + val errorProneAnnotations = listOf( + "com.google.errorprone:error_prone_annotations:${Versions.errorProne}", + "com.google.errorprone:error_prone_type_annotations:${Versions.errorProne}" + ) + val errorProneCheckApi = "com.google.errorprone:error_prone_check_api:${Versions.errorProne}" + val errorProneCore = "com.google.errorprone:error_prone_core:${Versions.errorProne}" + val errorProneTestHelpers = "com.google.errorprone:error_prone_test_helpers:${Versions.errorProne}" + val checkerAnnotations = "org.checkerframework:checker-qual:${Versions.checkerFramework}" + val checkerDataflow = listOf( + "org.checkerframework:dataflow:${Versions.checkerFramework}", + "org.checkerframework:javacutil:${Versions.checkerFramework}" + ) + val autoCommon = "com.google.auto:auto-common:${Versions.autoCommon}" + val autoService = AutoService + val jsr305Annotations = "com.google.code.findbugs:jsr305:${Versions.findBugs}" + val guava = "com.google.guava:guava:${Versions.guava}" + val flogger = "com.google.flogger:flogger:${Versions.flogger}" + val protobuf = listOf( + "com.google.protobuf:protobuf-java:${Versions.protobuf}", + "com.google.protobuf:protobuf-java-util:${Versions.protobuf}" + ) + val protoc = "com.google.protobuf:protoc:${Versions.protobuf}" + val googleHttpClient = "com.google.http-client:google-http-client:${Versions.httpClient}" + val googleHttpClientApache = "com.google.http-client:google-http-client-apache:${Versions.apacheHttpClient}" + val appengineApi = "com.google.appengine:appengine-api-1.0-sdk:${Versions.appengineApi}" + val firebaseAdmin = "com.google.firebase:firebase-admin:${Versions.firebaseAdmin}" + val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind:${Versions.jackson}" + val roasterApi = "org.jboss.forge.roaster:roaster-api:${Versions.roaster}" + val roasterJdt = "org.jboss.forge.roaster:roaster-jdt:${Versions.roaster}" + val animalSniffer = "org.codehaus.mojo:animal-sniffer-annotations:${Versions.animalSniffer}" + val ci = "true".equals(System.getenv("CI")) + val gradlePlugins = GradlePlugins + @Deprecated("Use Flogger over SLF4J.", replaceWith = ReplaceWith("flogger")) + @Suppress("DEPRECATION") // Version of SLF4J. + val slf4j = "org.slf4j:slf4j-api:${Versions.slf4j}" + + object AutoService { + val annotations = "com.google.auto.service:auto-service-annotations:${Versions.autoService}" + val processor = "com.google.auto.service:auto-service:${Versions.autoService}" + } +} + +object Gen { + val javaPoet = "com.squareup:javapoet:${Versions.javaPoet}" +} + +object Grpc { + val core = "io.grpc:grpc-core:${Versions.grpc}" + val stub = "io.grpc:grpc-stub:${Versions.grpc}" + val okHttp = "io.grpc:grpc-okhttp:${Versions.grpc}" + val protobuf = "io.grpc:grpc-protobuf:${Versions.grpc}" + val netty = "io.grpc:grpc-netty:${Versions.grpc}" + val nettyShaded = "io.grpc:grpc-netty-shaded:${Versions.grpc}" + val context = "io.grpc:grpc-context:${Versions.grpc}" + + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("core")) + val grpcCore = core + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("stub")) + val grpcStub = stub + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("okHttp")) + val grpcOkHttp = okHttp + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("protobuf")) + val grpcProtobuf = protobuf + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("netty")) + val grpcNetty = netty + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("nettyShaded")) + val grpcNettyShaded = nettyShaded + @Deprecated("Use the shorter form.", replaceWith = ReplaceWith("context")) + val grpcContext = context +} + +object Runtime { + + val flogger = Flogger + + object Flogger { + val systemBackend = "com.google.flogger:flogger-system-backend:${Versions.flogger}" + val log4J = "com.google.flogger:flogger-log4j:${Versions.flogger}" + val slf4J = "com.google.flogger:slf4j-backend-factory:${Versions.flogger}" + } + + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.systemBackend")) + val floggerSystemBackend = flogger.systemBackend + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.log4J")) + val floggerLog4J = flogger.log4J + @Deprecated("Use the `flogger` object.", replaceWith = ReplaceWith("flogger.slf4J")) + val floggerSlf4J = flogger.slf4J +} + +object Test { + val junit4 = "junit:junit:${Versions.junit4}" + val junit5Api = listOf( + "org.junit.jupiter:junit-jupiter-api:${Versions.junit5}", + "org.junit.jupiter:junit-jupiter-params:${Versions.junit5}", + "org.apiguardian:apiguardian-api:${Versions.apiguardian}" + ) + val junit5Runner = "org.junit.jupiter:junit-jupiter-engine:${Versions.junit5}" + val junitPioneer = "org.junit-pioneer:junit-pioneer:${Versions.junitPioneer}" + val guavaTestlib = "com.google.guava:guava-testlib:${Versions.guava}" + val mockito = "org.mockito:mockito-core:2.12.0" + val hamcrest = "org.hamcrest:hamcrest-all:1.3" + val truth = listOf( + "com.google.truth:truth:${Versions.truth}", + "com.google.truth.extensions:truth-java8-extension:${Versions.truth}", + "com.google.truth.extensions:truth-proto-extension:${Versions.truth}" + ) + @Deprecated("Use Flogger over SLF4J.", + replaceWith = ReplaceWith("Deps.runtime.floggerSystemBackend")) + @Suppress("DEPRECATION") // Version of SLF4J. + val slf4j = "org.slf4j:slf4j-jdk14:${Versions.slf4j}" +} + +object Scripts { + + private const val COMMON_PATH = "/config/gradle/" + + fun testArtifacts(p: Project) = p.script("test-artifacts.gradle") + fun testOutput(p: Project) = p.script("test-output.gradle") + fun slowTests(p: Project) = p.script("slow-tests.gradle") + fun javadocOptions(p: Project) = p.script("javadoc-options.gradle") + fun filterInternalJavadocs(p: Project) = p.script("filter-internal-javadoc.gradle") + fun jacoco(p: Project) = p.script("jacoco.gradle") + fun publish(p: Project) = p.script("publish.gradle") + fun publishProto(p: Project) = p.script("publish-proto.gradle") + fun javacArgs(p: Project) = p.script("javac-args.gradle") + fun jsBuildTasks(p: Project) = p.script("js/build-tasks.gradle") + fun jsConfigureProto(p: Project) = p.script("js/configure-proto.gradle") + fun npmPublishTasks(p: Project) = p.script("js/npm-publish-tasks.gradle") + fun npmCli(p: Project) = p.script("js/npm-cli.gradle") + fun updatePackageVersion(p: Project) = p.script("js/update-package-version.gradle") + fun dartBuildTasks(p: Project) = p.script("dart/build-tasks.gradle") + fun pubPublishTasks(p: Project) = p.script("dart/pub-publish-tasks.gradle") + fun pmd(p: Project) = p.script("pmd.gradle") + fun checkstyle(p: Project) = p.script("checkstyle.gradle") + fun runBuild(p: Project) = p.script("run-build.gradle") + fun modelCompiler(p: Project) = p.script("model-compiler.gradle") + fun licenseReportCommon(p: Project) = p.script("license-report-common.gradle") + fun projectLicenseReport(p: Project) = p.script("license-report-project.gradle") + fun repoLicenseReport(p: Project) = p.script("license-report-repo.gradle") + fun generatePom(p: Project) = p.script("generate-pom.gradle") + fun updateGitHubPages(p: Project) = p.script("update-gh-pages.gradle") + + private fun Project.script(name: String) = "${rootDir}$COMMON_PATH$name" +} + +object Deps { + val build = Build + val grpc = Grpc + val gen = Gen + val runtime = Runtime + val test = Test + val versions = Versions + val scripts = Scripts +} + +object DependencyResolution { + + fun forceConfiguration(configurations: ConfigurationContainer) { + configurations.all { config -> + config.resolutionStrategy { strategy -> + strategy.failOnVersionConflict() + strategy.cacheChangingModulesFor(0, "seconds") + @Suppress("DEPRECATION") // Force SLF4J version. + strategy.force( + Deps.build.slf4j, + Deps.build.errorProneAnnotations, + Deps.build.jsr305Annotations, + Deps.build.checkerAnnotations, + Deps.build.autoCommon, + Deps.build.guava, + Deps.build.animalSniffer, + Deps.build.protobuf, + Deps.test.guavaTestlib, + Deps.test.truth, + Deps.test.junit5Api, + Deps.test.junit4, + + // Transitive dependencies of 3rd party components that we don't use directly. + "com.google.code.gson:gson:2.8.6", + "com.google.j2objc:j2objc-annotations:1.3", + "org.codehaus.plexus:plexus-utils:3.3.0", + "com.squareup.okio:okio:1.17.5", // Last version before next major. + "commons-cli:commons-cli:1.4", + + // Force discontinued transitive dependency until everybody migrates off it. + "org.checkerframework:checker-compat-qual:2.5.5", + + "commons-logging:commons-logging:1.2", + + // Force the Gradle Protobuf plugin version. + Deps.build.gradlePlugins.protobuf + ) + } + } + } + + fun excludeProtobufLite(configurations: ConfigurationContainer) { + excludeProtoLite(configurations, "runtime") + excludeProtoLite(configurations, "testRuntime") + } + + private fun excludeProtoLite(configurations: ConfigurationContainer, + configurationName: String) { + configurations.named(configurationName).get() + .exclude(mapOf("group" to "com.google.protobuf", "module" to "protobuf-lite")) + } + + fun defaultRepositories(repositories: RepositoryHandler) { + repositories.mavenLocal() + repositories.maven { repository -> + repository.url = URI(Repos.spine) + repository.content { descriptor -> + descriptor.includeGroup("io.spine") + descriptor.includeGroup("io.spine.tools") + descriptor.includeGroup("io.spine.gcloud") + } + } + repositories.jcenter() + repositories.maven { repository -> + repository.url = URI(Repos.gradlePlugins) + } + } +} From 2a2da112348cbb71e9232cbc2bb4fa5e64197110 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 14:03:06 +0300 Subject: [PATCH 02/43] Add imports --- build.gradle.kts | 6 ++++-- license-report.md | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 22c5dbcb5d..31980c0b0a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,6 +18,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.protobuf.gradle.ExecutableLocator +import groovy.lang.Closure import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps import io.spine.gradle.internal.PublishingRepos @@ -152,8 +154,8 @@ subprojects { protobuf { protobuf.generatedFilesBaseDir = generatedRootDir - protobuf.protoc(object : groovy.lang.Closure(this) { - private fun doCall(locator: com.google.protobuf.gradle.ExecutableLocator) { + protobuf.protoc(object : Closure(this) { + private fun doCall(locator: ExecutableLocator) { locator.artifact = Deps.build.protoc } }) diff --git a/license-report.md b/license-report.md index f3a44cd98d..77b0efcdbf 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:14:34 EEST 2020** 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 May 19 13:58:28 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Mon May 18 19:14:34 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:14:38 EEST 2020** 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 May 19 13:58:32 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Mon May 18 19:14:38 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:14:41 EEST 2020** 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 May 19 13:58:35 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Mon May 18 19:14:41 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:14:45 EEST 2020** 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 May 19 13:58:38 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Mon May 18 19:14:45 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:14:58 EEST 2020** 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 May 19 13:58:50 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Mon May 18 19:14:58 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:01 EEST 2020** 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 May 19 13:58:52 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Mon May 18 19:15:01 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:06 EEST 2020** 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 May 19 13:58:57 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Mon May 18 19:15:06 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:10 EEST 2020** 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 May 19 13:59:01 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Mon May 18 19:15:10 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:14 EEST 2020** 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 May 19 13:59:04 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Mon May 18 19:15:14 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:23 EEST 2020** 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 May 19 13:59:12 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Mon May 18 19:15:23 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:28 EEST 2020** 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 May 19 13:59:17 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Mon May 18 19:15:28 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:29 EEST 2020** 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 May 19 13:59:17 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Mon May 18 19:15:29 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:33 EEST 2020** 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 May 19 13:59:20 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Mon May 18 19:15:33 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:41 EEST 2020** 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 May 19 13:59:24 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Mon May 18 19:15:41 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 18 19:15:47 EEST 2020** 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 May 19 13:59:28 EEST 2020** 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 From 08bcdff112ffafe5fc603ee6306abe29900de79b Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 14:03:52 +0300 Subject: [PATCH 03/43] Migrate `base-validating-builders` to Kotlin --- base-validating-builders/build.gradle | 147 --------------- base-validating-builders/build.gradle.kts | 172 ++++++++++++++++++ .../{settings.gradle => settings.gradle.kt} | 0 3 files changed, 172 insertions(+), 147 deletions(-) delete mode 100644 base-validating-builders/build.gradle create mode 100644 base-validating-builders/build.gradle.kts rename base-validating-builders/{settings.gradle => settings.gradle.kt} (100%) diff --git a/base-validating-builders/build.gradle b/base-validating-builders/build.gradle deleted file mode 100644 index 4f86242182..0000000000 --- a/base-validating-builders/build.gradle +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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. - */ - -buildscript { - apply from: "$projectDir/../version.gradle.kts" - apply from: "$projectDir/../config/gradle/dependencies.gradle" - - repositories { - mavenLocal() - jcenter() - } - dependencies { - classpath deps.build.protobuf - classpath deps.build.guava - classpath deps.build.flogger - classpath deps.build.checkerAnnotations - classpath deps.build.errorProneAnnotations - classpath deps.build.jsr305Annotations - classpath deps.build.gradlePlugins.protobuf - - classpath deps.gen.javaPoet - classpath deps.runtime.floggerSystemBackend - - // A library for parsing Java sources. - // Used for parsing Java sources generated from Protobuf files - // to make their annotation more convenient. - classpath (deps.build.roasterApi) { - exclude group: 'com.google.guava' - } - classpath (deps.build.roasterJdt) { - exclude group: 'com.google.guava' - } - - classpath files([ - "$projectDir/../tools/protoc-api/build/libs/protoc-api-${spineVersion}.jar", - "$projectDir/../tools/model-compiler/build/libs/model-compiler-${spineVersion}.jar", - "$projectDir/../tools/plugin-base/build/libs/plugin-base-${spineVersion}.jar", - "$projectDir/../tools/tool-base/build/libs/tool-base-${spineVersion}.jar", - "$projectDir/../base/build/libs/base-${spineVersion}.jar", - ]) - } -} - -apply plugin: 'java' -apply plugin: 'com.google.protobuf' -apply plugin: 'io.spine.tools.spine-model-compiler' -apply plugin: 'idea' - -modelCompiler { - generateValidation = true -} - -repositories { - // This defines the `libs` directory of upstream projects as a local repository. - // See `dependencies` section below for definition of the dependency on the JAR produced by - // the `base` module. - flatDir { - final def baseRoot = "$projectDir/.." - dirs "$baseRoot/base/build/libs/" - } - mavenLocal() - jcenter() -} - -dependencies { - compileOnly deps.build.protobuf - compileOnly deps.build.guava - compileOnly deps.build.flogger - compileOnly deps.build.checkerAnnotations - compileOnly deps.build.errorProneAnnotations - compileOnly deps.build.jsr305Annotations - compileOnly deps.build.errorProneAnnotations - - // The below dependency refers to a local artifact. - // See `repositories.flatDir` definition above. - compileOnly name: "base-${spineVersion}" -} - -sourceSets { - main.java.srcDirs "$projectDir/generated/main/spine" - main.proto.srcDirs = ["$projectDir/../base/src/main/proto"] -} - -protobuf { - generateProtoTasks { - all().each { - it.plugins { - remove grpc - } - } - } -} - -ext.compiledProtoDir = "$projectDir/compiled-proto" - -task copyCompiledClasses(type: Copy) { - from sourceSets.main.java.outputDir - into compiledProtoDir - - include { - it.isDirectory() || it.name.endsWith('.class') - } - - dependsOn compileJava -} - -assemble.dependsOn copyCompiledClasses - -build.doLast { - final def directory = "$projectDir/../" - final def runsOnWindows = org.gradle.internal.os.OperatingSystem.current().isWindows() - final def script = runsOnWindows ? "gradlew.bat" : "gradlew" - final def process = new ProcessBuilder() - .command("$directory/$script".toString(), ':base:cleanJar', ':base:jar', '--console=plain') - .directory(file(directory)) - .start() - if (process.waitFor() != 0) { - throw new GradleException("Unable to rebuild JAR for :base.") - } -} - -task cleanGenerated(type: Delete) { - delete files("$projectDir/generated", "$projectDir/.spine", compiledProtoDir) -} - -clean.dependsOn cleanGenerated - -idea.module { - generatedSourceDirs += compiledProtoDir -} diff --git a/base-validating-builders/build.gradle.kts b/base-validating-builders/build.gradle.kts new file mode 100644 index 0000000000..ab9450daae --- /dev/null +++ b/base-validating-builders/build.gradle.kts @@ -0,0 +1,172 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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.ProtobufConfigurator.JavaGenerateProtoTaskCollection +import groovy.lang.Closure +import io.spine.gradle.internal.Deps +import org.gradle.internal.os.OperatingSystem + +buildscript { + apply(from = "$projectDir/../version.gradle.kts") + val spineVersion: String by extra + + repositories { + mavenLocal() + jcenter() + } + + @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. + val deps = io.spine.gradle.internal.Deps + + dependencies { + classpath(deps.build.protobuf) + classpath(deps.build.guava) + classpath(deps.build.flogger) + classpath(deps.build.checkerAnnotations) + classpath(deps.build.errorProneAnnotations) + classpath(deps.build.jsr305Annotations) + classpath(deps.build.gradlePlugins.protobuf) + + classpath(deps.gen.javaPoet) + classpath(deps.runtime.flogger.systemBackend) + + // A library for parsing Java sources. + // Used for parsing Java sources generated from Protobuf files + // to make their annotation more convenient. + classpath(deps.build.roasterApi) { + exclude(group = "com.google.guava") + } + classpath (deps.build.roasterJdt) { + exclude(group = "com.google.guava") + } + + classpath(files( + "$projectDir/../tools/protoc-api/build/libs/protoc-api-${spineVersion}.jar", + "$projectDir/../tools/model-compiler/build/libs/model-compiler-${spineVersion}.jar", + "$projectDir/../tools/plugin-base/build/libs/plugin-base-${spineVersion}.jar", + "$projectDir/../tools/tool-base/build/libs/tool-base-${spineVersion}.jar", + "$projectDir/../base/build/libs/base-${spineVersion}.jar" + )) + } +} + +plugins { + java + idea + @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. + id("com.google.protobuf").version(io.spine.gradle.internal.Deps.versions.protobufPlugin) +} + +apply(plugin = "io.spine.tools.spine-model-compiler") + +extensions["modelCompiler"].withGroovyBuilder { + setProperty("generateValidation", true) +} + +repositories { + // This defines the `libs` directory of upstream projects as a local repository. + // See `dependencies` section below for definition of the dependency on the JAR produced by + // the `base` module. + flatDir { + val baseRoot = "$projectDir/.." + dir("$baseRoot/base/build/libs/") + } + mavenLocal() + jcenter() +} + +val spineVersion: String by extra + +dependencies { + compileOnly(Deps.build.protobuf) + compileOnly(Deps.build.guava) + compileOnly(Deps.build.flogger) + compileOnly(Deps.build.checkerAnnotations) + compileOnly(Deps.build.errorProneAnnotations) + compileOnly(Deps.build.jsr305Annotations) + compileOnly(Deps.build.errorProneAnnotations) + + + // The below dependency refers to a local artifact. + // See `repositories.flatDir` definition above. + compileOnly("base-${spineVersion}") +} + +sourceSets { + main { + java.srcDirs("$projectDir/generated/main/spine") + proto.srcDirs("$projectDir/../base/src/main/proto") + } +} + +protobuf { + protobuf.generateProtoTasks(object : Closure(this) { + private fun doCall(tasks: JavaGenerateProtoTaskCollection) { + tasks.all().forEach { task -> + task.plugins.removeIf { it.name == "grpc" } + } + } + }) +} + +val compiledProtoDir = "$projectDir/compiled-proto" + +val copyCompiledClasses by tasks.registering(Copy::class) { + from(sourceSets.main.get().java.outputDir) + into(compiledProtoDir) + + include { + it.isDirectory || it.name.endsWith(".class") + } + + dependsOn(tasks.compileJava) +} + +tasks.assemble { + dependsOn(copyCompiledClasses) +} + +tasks.build { + doLast { + val directory = "$projectDir/../" + val os = OperatingSystem.current() + val script = when { + os.isWindows -> "gradlew.bat" + else -> "gradlew" + } + val process = ProcessBuilder() + .command("$directory/$script", ":base:cleanJar", ":base:jar", "--console=plain") + .directory(file(directory)) + .start() + if (process.waitFor() != 0) { + throw GradleException("Unable to rebuild JAR for :base.") + } + } +} + +val cleanGenerated by tasks.registering(Delete::class) { + delete(files("$projectDir/generated", "$projectDir/.spine", compiledProtoDir)) +} + +tasks.clean { dependsOn(cleanGenerated) } + +idea.module { + generatedSourceDirs.add(file(compiledProtoDir)) +} diff --git a/base-validating-builders/settings.gradle b/base-validating-builders/settings.gradle.kt similarity index 100% rename from base-validating-builders/settings.gradle rename to base-validating-builders/settings.gradle.kt From c52f3dd515dcd7ace862d2a35b0713e44b2d4d1e Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 15:05:00 +0300 Subject: [PATCH 04/43] Translate root `smoke-tests` script --- license-report.md | 30 ++-- tools/smoke-tests/build.gradle | 125 ---------------- tools/smoke-tests/build.gradle.kts | 133 ++++++++++++++++++ .../{settings.gradle => settings.gradle.kts} | 34 ++--- 4 files changed, 165 insertions(+), 157 deletions(-) delete mode 100644 tools/smoke-tests/build.gradle create mode 100644 tools/smoke-tests/build.gradle.kts rename tools/smoke-tests/{settings.gradle => settings.gradle.kts} (70%) diff --git a/license-report.md b/license-report.md index 77b0efcdbf..965feef201 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:28 EEST 2020** 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 May 19 14:52:03 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Tue May 19 13:58:28 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:32 EEST 2020** 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 May 19 14:52:08 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Tue May 19 13:58:32 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:35 EEST 2020** 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 May 19 14:52:10 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Tue May 19 13:58:35 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:38 EEST 2020** 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 May 19 14:52:13 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Tue May 19 13:58:38 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:50 EEST 2020** 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 May 19 14:52:25 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Tue May 19 13:58:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:52 EEST 2020** 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 May 19 14:52:28 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Tue May 19 13:58:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:58:57 EEST 2020** 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 May 19 14:52:32 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Tue May 19 13:58:57 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:01 EEST 2020** 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 May 19 14:52:36 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Tue May 19 13:59:01 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:04 EEST 2020** 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 May 19 14:52:40 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Tue May 19 13:59:04 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:12 EEST 2020** 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 May 19 14:52:48 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Tue May 19 13:59:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:17 EEST 2020** 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 May 19 14:52:53 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Tue May 19 13:59:17 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:17 EEST 2020** 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 May 19 14:52:53 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Tue May 19 13:59:17 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:20 EEST 2020** 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 May 19 14:52:56 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Tue May 19 13:59:20 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:24 EEST 2020** 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 May 19 14:53:00 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Tue May 19 13:59:24 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 13:59:28 EEST 2020** 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 May 19 14:53:03 EEST 2020** 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/tools/smoke-tests/build.gradle b/tools/smoke-tests/build.gradle deleted file mode 100644 index 9802cec52a..0000000000 --- a/tools/smoke-tests/build.gradle +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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. - */ - -buildscript { - ext.baseRoot = "$rootDir/../.." - ext.versionGradle = "$baseRoot/version.gradle.kts" - - - apply from: versionGradle - apply from: "$baseRoot/config/gradle/dependencies.gradle" - - repositories { - maven { url = repos.gradlePlugins } - jcenter() - mavenLocal() - - maven { url = repos.oldSpine } - maven { url = repos.oldSpineSnapshots } - - maven { url = repos.spine } - maven { url = repos.spineSnapshots } - } - - - dependencies { - classpath deps.build.guava - classpath (deps.build.gradlePlugins.protobuf) { - exclude group: 'com.google.guava' - } - classpath (deps.build.gradlePlugins.errorProne) { - exclude group: 'com.google.guava' - } - // Always use the latest (current) version of model compiler no matter - // the global configuration. - classpath "io.spine.tools:spine-model-compiler:$spineVersion" - } -} - -allprojects { - apply from: versionGradle - apply plugin: 'java' - apply plugin: 'jacoco' - apply plugin: 'project-report' - - repositories { - mavenLocal() - jcenter() - } - - ext.baseRoot = "$rootDir/../.." -} - -subprojects { - apply plugin: 'com.google.protobuf' - apply plugin: 'io.spine.tools.spine-model-compiler' - apply plugin: 'idea' - apply from: "$baseRoot/config/gradle/test-output.gradle" - apply from: "$baseRoot/config/gradle/model-compiler.gradle" - - dependencies { - implementation( - deps.build.errorProneCore, - deps.build.errorProneAnnotations, - "io.spine:spine-base:$spineVersion" - ) - - testImplementation "io.spine:spine-testlib:$spineVersion" - testRuntimeOnly deps.test.junit5Runner - } - - forceConfiguration(project) - - idea.module { - generatedSourceDirs += file("$projectDir/generated/main/java") - generatedSourceDirs += file("$projectDir/generated/main/spine") - - generatedSourceDirs += file("$projectDir/generated/test/java") - generatedSourceDirs += file("$projectDir/generated/test/spine") - } - - sourceSets { - main { - proto.srcDirs "$projectDir/src/main/proto" - java.srcDirs "$projectDir/generated/main/java", - "$projectDir/generated/main/spine", - "$projectDir/src/main/java" - resources.srcDirs "$projectDir/generated/main/resources" - } - - test { - proto.srcDirs "$projectDir/src/test/proto" - java.srcDirs "$projectDir/generated/test/java", - "$projectDir/generated/test/spine", - "$projectDir/src/test/java" - resources.srcDirs "$projectDir/generated/test/resources" - } - } - - test { - useJUnitPlatform { - includeEngines 'junit-jupiter' - } - - include "**/*Test.class" - } -} - -apply from: "$baseRoot/config/gradle/jacoco.gradle" diff --git a/tools/smoke-tests/build.gradle.kts b/tools/smoke-tests/build.gradle.kts new file mode 100644 index 0000000000..832e32ee8b --- /dev/null +++ b/tools/smoke-tests/build.gradle.kts @@ -0,0 +1,133 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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 io.spine.gradle.internal.DependencyResolution +import io.spine.gradle.internal.Deps + +buildscript { + + val baseRoot = "$rootDir/../.." + val versionGradle = "$baseRoot/version.gradle.kts" + + apply(from = versionGradle) + apply(from = "$baseRoot/config/gradle/dependencies.gradle") + + repositories { + gradlePluginPortal() + jcenter() + mavenLocal() + } + + val spineVersion: String by extra + + @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. + val deps = io.spine.gradle.internal.Deps + dependencies { + classpath(deps.build.guava) + classpath(deps.build.gradlePlugins.protobuf) { + exclude(group = "com.google.guava") + } + classpath(deps.build.gradlePlugins.errorProne) { + exclude(group = "com.google.guava") + } + classpath("io.spine.tools:spine-model-compiler:$spineVersion") + } +} + +plugins { + java + idea + @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. + id("com.google.protobuf").version(io.spine.gradle.internal.Deps.versions.protobufPlugin) +} + +val baseRoot = "$rootDir/../.." + +allprojects { + apply(from = "$baseRoot/version.gradle.kts") + apply(plugin = "java") + apply(plugin = "jacoco") + apply(plugin = "project-report") + + repositories { + mavenLocal() + jcenter() + } +} + +subprojects { + + apply { + plugin("com.google.protobuf") + plugin("io.spine.tools.spine-model-compiler") + plugin("idea") + from("$baseRoot/config/gradle/test-output.gradle") + from("$baseRoot/config/gradle/model-compiler.gradle") + } + + val spineVersion: String by extra + + dependencies { + implementation(Deps.build.errorProneCore) + Deps.build.errorProneAnnotations.forEach { implementation(it) } + implementation("io.spine:spine-base:$spineVersion") + testImplementation("io.spine:spine-testlib:$spineVersion") + testRuntimeOnly(Deps.test.junit5Runner) + } + + DependencyResolution.forceConfiguration(configurations) + + idea.module { + generatedSourceDirs.addAll(files( + "$projectDir/generated/main/java", + "$projectDir/generated/main/spine", + "$projectDir/generated/test/java", + "$projectDir/generated/test/spine" + )) + } + + sourceSets { + main { + proto.srcDir("$projectDir/src/main/proto") + java.srcDirs("$projectDir/generated/main/java", + "$projectDir/generated/main/spine", + "$projectDir/src/main/java") + resources.srcDir("$projectDir/generated/main/resources") + } + + test { + proto.srcDir("$projectDir/src/test/proto") + java.srcDirs("$projectDir/generated/test/java", + "$projectDir/generated/test/spine", + "$projectDir/src/test/java") + resources.srcDir("$projectDir/generated/test/resources") + } + } + + tasks.test { + useJUnitPlatform { + includeEngines("junit-jupiter") + } + + include("**/*Test.class") + } +} + +apply(from = "$baseRoot/config/gradle/jacoco.gradle") diff --git a/tools/smoke-tests/settings.gradle b/tools/smoke-tests/settings.gradle.kts similarity index 70% rename from tools/smoke-tests/settings.gradle rename to tools/smoke-tests/settings.gradle.kts index 6fb4f1e0c6..66da9578b6 100644 --- a/tools/smoke-tests/settings.gradle +++ b/tools/smoke-tests/settings.gradle.kts @@ -18,27 +18,27 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -include 'annotator-tests' -include 'column-tests' -include 'generated-validation-tests' -include 'known-types-tests' -include 'model-compiler-tests' -include 'rejection-tests' -include 'test-factories' -include 'validating-options-tests' -include 'validation-tests' +include("annotator-tests") +include("column-tests") +include("generated-validation-tests") +include("known-types-tests") +include("model-compiler-tests") +include("rejection-tests") +include("test-factories") +include("validating-options-tests") +include("validation-tests") /* * Dependency links established with the Gradle included build. * * See the `includeBuild(...)` block below for more info. */ -final def links = [ - 'io.spine:spine-base' : ':base', - 'io.spine.tools:spine-tool-base' : ':tool-base', - 'io.spine.tools:spine-model-compiler' : ':model-compiler', - 'io.spine:spine-testlib' : ':testlib' -] +val links = mapOf( + "io.spine:spine-base" to ":base", + "io.spine.tools:spine-tool-base" to ":tool-base", + "io.spine.tools:spine-model-compiler" to ":model-compiler", + "io.spine:spine-testlib" to ":testlib" +) /* * Include the `base` build into `smoke-test` project build. @@ -51,8 +51,8 @@ final def links = [ */ includeBuild("$rootDir/../../") { dependencySubstitution { - links.each { - substitute module(it.key) with project(it.value) + links.forEach { id, projectPath -> + substitute(module(id)).with(project(projectPath)) } } } From f19ff7a48d18cd17552ba35324020a220376f6a5 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 16:05:05 +0300 Subject: [PATCH 05/43] Allow using Groovy for `version.gradle` in test projects --- .../tools/gradle/testing/ProjectRoot.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java index 2126da6c60..4e33701c02 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java @@ -28,18 +28,19 @@ import static java.nio.file.Files.exists; /** - * Finds a root of a project by presence of the {@link #VERSION_GRADLE_NAME version.gradle.kts} - * file. + * Finds a root of a project by presence of the {@link #VERSION_GRADLE version.gradle} or + * {@link #VERSION_GRADLE_KTS version.gradle.kts} file. * *

Starts from the current directory, climbing up, until the file is found. By convention - * a project should have only one {@link #VERSION_GRADLE_NAME version.gradle.kts} file, which is - * placed in the root directory of the project. + * a project should have only one version file, which is placed in the root directory of + * the project. */ enum ProjectRoot { INSTANCE; - private static final String VERSION_GRADLE_NAME = "version.gradle.kts"; + private static final String VERSION_GRADLE = "version.gradle"; + private static final String VERSION_GRADLE_KTS = "version.gradle.kts"; static ProjectRoot instance() { return INSTANCE; @@ -49,28 +50,33 @@ static ProjectRoot instance() { * Obtains a root directory of the project. * * @throws IllegalStateException - * if the {@link #VERSION_GRADLE_NAME version.gradle.kts} file is not found + * if the {@link #VERSION_GRADLE version.gradle.kts} file is not found */ Path toPath() { Path workingFolderPath = Paths.get(".") .toAbsolutePath(); Path extGradleDirPath = workingFolderPath; - while (extGradleDirPath != null - && !exists(extGradleDirPath.resolve(VERSION_GRADLE_NAME))) { + while (extGradleDirPath != null && hasVersionGradle(extGradleDirPath)) { extGradleDirPath = extGradleDirPath.getParent(); } checkState(extGradleDirPath != null, - "%s file not found in %s or parent directories.", - VERSION_GRADLE_NAME, + "Neither `%s` nor `%s` found in `%s` or parent directories.", + VERSION_GRADLE, + VERSION_GRADLE_KTS, workingFolderPath); return extGradleDirPath; } + private static boolean hasVersionGradle(Path directory) { + return exists(directory.resolve(VERSION_GRADLE)) || + exists(directory.resolve(VERSION_GRADLE_KTS)); + } + /** * Obtains root directory of the project. * * @throws IllegalStateException - * if the {@link #VERSION_GRADLE_NAME version.gradle.kts} file is not found + * if the {@link #VERSION_GRADLE version.gradle.kts} file is not found * @see #toPath() */ File toFile() { From 1a8373b42db3e17abc119966cd8c71caec9f93c7 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 16:29:34 +0300 Subject: [PATCH 06/43] Migrate to Kotlin in smoke tests where possible --- license-report.md | 30 +++++++++---------- tools/smoke-tests/README.md | 6 ++++ .../smoke-tests/annotator-tests/build.gradle | 6 ++-- .../generated-validation-tests/build.gradle | 6 ++-- .../known-types-tests/build.gradle | 6 ---- .../model-compiler-tests/build.gradle | 4 ++- .../{build.gradle => build.gradle.kts} | 0 .../{build.gradle => build.gradle.kts} | 10 +++++-- .../{build.gradle => build.gradle.kts} | 10 +++++-- .../{build.gradle => build.gradle.kts} | 0 10 files changed, 48 insertions(+), 30 deletions(-) rename tools/smoke-tests/rejection-tests/{build.gradle => build.gradle.kts} (100%) rename tools/smoke-tests/test-factories/{build.gradle => build.gradle.kts} (90%) rename tools/smoke-tests/validating-options-tests/{build.gradle => build.gradle.kts} (85%) rename tools/smoke-tests/validation-tests/{build.gradle => build.gradle.kts} (100%) diff --git a/license-report.md b/license-report.md index 965feef201..5497a0fd5f 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:03 EEST 2020** 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 May 19 16:07:05 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Tue May 19 14:52:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:08 EEST 2020** 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 May 19 16:07:11 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Tue May 19 14:52:08 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:10 EEST 2020** 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 May 19 16:07:14 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Tue May 19 14:52:10 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:13 EEST 2020** 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 May 19 16:07:18 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Tue May 19 14:52:13 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:25 EEST 2020** 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 May 19 16:07:31 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Tue May 19 14:52:25 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:28 EEST 2020** 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 May 19 16:07:34 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Tue May 19 14:52:28 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:32 EEST 2020** 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 May 19 16:07:39 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Tue May 19 14:52:32 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:36 EEST 2020** 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 May 19 16:07:43 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Tue May 19 14:52:36 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:40 EEST 2020** 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 May 19 16:07:47 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Tue May 19 14:52:40 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:48 EEST 2020** 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 May 19 16:07:56 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Tue May 19 14:52:48 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:53 EEST 2020** 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 May 19 16:08:01 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Tue May 19 14:52:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:53 EEST 2020** 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 May 19 16:08:02 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Tue May 19 14:52:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:52:56 EEST 2020** 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 May 19 16:08:04 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Tue May 19 14:52:56 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:53:00 EEST 2020** 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 May 19 16:08:09 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Tue May 19 14:53:00 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 14:53:03 EEST 2020** 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 May 19 16:08:12 EEST 2020** 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/tools/smoke-tests/README.md b/tools/smoke-tests/README.md index 1a56adfd37..fc18537516 100644 --- a/tools/smoke-tests/README.md +++ b/tools/smoke-tests/README.md @@ -20,3 +20,9 @@ They also should be run separately from the `main` project build like this: To configure Intellij Idea for recognizing `smoke-tests` module as the actual source code, see [this page](https://blog.jetbrains.com/idea/2016/10/intellij-idea-2016-3-eap-gradle-composite-builds-and-android-studio-2-2/). + +### Gradle build scripts + +Some Gradle build files in this project rely on `modelCompiler` heavily. We cannot get a type-safe +accessor for the extension. In those build files we use Groovy instead of Kotlin. At alternative +would be using Kotlin and `withGroovyBuilder(..)`. diff --git a/tools/smoke-tests/annotator-tests/build.gradle b/tools/smoke-tests/annotator-tests/build.gradle index 925e7e8c36..8e4fcc5bf3 100644 --- a/tools/smoke-tests/annotator-tests/build.gradle +++ b/tools/smoke-tests/annotator-tests/build.gradle @@ -18,6 +18,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Deps + modelCompiler { generateAnnotations { internal = 'io.spine.test.annotation.Private' @@ -44,7 +46,7 @@ modelCompiler { dependencies { testImplementation( - deps.grpc.grpcStub, - deps.grpc.grpcProtobuf + Deps.grpc.stub, + Deps.grpc.protobuf ) } diff --git a/tools/smoke-tests/generated-validation-tests/build.gradle b/tools/smoke-tests/generated-validation-tests/build.gradle index 40f520727c..60539766ec 100644 --- a/tools/smoke-tests/generated-validation-tests/build.gradle +++ b/tools/smoke-tests/generated-validation-tests/build.gradle @@ -18,11 +18,13 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Deps + modelCompiler { generateValidation = true } dependencies { - testAnnotationProcessor deps.build.autoService.processor - testCompileOnly deps.build.autoService.annotations + testAnnotationProcessor Deps.build.autoService.processor + testCompileOnly Deps.build.autoService.annotations } diff --git a/tools/smoke-tests/known-types-tests/build.gradle b/tools/smoke-tests/known-types-tests/build.gradle index 7fda8353ec..5fcf59054e 100644 --- a/tools/smoke-tests/known-types-tests/build.gradle +++ b/tools/smoke-tests/known-types-tests/build.gradle @@ -18,12 +18,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - This Smoke Tests module verifies correctness of composition of {@code KnownTypes}. - No additional config is required. - See smoke-tests/build.gradle for all the config of the project. -*/ - modelCompiler { generateValidation = true } diff --git a/tools/smoke-tests/model-compiler-tests/build.gradle b/tools/smoke-tests/model-compiler-tests/build.gradle index f0284350d1..1b518b56cf 100644 --- a/tools/smoke-tests/model-compiler-tests/build.gradle +++ b/tools/smoke-tests/model-compiler-tests/build.gradle @@ -18,9 +18,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Deps + dependencies { testImplementation project(':test-factories') - testImplementation deps.test.truth + testImplementation Deps.test.truth } modelCompiler { diff --git a/tools/smoke-tests/rejection-tests/build.gradle b/tools/smoke-tests/rejection-tests/build.gradle.kts similarity index 100% rename from tools/smoke-tests/rejection-tests/build.gradle rename to tools/smoke-tests/rejection-tests/build.gradle.kts diff --git a/tools/smoke-tests/test-factories/build.gradle b/tools/smoke-tests/test-factories/build.gradle.kts similarity index 90% rename from tools/smoke-tests/test-factories/build.gradle rename to tools/smoke-tests/test-factories/build.gradle.kts index 767683c1e3..7471b88210 100644 --- a/tools/smoke-tests/test-factories/build.gradle +++ b/tools/smoke-tests/test-factories/build.gradle.kts @@ -18,10 +18,16 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Deps + /* This Smoke Tests module holds a TestMethodFactory that is used in model-compiler-test module. */ -dependencies{ - implementation deps.gen.javaPoet +plugins { + java +} + +dependencies { + implementation(Deps.gen.javaPoet) } diff --git a/tools/smoke-tests/validating-options-tests/build.gradle b/tools/smoke-tests/validating-options-tests/build.gradle.kts similarity index 85% rename from tools/smoke-tests/validating-options-tests/build.gradle rename to tools/smoke-tests/validating-options-tests/build.gradle.kts index 7b9c371cbe..35d9ebecd2 100644 --- a/tools/smoke-tests/validating-options-tests/build.gradle +++ b/tools/smoke-tests/validating-options-tests/build.gradle.kts @@ -18,7 +18,13 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Deps + +plugins { + java +} + dependencies { - testAnnotationProcessor deps.build.autoService.processor - testCompileOnly deps.build.autoService.annotations + testAnnotationProcessor(Deps.build.autoService.processor) + testCompileOnly(Deps.build.autoService.annotations) } diff --git a/tools/smoke-tests/validation-tests/build.gradle b/tools/smoke-tests/validation-tests/build.gradle.kts similarity index 100% rename from tools/smoke-tests/validation-tests/build.gradle rename to tools/smoke-tests/validation-tests/build.gradle.kts From 0fb1ed6637a16a8b79374fc3c5b32450a6c11e1e Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 19:14:03 +0300 Subject: [PATCH 07/43] Update version --- license-report.md | 60 +++++++++++++++++++++++----------------------- pom.xml | 4 ++-- version.gradle.kts | 2 +- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/license-report.md b/license-report.md index 5497a0fd5f..d582b2bdb2 100644 --- a/license-report.md +++ b/license-report.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine:spine-base:1.5.11` +# Dependencies of `io.spine:spine-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -328,12 +328,12 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:05 EEST 2020** 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 May 19 19:08:54 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.11` +# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.12` ## Runtime 1. **Group:** com.github.ben-manes.caffeine **Name:** caffeine **Version:** 2.7.0 @@ -773,12 +773,12 @@ This report was generated on **Tue May 19 16:07:05 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:11 EEST 2020** 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 May 19 19:09:00 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.11` +# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.12` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -1156,12 +1156,12 @@ This report was generated on **Tue May 19 16:07:11 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:14 EEST 2020** 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 May 19 19:09:03 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.11` +# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1521,12 +1521,12 @@ This report was generated on **Tue May 19 16:07:14 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:18 EEST 2020** 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 May 19 19:09:07 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-model-compiler:1.5.11` +# Dependencies of `io.spine.tools:spine-model-compiler:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1902,12 +1902,12 @@ This report was generated on **Tue May 19 16:07:18 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:31 EEST 2020** 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 May 19 19:09:20 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-mute-logging:1.5.11` +# Dependencies of `io.spine.tools:spine-mute-logging:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -2281,12 +2281,12 @@ This report was generated on **Tue May 19 16:07:31 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:34 EEST 2020** 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 May 19 19:09:23 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-base:1.5.11` +# Dependencies of `io.spine.tools:spine-plugin-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -2646,12 +2646,12 @@ This report was generated on **Tue May 19 16:07:34 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:39 EEST 2020** 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 May 19 19:09:27 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.11` +# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -3065,12 +3065,12 @@ This report was generated on **Tue May 19 16:07:39 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:43 EEST 2020** 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 May 19 19:09:31 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3430,12 +3430,12 @@ This report was generated on **Tue May 19 16:07:43 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:47 EEST 2020** 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 May 19 19:09:36 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3795,12 +3795,12 @@ This report was generated on **Tue May 19 16:07:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:07:56 EEST 2020** 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 May 19 19:09:45 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-api:1.5.11` +# Dependencies of `io.spine.tools:spine-protoc-api:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4120,12 +4120,12 @@ This report was generated on **Tue May 19 16:07:56 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:08:01 EEST 2020** 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 May 19 19:09:50 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4453,12 +4453,12 @@ This report was generated on **Tue May 19 16:08:01 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:08:02 EEST 2020** 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 May 19 19:09:50 EEST 2020** 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:spine-testlib:1.5.11` +# Dependencies of `io.spine:spine-testlib:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -4832,12 +4832,12 @@ This report was generated on **Tue May 19 16:08:02 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:08:04 EEST 2020** 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 May 19 19:09:54 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-tool-base:1.5.11` +# Dependencies of `io.spine.tools:spine-tool-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5165,12 +5165,12 @@ This report was generated on **Tue May 19 16:08:04 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:08:09 EEST 2020** 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 May 19 19:09:58 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-validation-generator:1.5.11` +# Dependencies of `io.spine.tools:spine-validation-generator:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5498,4 +5498,4 @@ This report was generated on **Tue May 19 16:08:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 16:08:12 EEST 2020** 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 May 19 19:10:02 EEST 2020** 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 f2dd9278fa..f780e4d77d 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-base -1.5.11 +1.5.12 2015 @@ -154,7 +154,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-protoc-plugin - 1.5.11 + 1.5.12 test diff --git a/version.gradle.kts b/version.gradle.kts index d307d56558..211c55daa5 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -25,7 +25,7 @@ * as we want to manage the versions in a single source. */ -val SPINE_VERSION = "1.5.11" +val SPINE_VERSION = "1.5.12" project.extra.apply { this["spineVersion"] = SPINE_VERSION From 68930e7a46a58d53f735d8657222e1d7e2e6fcbe Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 19:14:28 +0300 Subject: [PATCH 08/43] Fix dependency declarations --- base-validating-builders/build.gradle.kts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/base-validating-builders/build.gradle.kts b/base-validating-builders/build.gradle.kts index ab9450daae..838c7f5a85 100644 --- a/base-validating-builders/build.gradle.kts +++ b/base-validating-builders/build.gradle.kts @@ -36,11 +36,11 @@ buildscript { val deps = io.spine.gradle.internal.Deps dependencies { - classpath(deps.build.protobuf) + deps.build.protobuf.forEach { classpath(it) } classpath(deps.build.guava) classpath(deps.build.flogger) classpath(deps.build.checkerAnnotations) - classpath(deps.build.errorProneAnnotations) + deps.build.errorProneAnnotations.forEach { classpath(it) } classpath(deps.build.jsr305Annotations) classpath(deps.build.gradlePlugins.protobuf) @@ -95,18 +95,16 @@ repositories { val spineVersion: String by extra dependencies { - compileOnly(Deps.build.protobuf) + Deps.build.protobuf.forEach { compileOnly(it) } compileOnly(Deps.build.guava) compileOnly(Deps.build.flogger) compileOnly(Deps.build.checkerAnnotations) - compileOnly(Deps.build.errorProneAnnotations) + Deps.build.errorProneAnnotations.forEach { compileOnly(it) } compileOnly(Deps.build.jsr305Annotations) - compileOnly(Deps.build.errorProneAnnotations) - // The below dependency refers to a local artifact. // See `repositories.flatDir` definition above. - compileOnly("base-${spineVersion}") + compileOnly(name = "base-${spineVersion}", group = "") } sourceSets { From 7090a3914be0726a670215b90b951b2d327eacfd Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 19:14:37 +0300 Subject: [PATCH 09/43] Fix file name --- .../{settings.gradle.kt => settings.gradle.kts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename base-validating-builders/{settings.gradle.kt => settings.gradle.kts} (100%) diff --git a/base-validating-builders/settings.gradle.kt b/base-validating-builders/settings.gradle.kts similarity index 100% rename from base-validating-builders/settings.gradle.kt rename to base-validating-builders/settings.gradle.kts From 8b7328e417d655f6149f96a8d190dbfd74682b26 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 19:31:37 +0300 Subject: [PATCH 10/43] Fix test names --- .../spine/tools/protodoc/ProtoJavadocPluginTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/javadoc-prettifier/src/test/java/io/spine/tools/protodoc/ProtoJavadocPluginTest.java b/tools/javadoc-prettifier/src/test/java/io/spine/tools/protodoc/ProtoJavadocPluginTest.java index ae518cfc41..fcc2a93672 100644 --- a/tools/javadoc-prettifier/src/test/java/io/spine/tools/protodoc/ProtoJavadocPluginTest.java +++ b/tools/javadoc-prettifier/src/test/java/io/spine/tools/protodoc/ProtoJavadocPluginTest.java @@ -70,14 +70,14 @@ void setUp(@TempDir Path tempDirPath) { @Test @DisplayName("apply to project") - void apply_to_project() { + void applyToProject() { PluginContainer plugins = project.getPlugins(); assertTrue(plugins.hasPlugin(PLUGIN_ID)); } @Test @DisplayName("have extension") - void have_extension() { + void haveExtension() { Extension extension = project.getExtensions() .getByType(Extension.class); assertNotNull(extension); @@ -85,7 +85,7 @@ void have_extension() { @Test @DisplayName("add formatProtoDoc task") - void add_task_formatProtoDoc() { + void addTaskFormatProtoDoc() { Task task = task(formatProtoDoc); assertNotNull(task); assertTrue(dependsOn(task, generateProto)); @@ -94,7 +94,7 @@ void add_task_formatProtoDoc() { @Test @DisplayName("add formatTestProtoDoc task") - void add_task_formatTestProtoDoc() { + void addTaskFormatTestProtoDoc() { Task task = task(formatTestProtoDoc); assertNotNull(task); assertTrue(dependsOn(task, generateTestProto)); @@ -103,7 +103,7 @@ void add_task_formatTestProtoDoc() { @Test @DisplayName("format generated java sources") - void format_generated_java_sources() throws IOException { + void formatGeneratedJavaSources() throws IOException { String text = "javadoc text"; String generatedFieldDescription = " field description"; String textInPreTags = new StringBuilder().append(OPENING_PRE) @@ -118,7 +118,7 @@ void format_generated_java_sources() throws IOException { @Test @DisplayName("handle multiline code snippets") - void handle_multiline_code_snippets_properly() throws IOException { + void handleMultilineCodeSnippetsProperly() throws IOException { String protoDoc = multilineJavadoc(BACKTICK, BACKTICK); String javadoc = multilineJavadoc("{@code ", "}"); From c55469b3bb5f0f2e3d4bdd0ffc2afb482604f368 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 19:31:49 +0300 Subject: [PATCH 11/43] Fix condition --- .../main/java/io/spine/tools/gradle/testing/ProjectRoot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java index 4e33701c02..b5ebdc8f13 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/ProjectRoot.java @@ -56,7 +56,7 @@ Path toPath() { Path workingFolderPath = Paths.get(".") .toAbsolutePath(); Path extGradleDirPath = workingFolderPath; - while (extGradleDirPath != null && hasVersionGradle(extGradleDirPath)) { + while (extGradleDirPath != null && !hasVersionGradle(extGradleDirPath)) { extGradleDirPath = extGradleDirPath.getParent(); } checkState(extGradleDirPath != null, From 4b93e6616a38b972368cafe334863497d0b342bc Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 20:47:44 +0300 Subject: [PATCH 12/43] Add `pull.bat` --- pull.bat | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pull.bat diff --git a/pull.bat b/pull.bat new file mode 100644 index 0000000000..50f0ef31aa --- /dev/null +++ b/pull.bat @@ -0,0 +1,29 @@ +@echo off + +rem +rem Copyright 2020, TeamDev. All rights reserved. +rem +rem Redistribution and use in source and/or binary forms, with or without +rem modification, must retain the above copyright notice and the following +rem disclaimer. +rem +rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +rem "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +rem LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +rem A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +rem OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +rem SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +rem LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +rem DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +rem THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +rem + +.\config\pull.bat + +echo "Copying buildSrc to base-validating-builders" +xcopy /S/E/I/F/Y .\buildSrc ..\base-validating-builders\buildSrc + +echo "Copying buildSrc to smoke-tests" +xcopy /S/E/I/F/Y .\buildSrc ..\tools\smoke-tests\buildSrc From 3b8b8b8d2e910c859f2947f570de14d68d6c4683 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 20:53:19 +0300 Subject: [PATCH 13/43] Add a comma --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa50632fde..296de93374 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ The repository also contains: ### Notes on Coverage -Currently the coverage stats reflect the hits gathered from unit tests. However, Gradle plugins - +Currently, the coverage stats reflect the hits gathered from unit tests. However, Gradle plugins - a significant part of this repository - are covered with integration tests. During each of those, a standalone Gradle process is launched. The limitations of `jacoco` task API do not allow to include the coverage of such tests into the repository coverage report easily. Therefore, current coverage From eef75b83ea1a46eb38e75a8a20a97f2631e8c689 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 20:54:18 +0300 Subject: [PATCH 14/43] Add a note on `pull` scripts. --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 296de93374..f68124a02f 100644 --- a/README.md +++ b/README.md @@ -38,3 +38,13 @@ a significant part of this repository - are covered with integration tests. Duri standalone Gradle process is launched. The limitations of `jacoco` task API do not allow to include the coverage of such tests into the repository coverage report easily. Therefore, current coverage percentage shown is significantly lower than a real one. + +### `pull` scripts + +In most Spine repositories, we update the `config` submodule by running `./config/pull` (or its +Batch equivalent). However, in `base` we also need to copy Gradle `buildSrc` directory into included +builds: `smoke-tests` and `base-validating-builders`. Thus, here we have `./pull` and `.\pull.bat` +scripts which do whatever their `config` counterparts do and also copy `buildSrc` into the two +included build directories. + +It is always recommended to run `./pull` instead of `./config/pull`. From b4a595538aaae660ca8c811cacaf3d7ecf324fc6 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 21:31:07 +0300 Subject: [PATCH 15/43] Add copyright --- pull | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pull b/pull index fafab8c976..cafe48cb16 100755 --- a/pull +++ b/pull @@ -1,5 +1,25 @@ #!/usr/bin/env bash +# +# Copyright 2020, TeamDev. All rights reserved. +# +# 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. +# + ./config/pull echo "Copying buildSrc to base-validating-builders" From 2858ada5259a8fa217c9bd46a75502cdce6b0d7a Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 21:50:55 +0300 Subject: [PATCH 16/43] Check if `buildSrc`s are the same on CI --- .github/workflows/buildSrc.yml | 26 ++++++++++++++++++++++++++ script/same.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .github/workflows/buildSrc.yml create mode 100755 script/same.sh diff --git a/.github/workflows/buildSrc.yml b/.github/workflows/buildSrc.yml new file mode 100644 index 0000000000..d8d1b41a89 --- /dev/null +++ b/.github/workflows/buildSrc.yml @@ -0,0 +1,26 @@ +# Ensures that `buildSrc` directories are the same in all 3 projects: +# - the root project; +# - smoke tests; +# - the `base-validating-builders` project. + +name: Check buildSrc copies + +on: + pull_request: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + + - name: Check root and `smoke-tests` copies are the same. + shell: cmd + run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc + + - name: Check root and `base-validating-builders` copies are the same. + shell: cmd + run: ./script/same.sh ./buildSrc ./base-validating-builders/buildSrc diff --git a/script/same.sh b/script/same.sh new file mode 100755 index 0000000000..b3fffb4120 --- /dev/null +++ b/script/same.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# +# Copyright 2020, TeamDev. All rights reserved. +# +# 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. +# + +difference=$(diff -r "$1" "$2") + +if [ -z "$difference" ]; +then + echo "Directories $1 and $2 are equal." +else + echo "Directories $1 and $2 are NOT equal." + echo "$difference" + exit 1 +fi From 4388ce52ae8e12797ea978fa17a9c9f20ba6c554 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 21:52:50 +0300 Subject: [PATCH 17/43] Fix scripting dialect --- .github/workflows/buildSrc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildSrc.yml b/.github/workflows/buildSrc.yml index d8d1b41a89..3b17356221 100644 --- a/.github/workflows/buildSrc.yml +++ b/.github/workflows/buildSrc.yml @@ -18,9 +18,9 @@ jobs: - uses: actions/checkout@v1 - name: Check root and `smoke-tests` copies are the same. - shell: cmd + shell: bash run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc - name: Check root and `base-validating-builders` copies are the same. - shell: cmd + shell: bash run: ./script/same.sh ./buildSrc ./base-validating-builders/buildSrc From 1ffa9e10614eba4fd80662846acf27963ce738d0 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 21:53:43 +0300 Subject: [PATCH 18/43] Test CI --- .github/workflows/buildSrc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildSrc.yml b/.github/workflows/buildSrc.yml index 3b17356221..ed54fbe5cc 100644 --- a/.github/workflows/buildSrc.yml +++ b/.github/workflows/buildSrc.yml @@ -19,7 +19,7 @@ jobs: - name: Check root and `smoke-tests` copies are the same. shell: bash - run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc + run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc/src - name: Check root and `base-validating-builders` copies are the same. shell: bash From fdf17e808383a392e5430ea031bec25173e6d7e0 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 19 May 2020 21:54:21 +0300 Subject: [PATCH 19/43] Fix CI --- .github/workflows/buildSrc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildSrc.yml b/.github/workflows/buildSrc.yml index ed54fbe5cc..3b17356221 100644 --- a/.github/workflows/buildSrc.yml +++ b/.github/workflows/buildSrc.yml @@ -19,7 +19,7 @@ jobs: - name: Check root and `smoke-tests` copies are the same. shell: bash - run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc/src + run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc - name: Check root and `base-validating-builders` copies are the same. shell: bash From 0ace9ef1ba2492e4bbd8725d0b178cfabb614d95 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 20 May 2020 16:06:26 +0300 Subject: [PATCH 20/43] Migrate leftover Groovy to Kotlin --- license-report.md | 30 +++++------ .../{build.gradle => build.gradle.kts} | 43 ++++++++------- .../{build.gradle => build.gradle.kts} | 6 ++- .../{build.gradle => build.gradle.kts} | 9 +++- .../{build.gradle => build.gradle.kts} | 4 ++ .../model-compiler-tests/build.gradle | 49 ----------------- .../model-compiler-tests/build.gradle.kts | 54 +++++++++++++++++++ .../{build.gradle => build.gradle.kts} | 16 ++++-- 8 files changed, 119 insertions(+), 92 deletions(-) rename tools/smoke-tests/annotator-tests/{build.gradle => build.gradle.kts} (62%) rename tools/smoke-tests/column-tests/{build.gradle => build.gradle.kts} (86%) rename tools/smoke-tests/generated-validation-tests/{build.gradle => build.gradle.kts} (85%) rename tools/smoke-tests/known-types-tests/{build.gradle => build.gradle.kts} (94%) delete mode 100644 tools/smoke-tests/model-compiler-tests/build.gradle create mode 100644 tools/smoke-tests/model-compiler-tests/build.gradle.kts rename tools/validation-generator/{build.gradle => build.gradle.kts} (81%) diff --git a/license-report.md b/license-report.md index d582b2bdb2..9b10098bd3 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:08:54 EEST 2020** 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 **Wed May 20 15:52:42 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Tue May 19 19:08:54 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:00 EEST 2020** 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 **Wed May 20 15:52:47 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Tue May 19 19:09:00 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:03 EEST 2020** 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 **Wed May 20 15:52:49 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Tue May 19 19:09:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:07 EEST 2020** 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 **Wed May 20 15:52:53 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Tue May 19 19:09:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:20 EEST 2020** 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 **Wed May 20 15:53:05 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Tue May 19 19:09:20 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:23 EEST 2020** 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 **Wed May 20 15:53:07 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Tue May 19 19:09:23 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:27 EEST 2020** 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 **Wed May 20 15:53:12 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Tue May 19 19:09:27 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:31 EEST 2020** 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 **Wed May 20 15:53:15 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Tue May 19 19:09:31 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:36 EEST 2020** 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 **Wed May 20 15:53:19 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Tue May 19 19:09:36 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:45 EEST 2020** 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 **Wed May 20 15:53:27 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Tue May 19 19:09:45 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:50 EEST 2020** 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 **Wed May 20 15:53:32 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Tue May 19 19:09:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:50 EEST 2020** 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 **Wed May 20 15:53:33 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Tue May 19 19:09:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:54 EEST 2020** 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 **Wed May 20 15:53:36 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Tue May 19 19:09:54 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:09:58 EEST 2020** 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 **Wed May 20 15:53:40 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Tue May 19 19:09:58 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 19 19:10:02 EEST 2020** 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 **Wed May 20 15:53:43 EEST 2020** 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/tools/smoke-tests/annotator-tests/build.gradle b/tools/smoke-tests/annotator-tests/build.gradle.kts similarity index 62% rename from tools/smoke-tests/annotator-tests/build.gradle rename to tools/smoke-tests/annotator-tests/build.gradle.kts index 8e4fcc5bf3..485014e82f 100644 --- a/tools/smoke-tests/annotator-tests/build.gradle +++ b/tools/smoke-tests/annotator-tests/build.gradle.kts @@ -20,33 +20,36 @@ import io.spine.gradle.internal.Deps +plugins { + java + id("io.spine.tools.spine-model-compiler") +} + modelCompiler { generateAnnotations { - internal = 'io.spine.test.annotation.Private' - experimental = 'io.spine.test.annotation.Attempt' - beta = 'io.spine.test.annotation.Alpha' - spi = 'io.spine.test.annotation.ServiceProviderInterface' + internal = "io.spine.test.annotation.Private" + experimental = "io.spine.test.annotation.Attempt" + beta = "io.spine.test.annotation.Alpha" + spi = "io.spine.test.annotation.ServiceProviderInterface" } - internalClassPatterns += [ - '.*OrBuilder', // Classes ending with `OrBuilder`. - '.*Proto', // Classes ending with `Proto`. - '.*complex\\.Matter\\$.*[AaLl].*' + internalClassPatterns.addAll(listOf( + ".*OrBuilder", // Classes ending with `OrBuilder`. + ".*Proto", // Classes ending with `Proto`. + ".*complex\\.Matter\\$.*[AaLl].*" // Classes which have `complex.Matter$` in their FQN followed by an upper or lower // case letters ` A` or `L`. // For the sake of testing. This is not a recommended usage. - ] - internalMethodNames += [ - 'newBuilderForType', - 'parseFrom', - 'parseDelimitedFrom', - 'getSerializedSize', - 'internalGetValueMap' - ] + )) + internalMethodNames.addAll(listOf( + "newBuilderForType", + "parseFrom", + "parseDelimitedFrom", + "getSerializedSize", + "internalGetValueMap" + )) } dependencies { - testImplementation( - Deps.grpc.stub, - Deps.grpc.protobuf - ) + testImplementation(Deps.grpc.stub) + testImplementation(Deps.grpc.protobuf) } diff --git a/tools/smoke-tests/column-tests/build.gradle b/tools/smoke-tests/column-tests/build.gradle.kts similarity index 86% rename from tools/smoke-tests/column-tests/build.gradle rename to tools/smoke-tests/column-tests/build.gradle.kts index a049867a18..d90a79a926 100644 --- a/tools/smoke-tests/column-tests/build.gradle +++ b/tools/smoke-tests/column-tests/build.gradle.kts @@ -18,8 +18,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +plugins { + id("io.spine.tools.spine-model-compiler") +} + modelCompiler { fields { - generateFor "spine.tools.column.ProjectName", markAs("io.spine.tools.protoc.given.ProjectNameField") + generateFor("spine.tools.column.ProjectName", markAs("io.spine.tools.protoc.given.ProjectNameField")) } } diff --git a/tools/smoke-tests/generated-validation-tests/build.gradle b/tools/smoke-tests/generated-validation-tests/build.gradle.kts similarity index 85% rename from tools/smoke-tests/generated-validation-tests/build.gradle rename to tools/smoke-tests/generated-validation-tests/build.gradle.kts index 60539766ec..883b1dfdc0 100644 --- a/tools/smoke-tests/generated-validation-tests/build.gradle +++ b/tools/smoke-tests/generated-validation-tests/build.gradle.kts @@ -20,11 +20,16 @@ import io.spine.gradle.internal.Deps +plugins { + java + id("io.spine.tools.spine-model-compiler") +} + modelCompiler { generateValidation = true } dependencies { - testAnnotationProcessor Deps.build.autoService.processor - testCompileOnly Deps.build.autoService.annotations + testAnnotationProcessor(Deps.build.autoService.processor) + testCompileOnly(Deps.build.autoService.annotations) } diff --git a/tools/smoke-tests/known-types-tests/build.gradle b/tools/smoke-tests/known-types-tests/build.gradle.kts similarity index 94% rename from tools/smoke-tests/known-types-tests/build.gradle rename to tools/smoke-tests/known-types-tests/build.gradle.kts index 5fcf59054e..71b5a63633 100644 --- a/tools/smoke-tests/known-types-tests/build.gradle +++ b/tools/smoke-tests/known-types-tests/build.gradle.kts @@ -18,6 +18,10 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +plugins { + id("io.spine.tools.spine-model-compiler") +} + modelCompiler { generateValidation = true } diff --git a/tools/smoke-tests/model-compiler-tests/build.gradle b/tools/smoke-tests/model-compiler-tests/build.gradle deleted file mode 100644 index 1b518b56cf..0000000000 --- a/tools/smoke-tests/model-compiler-tests/build.gradle +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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 io.spine.gradle.internal.Deps - -dependencies { - testImplementation project(':test-factories') - testImplementation Deps.test.truth -} - -modelCompiler { - - interfaces { - mark messages().inFiles(suffix: 'documents.proto'), asType('io.spine.tools.protoc.DocumentMessage') - mark messages().inFiles(prefix: 'spine/tools/protoc/prefix_generation'), asType('io.spine.tools.protoc.PrefixedMessage') - mark messages().inFiles(suffix: 'suffix_generation_test.proto'), asType('io.spine.tools.protoc.SuffixedMessage') - mark messages().inFiles(regex: '.*regex.*test.*'), asType('io.spine.tools.protoc.RegexedMessage') - } - - methods { - applyFactory "io.spine.tools.protoc.TestMethodFactory", messages().inFiles(suffix: 'suffix_generation_test.proto') - applyFactory "io.spine.tools.protoc.TestMethodFactory", messages().inFiles(prefix: 'spine/tools/protoc/prefix_generation') - applyFactory "io.spine.tools.protoc.TestMethodFactory", messages().inFiles(regex: '.*regex.*test.*') - applyFactory "io.spine.tools.protoc.TestMethodFactory", messages().inFiles(regex: '.*multi.*factory.*test.*') - } - - nestedClasses { - applyFactory "io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(suffix: 'suffix_generation_test.proto') - applyFactory "io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(prefix: 'spine/tools/protoc/prefix_generation') - applyFactory "io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(regex: '.*regex.*test.*') - } -} diff --git a/tools/smoke-tests/model-compiler-tests/build.gradle.kts b/tools/smoke-tests/model-compiler-tests/build.gradle.kts new file mode 100644 index 0000000000..63ea50bf68 --- /dev/null +++ b/tools/smoke-tests/model-compiler-tests/build.gradle.kts @@ -0,0 +1,54 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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 io.spine.gradle.internal.Deps + +plugins { + java + id("io.spine.tools.spine-model-compiler") +} + +dependencies { + testImplementation(project(":test-factories")) + Deps.test.truth.forEach { testImplementation(it) } +} + +modelCompiler { + + interfaces { + mark(messages().inFiles(mapOf("suffix" to "documents.proto")), asType("io.spine.tools.protoc.DocumentMessage")) + mark(messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation")), asType("io.spine.tools.protoc.PrefixedMessage")) + mark(messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto")), asType("io.spine.tools.protoc.SuffixedMessage")) + mark(messages().inFiles(mapOf("regex" to ".*regex.*test.*")), asType("io.spine.tools.protoc.RegexedMessage")) + } + + methods { + applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto"))) + applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation"))) + applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("regex" to ".*regex.*test.*"))) + applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("regex" to ".*multi.*factory.*test.*"))) + } + + nestedClasses { + applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto"))) + applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation"))) + applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("regex" to ".*regex.*test.*"))) + } +} diff --git a/tools/validation-generator/build.gradle b/tools/validation-generator/build.gradle.kts similarity index 81% rename from tools/validation-generator/build.gradle rename to tools/validation-generator/build.gradle.kts index 0bc445ba47..02c5a2ca04 100644 --- a/tools/validation-generator/build.gradle +++ b/tools/validation-generator/build.gradle.kts @@ -18,11 +18,17 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -group = 'io.spine.tools' +import io.spine.gradle.internal.Deps + +plugins { + java +} + +group = "io.spine.tools" dependencies { - api deps.gen.javaPoet - implementation project(':tool-base') - testImplementation project(':base') - testImplementation project(':testlib') + api(Deps.gen.javaPoet) + implementation(project(":tool-base")) + testImplementation(project(":base")) + testImplementation(project(":testlib")) } From e790ecd93fa075fee112274638ccd135de5001a9 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 20 May 2020 18:33:40 +0300 Subject: [PATCH 21/43] Use Kotlin in temporary test Gradle projects --- build.gradle.kts | 2 - license-report.md | 30 +++---- .../{build.gradle => build.gradle.kts} | 19 ++-- .../{build.gradle => build.gradle.kts} | 53 ++++++----- .../tools/gradle/testing/BuildGradle.java | 23 +++-- .../tools/gradle/testing/GradleProject.java | 10 +++ .../testing/MemoizingPluginRegistryTest.java | 2 +- .../{build.gradle => build.gradle.kts} | 12 +-- .../src/test/resources/build.gradle | 81 ----------------- .../src/test/resources/build.gradle.kts | 90 +++++++++++++++++++ 10 files changed, 176 insertions(+), 146 deletions(-) rename tools/javadoc-prettifier/src/test/resources/{build.gradle => build.gradle.kts} (74%) rename tools/model-compiler/src/test/resources/{build.gradle => build.gradle.kts} (56%) rename tools/plugin-testlib/src/test/resources/{build.gradle => build.gradle.kts} (83%) delete mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle create mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 31980c0b0a..7f06fc0995 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,8 +30,6 @@ buildscript { @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. val resolution = io.spine.gradle.internal.DependencyResolution - @Suppress("RemoveRedundantQualifierName") - val deps = io.spine.gradle.internal.Deps resolution.defaultRepositories(repositories) resolution.forceConfiguration(configurations) } diff --git a/license-report.md b/license-report.md index 9b10098bd3..0e48b36d94 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:42 EEST 2020** 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 **Wed May 20 18:25:21 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Wed May 20 15:52:42 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:47 EEST 2020** 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 **Wed May 20 18:25:27 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Wed May 20 15:52:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:49 EEST 2020** 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 **Wed May 20 18:25:30 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Wed May 20 15:52:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:53 EEST 2020** 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 **Wed May 20 18:25:33 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Wed May 20 15:52:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:05 EEST 2020** 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 **Wed May 20 18:25:46 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Wed May 20 15:53:05 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:07 EEST 2020** 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 **Wed May 20 18:25:48 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Wed May 20 15:53:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:12 EEST 2020** 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 **Wed May 20 18:25:52 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Wed May 20 15:53:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:15 EEST 2020** 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 **Wed May 20 18:25:56 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Wed May 20 15:53:15 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:19 EEST 2020** 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 **Wed May 20 18:26:00 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Wed May 20 15:53:19 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:27 EEST 2020** 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 **Wed May 20 18:26:08 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Wed May 20 15:53:27 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:32 EEST 2020** 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 **Wed May 20 18:26:12 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Wed May 20 15:53:32 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:33 EEST 2020** 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 **Wed May 20 18:26:13 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Wed May 20 15:53:33 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:36 EEST 2020** 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 **Wed May 20 18:26:15 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Wed May 20 15:53:36 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:40 EEST 2020** 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 **Wed May 20 18:26:19 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Wed May 20 15:53:40 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:43 EEST 2020** 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 **Wed May 20 18:26:22 EEST 2020** 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/tools/javadoc-prettifier/src/test/resources/build.gradle b/tools/javadoc-prettifier/src/test/resources/build.gradle.kts similarity index 74% rename from tools/javadoc-prettifier/src/test/resources/build.gradle rename to tools/javadoc-prettifier/src/test/resources/build.gradle.kts index 0622af5297..61b515f6b1 100644 --- a/tools/javadoc-prettifier/src/test/resources/build.gradle +++ b/tools/javadoc-prettifier/src/test/resources/build.gradle.kts @@ -21,10 +21,9 @@ buildscript { // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" + apply(from = "$rootDir/test-env.gradle") + val enclosingRoot = project.extensions.extraProperties["enclosingRootDir"] + apply(from = "$enclosingRoot/version.gradle.kts") repositories { mavenLocal() @@ -32,14 +31,16 @@ buildscript { } dependencies { - classpath "io.spine.tools:spine-javadoc-prettifier:$spineVersion" - classpath deps.build.gradlePlugins.protobuf + classpath("io.spine.tools:spine-javadoc-prettifier:$spineVersion") + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) } } -apply plugin: 'java' -apply plugin: 'io.spine.tools.protobuf-javadoc-plugin' -apply plugin: 'com.google.protobuf' +plugins { + id("java") + id("io.spine.tools.protobuf-javadoc-plugin") + id("com.google.protobuf") +} protoJavadoc { mainGenProtoDir = "generated/main/java" diff --git a/tools/model-compiler/src/test/resources/build.gradle b/tools/model-compiler/src/test/resources/build.gradle.kts similarity index 56% rename from tools/model-compiler/src/test/resources/build.gradle rename to tools/model-compiler/src/test/resources/build.gradle.kts index 977e4c973c..430b257f7f 100644 --- a/tools/model-compiler/src/test/resources/build.gradle +++ b/tools/model-compiler/src/test/resources/build.gradle.kts @@ -18,66 +18,65 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Repos +import java.net.URI + // Common build file for the tests with same configuration buildscript { // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" + apply(from = "$rootDir/test-env.gradle") + apply(from = "${extra["enclosingRootDir"]}/version.gradle.kts") repositories { mavenLocal() jcenter() - maven { url = repos.spine } - maven { url = repos.spineSnapshots } + maven { url = java.net.URI(io.spine.gradle.internal.Repos.spine) } } dependencies { - classpath deps.build.protobuf + classpath(io.spine.gradle.internal.Deps.build.protobuf) // Exclude `guava:18.0` as a transitive dependency by Protobuf Gradle plugin. - classpath (deps.build.gradlePlugins.protobuf) { - exclude group: 'com.google.guava' + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) { + exclude(group = "com.google.guava") } - classpath "io.spine.tools:spine-model-compiler:${spineVersion}" + classpath("io.spine.tools:spine-model-compiler:${spineVersion}") } +} - configurations.all({ - resolutionStrategy.cacheChangingModulesFor(0, 'seconds') - }) +plugin { + java + id("com.google.protobuf") + id("io.spine.tools.spine-model-compiler") } // NOTE: this file is copied from the root project in the test setup. -apply from: "$rootDir/test-env.gradle" - -apply plugin: 'java' -apply plugin: 'com.google.protobuf' -apply plugin: 'io.spine.tools.spine-model-compiler' -apply from: "$enclosingRootDir/config/gradle/model-compiler.gradle" +apply { + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/config/gradle/model-compiler.gradle") +} -group = 'io.spine.test' -version = '3.14' +group = "io.spine.test" +version = "3.14" repositories { mavenLocal() jcenter() - maven { url = repos.spine } - maven { url = repos.spineSnapshots } + maven { url = URI(Repos.spine) } } dependencies { - implementation "io.spine:spine-base:$spineVersion" + implementation("io.spine:spine-base:$spineVersion") } sourceSets { main { - proto.srcDirs "$projectDir/src/main/proto" - java.srcDirs "$projectDir/generated/main/java", "$projectDir/generated/main/spine" - resources.srcDirs "$projectDir/generated/main/resources" + proto.srcDir("$projectDir/src/main/proto") + java.srcDirs("$projectDir/generated/main/java", "$projectDir/generated/main/spine") + resources.srcDir("$projectDir/generated/main/resources") } } diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java index 0cb3a2ce98..9ad7386bce 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java @@ -21,6 +21,7 @@ package io.spine.tools.gradle.testing; import com.google.common.annotations.VisibleForTesting; +import io.spine.io.Resource; import java.io.IOException; import java.io.InputStream; @@ -30,7 +31,8 @@ import static com.google.common.base.Preconditions.checkNotNull; /** - * Creates {@link #FILE_NAME} file in the root of the test project, copying it from resources. + * Creates {@link #BUILD_GRADLE build.gradle} or {@link #BUILD_GRADLE_KTS build.gradle.kts} file in + * the root of the test project, copying it from resources. */ final class BuildGradle { @@ -38,7 +40,8 @@ final class BuildGradle { * The name of the build file. */ @VisibleForTesting - static final String FILE_NAME = "build.gradle"; + static final String BUILD_GRADLE = "build.gradle"; + private static final String BUILD_GRADLE_KTS = "build.gradle.kts"; private final Path testProjectRoot; @@ -47,10 +50,20 @@ final class BuildGradle { } void createFile() throws IOException { - Path resultingPath = testProjectRoot.resolve(FILE_NAME); + Path resultingPath = testProjectRoot.resolve(BUILD_GRADLE); - try (InputStream fileContent = getClass().getClassLoader() - .getResourceAsStream(FILE_NAME)) { + Resource buildGradle = Resource.file(BUILD_GRADLE); + Resource buildGradleKts = Resource.file(BUILD_GRADLE_KTS); + Resource file; + if (buildGradle.exists()) { + file = buildGradle; + } else if (buildGradleKts.exists()) { + file = buildGradleKts; + } else { + throw new IllegalStateException("Build script is not found."); + } + + try (InputStream fileContent = file.open()) { Files.createDirectories(resultingPath.getParent()); checkNotNull(fileContent); Files.copy(fileContent, resultingPath); diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java index 608257b96f..bbad4f1460 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java @@ -51,6 +51,7 @@ public final class GradleProject { private static final String BASE_PROTO_LOCATION = "src/main/proto/"; private static final String BASE_JAVA_LOCATION = "src/main/java/"; private static final String JAVA_PLUGIN_NAME = "java"; + private static final String BUILD_SRC = "buildSrc"; private final String name; private final GradleRunner gradleRunner; @@ -80,6 +81,7 @@ private GradleProject(Builder builder) throws IOException { gradleRunner.withPluginClasspath(); } writeGradleScripts(); + whiteBuildSrc(); writeProtoFiles(builder.protoFileNames); writeJavaFiles(builder.javaFileNames); } @@ -94,6 +96,14 @@ private void writeGradleScripts() throws IOException { testEnvGradle.createFile(); } + private void whiteBuildSrc() throws IOException { + Path projectRoot = ProjectRoot.instance() + .toPath(); + Path buildSrc = projectRoot.resolve(BUILD_SRC); + Path target = testProjectRoot().resolve(BUILD_SRC); + Files.copy(buildSrc, target); + } + private void writeProtoFiles(Iterable fileNames) throws IOException { for (String protoFile : fileNames) { writeProto(protoFile); diff --git a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java index 0981fd3200..f0fb310b0d 100644 --- a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java +++ b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java @@ -46,7 +46,7 @@ void memoizePlugin() { @Test @DisplayName("memoize the given plugin script") void memoizePluginScript() { - PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.FILE_NAME)); + PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.BUILD_GRADLE)); MemoizingPluginRegistry registry = new MemoizingPluginRegistry(); registry.apply(script); assertThat(registry.pluginScripts()).containsExactly(script); diff --git a/tools/plugin-testlib/src/test/resources/build.gradle b/tools/plugin-testlib/src/test/resources/build.gradle.kts similarity index 83% rename from tools/plugin-testlib/src/test/resources/build.gradle rename to tools/plugin-testlib/src/test/resources/build.gradle.kts index 8c46ee78b8..6d5f9091fa 100644 --- a/tools/plugin-testlib/src/test/resources/build.gradle +++ b/tools/plugin-testlib/src/test/resources/build.gradle.kts @@ -18,9 +18,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -apply plugin: 'java' - -// NOTE: this file is copied from the root project in the test setup. -apply from: "$rootDir/test-env.gradle" - -apply from: "$enclosingRootDir/version.gradle.kts" +apply { + plugin("java") + // NOTE: this file is copied from the root project in the test setup. + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/version.gradle.kts") +} diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle b/tools/proto-js-plugin/src/test/resources/build.gradle deleted file mode 100644 index b26a4c8d17..0000000000 --- a/tools/proto-js-plugin/src/test/resources/build.gradle +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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. - */ - -buildscript { - - // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" - - repositories { - mavenLocal() - jcenter() - } - - dependencies { - classpath deps.build.gradlePlugins.protobuf - } -} - -repositories { - mavenLocal() - jcenter() -} - -apply plugin: 'java' -apply plugin: 'com.google.protobuf' - -project.compileJava.enabled = false -project.compileTestJava.enabled = false - -task compileProtoToJs - -protobuf { - generatedFilesBaseDir = "$projectDir/generated" - protoc { - artifact = deps.build.protoc - } - generateProtoTasks { - all().each { final task -> - task.builtins { - remove java - - js { - option "import_style=commonjs" - } - } - task.generateDescriptorSet = true - task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true - - compileProtoToJs.dependsOn task - } - } -} - -build.dependsOn compileProtoToJs - -dependencies { - protobuf files("${enclosingRootDir}/base/src/main/proto") - implementation "io.spine:spine-base:$spineVersion" -} diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts new file mode 100644 index 0000000000..dcf1b75c1b --- /dev/null +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -0,0 +1,90 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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.ExecutableLocator +import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection +import groovy.lang.Closure +import io.spine.gradle.internal.Deps + +buildscript { + + apply { + // NOTE: this file is copied from the root project in the test setup. + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/config/gradle/dependencies.gradle") + from("${extra["enclosingRootDir"]}/version.gradle.kts") + } + + repositories { + mavenLocal() + jcenter() + } + + dependencies { + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) + } +} + +plugin { + java + id("com.google.protobuf") +} + +repositories { + mavenLocal() + jcenter() +} + +tasks.compileJava.enabled = false +tasks.compileTestJava.enabled = false + +val compileProtoToJs by tasks.registering + +protobuf { + protobuf.generatedFilesBaseDir = "$projectDir/generated" + protobuf.protoc(object : Closure(this) { + private fun doCall(protoc: ExecutableLocator) { + protoc.artifact = Deps.build.protoc + } + }) + protobuf.generateProtoTasks(object : Closure(this) { + private fun doCall(tasks: JavaGenerateProtoTaskCollection) { + tasks.all().forEach { task -> + task.builtins { + removeIf { it.name == "java" } + maybeCreate("js").option("import_style=commonjs") + } + task.generateDescriptorSet = true + task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + + compileProtoToJs.dependsOn(task) + } + } + }) +} + +tasks.build.dependsOn(compileProtoToJs) + +dependencies { + protobuf(files("${extra["enclosingRootDir"]}/base/src/main/proto")) + implementation("io.spine:spine-base:$spineVersion") +} From 4ac52c3797424724b192ab79373130d6eb5f6948 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 13:01:43 +0300 Subject: [PATCH 22/43] Revert to using Groovy in test projects --- build.gradle.kts | 2 + .../{build.gradle.kts => build.gradle} | 53 +++++------ .../tools/gradle/testing/BuildGradle.java | 23 ++--- .../tools/gradle/testing/GradleProject.java | 10 --- .../testing/MemoizingPluginRegistryTest.java | 2 +- .../{build.gradle.kts => build.gradle} | 12 +-- .../src/test/resources/build.gradle | 81 +++++++++++++++++ .../src/test/resources/build.gradle.kts | 90 ------------------- 8 files changed, 122 insertions(+), 151 deletions(-) rename tools/model-compiler/src/test/resources/{build.gradle.kts => build.gradle} (56%) rename tools/plugin-testlib/src/test/resources/{build.gradle.kts => build.gradle} (83%) create mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle delete mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 7f06fc0995..31980c0b0a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,6 +30,8 @@ buildscript { @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. val resolution = io.spine.gradle.internal.DependencyResolution + @Suppress("RemoveRedundantQualifierName") + val deps = io.spine.gradle.internal.Deps resolution.defaultRepositories(repositories) resolution.forceConfiguration(configurations) } diff --git a/tools/model-compiler/src/test/resources/build.gradle.kts b/tools/model-compiler/src/test/resources/build.gradle similarity index 56% rename from tools/model-compiler/src/test/resources/build.gradle.kts rename to tools/model-compiler/src/test/resources/build.gradle index 430b257f7f..977e4c973c 100644 --- a/tools/model-compiler/src/test/resources/build.gradle.kts +++ b/tools/model-compiler/src/test/resources/build.gradle @@ -18,65 +18,66 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import io.spine.gradle.internal.Repos -import java.net.URI - // Common build file for the tests with same configuration buildscript { // NOTE: this file is copied from the root project in the test setup. - apply(from = "$rootDir/test-env.gradle") - apply(from = "${extra["enclosingRootDir"]}/version.gradle.kts") + apply from: "$rootDir/test-env.gradle" + + apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" + apply from: "$enclosingRootDir/version.gradle.kts" repositories { mavenLocal() jcenter() - maven { url = java.net.URI(io.spine.gradle.internal.Repos.spine) } + maven { url = repos.spine } + maven { url = repos.spineSnapshots } } dependencies { - classpath(io.spine.gradle.internal.Deps.build.protobuf) + classpath deps.build.protobuf // Exclude `guava:18.0` as a transitive dependency by Protobuf Gradle plugin. - classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) { - exclude(group = "com.google.guava") + classpath (deps.build.gradlePlugins.protobuf) { + exclude group: 'com.google.guava' } - classpath("io.spine.tools:spine-model-compiler:${spineVersion}") + classpath "io.spine.tools:spine-model-compiler:${spineVersion}" } -} -plugin { - java - id("com.google.protobuf") - id("io.spine.tools.spine-model-compiler") + configurations.all({ + resolutionStrategy.cacheChangingModulesFor(0, 'seconds') + }) } // NOTE: this file is copied from the root project in the test setup. -apply { - from("$rootDir/test-env.gradle") - from("${extra["enclosingRootDir"]}/config/gradle/model-compiler.gradle") -} +apply from: "$rootDir/test-env.gradle" + +apply plugin: 'java' +apply plugin: 'com.google.protobuf' +apply plugin: 'io.spine.tools.spine-model-compiler' +apply from: "$enclosingRootDir/config/gradle/model-compiler.gradle" -group = "io.spine.test" -version = "3.14" +group = 'io.spine.test' +version = '3.14' repositories { mavenLocal() jcenter() - maven { url = URI(Repos.spine) } + maven { url = repos.spine } + maven { url = repos.spineSnapshots } } dependencies { - implementation("io.spine:spine-base:$spineVersion") + implementation "io.spine:spine-base:$spineVersion" } sourceSets { main { - proto.srcDir("$projectDir/src/main/proto") - java.srcDirs("$projectDir/generated/main/java", "$projectDir/generated/main/spine") - resources.srcDir("$projectDir/generated/main/resources") + proto.srcDirs "$projectDir/src/main/proto" + java.srcDirs "$projectDir/generated/main/java", "$projectDir/generated/main/spine" + resources.srcDirs "$projectDir/generated/main/resources" } } diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java index 9ad7386bce..0cb3a2ce98 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java @@ -21,7 +21,6 @@ package io.spine.tools.gradle.testing; import com.google.common.annotations.VisibleForTesting; -import io.spine.io.Resource; import java.io.IOException; import java.io.InputStream; @@ -31,8 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull; /** - * Creates {@link #BUILD_GRADLE build.gradle} or {@link #BUILD_GRADLE_KTS build.gradle.kts} file in - * the root of the test project, copying it from resources. + * Creates {@link #FILE_NAME} file in the root of the test project, copying it from resources. */ final class BuildGradle { @@ -40,8 +38,7 @@ final class BuildGradle { * The name of the build file. */ @VisibleForTesting - static final String BUILD_GRADLE = "build.gradle"; - private static final String BUILD_GRADLE_KTS = "build.gradle.kts"; + static final String FILE_NAME = "build.gradle"; private final Path testProjectRoot; @@ -50,20 +47,10 @@ final class BuildGradle { } void createFile() throws IOException { - Path resultingPath = testProjectRoot.resolve(BUILD_GRADLE); + Path resultingPath = testProjectRoot.resolve(FILE_NAME); - Resource buildGradle = Resource.file(BUILD_GRADLE); - Resource buildGradleKts = Resource.file(BUILD_GRADLE_KTS); - Resource file; - if (buildGradle.exists()) { - file = buildGradle; - } else if (buildGradleKts.exists()) { - file = buildGradleKts; - } else { - throw new IllegalStateException("Build script is not found."); - } - - try (InputStream fileContent = file.open()) { + try (InputStream fileContent = getClass().getClassLoader() + .getResourceAsStream(FILE_NAME)) { Files.createDirectories(resultingPath.getParent()); checkNotNull(fileContent); Files.copy(fileContent, resultingPath); diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java index bbad4f1460..608257b96f 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java @@ -51,7 +51,6 @@ public final class GradleProject { private static final String BASE_PROTO_LOCATION = "src/main/proto/"; private static final String BASE_JAVA_LOCATION = "src/main/java/"; private static final String JAVA_PLUGIN_NAME = "java"; - private static final String BUILD_SRC = "buildSrc"; private final String name; private final GradleRunner gradleRunner; @@ -81,7 +80,6 @@ private GradleProject(Builder builder) throws IOException { gradleRunner.withPluginClasspath(); } writeGradleScripts(); - whiteBuildSrc(); writeProtoFiles(builder.protoFileNames); writeJavaFiles(builder.javaFileNames); } @@ -96,14 +94,6 @@ private void writeGradleScripts() throws IOException { testEnvGradle.createFile(); } - private void whiteBuildSrc() throws IOException { - Path projectRoot = ProjectRoot.instance() - .toPath(); - Path buildSrc = projectRoot.resolve(BUILD_SRC); - Path target = testProjectRoot().resolve(BUILD_SRC); - Files.copy(buildSrc, target); - } - private void writeProtoFiles(Iterable fileNames) throws IOException { for (String protoFile : fileNames) { writeProto(protoFile); diff --git a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java index f0fb310b0d..0981fd3200 100644 --- a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java +++ b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java @@ -46,7 +46,7 @@ void memoizePlugin() { @Test @DisplayName("memoize the given plugin script") void memoizePluginScript() { - PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.BUILD_GRADLE)); + PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.FILE_NAME)); MemoizingPluginRegistry registry = new MemoizingPluginRegistry(); registry.apply(script); assertThat(registry.pluginScripts()).containsExactly(script); diff --git a/tools/plugin-testlib/src/test/resources/build.gradle.kts b/tools/plugin-testlib/src/test/resources/build.gradle similarity index 83% rename from tools/plugin-testlib/src/test/resources/build.gradle.kts rename to tools/plugin-testlib/src/test/resources/build.gradle index 6d5f9091fa..8c46ee78b8 100644 --- a/tools/plugin-testlib/src/test/resources/build.gradle.kts +++ b/tools/plugin-testlib/src/test/resources/build.gradle @@ -18,9 +18,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -apply { - plugin("java") - // NOTE: this file is copied from the root project in the test setup. - from("$rootDir/test-env.gradle") - from("${extra["enclosingRootDir"]}/version.gradle.kts") -} +apply plugin: 'java' + +// NOTE: this file is copied from the root project in the test setup. +apply from: "$rootDir/test-env.gradle" + +apply from: "$enclosingRootDir/version.gradle.kts" diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle b/tools/proto-js-plugin/src/test/resources/build.gradle new file mode 100644 index 0000000000..b26a4c8d17 --- /dev/null +++ b/tools/proto-js-plugin/src/test/resources/build.gradle @@ -0,0 +1,81 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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. + */ + +buildscript { + + // NOTE: this file is copied from the root project in the test setup. + apply from: "$rootDir/test-env.gradle" + + apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" + apply from: "$enclosingRootDir/version.gradle.kts" + + repositories { + mavenLocal() + jcenter() + } + + dependencies { + classpath deps.build.gradlePlugins.protobuf + } +} + +repositories { + mavenLocal() + jcenter() +} + +apply plugin: 'java' +apply plugin: 'com.google.protobuf' + +project.compileJava.enabled = false +project.compileTestJava.enabled = false + +task compileProtoToJs + +protobuf { + generatedFilesBaseDir = "$projectDir/generated" + protoc { + artifact = deps.build.protoc + } + generateProtoTasks { + all().each { final task -> + task.builtins { + remove java + + js { + option "import_style=commonjs" + } + } + task.generateDescriptorSet = true + task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + + compileProtoToJs.dependsOn task + } + } +} + +build.dependsOn compileProtoToJs + +dependencies { + protobuf files("${enclosingRootDir}/base/src/main/proto") + implementation "io.spine:spine-base:$spineVersion" +} diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts deleted file mode 100644 index dcf1b75c1b..0000000000 --- a/tools/proto-js-plugin/src/test/resources/build.gradle.kts +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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.ExecutableLocator -import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure -import io.spine.gradle.internal.Deps - -buildscript { - - apply { - // NOTE: this file is copied from the root project in the test setup. - from("$rootDir/test-env.gradle") - from("${extra["enclosingRootDir"]}/config/gradle/dependencies.gradle") - from("${extra["enclosingRootDir"]}/version.gradle.kts") - } - - repositories { - mavenLocal() - jcenter() - } - - dependencies { - classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) - } -} - -plugin { - java - id("com.google.protobuf") -} - -repositories { - mavenLocal() - jcenter() -} - -tasks.compileJava.enabled = false -tasks.compileTestJava.enabled = false - -val compileProtoToJs by tasks.registering - -protobuf { - protobuf.generatedFilesBaseDir = "$projectDir/generated" - protobuf.protoc(object : Closure(this) { - private fun doCall(protoc: ExecutableLocator) { - protoc.artifact = Deps.build.protoc - } - }) - protobuf.generateProtoTasks(object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - tasks.all().forEach { task -> - task.builtins { - removeIf { it.name == "java" } - maybeCreate("js").option("import_style=commonjs") - } - task.generateDescriptorSet = true - task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true - - compileProtoToJs.dependsOn(task) - } - } - }) -} - -tasks.build.dependsOn(compileProtoToJs) - -dependencies { - protobuf(files("${extra["enclosingRootDir"]}/base/src/main/proto")) - implementation("io.spine:spine-base:$spineVersion") -} From 8578713acbd2ea85a14c9ca6e95699aab663a936 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 13:03:54 +0300 Subject: [PATCH 23/43] Remove unused var --- build.gradle.kts | 2 -- license-report.md | 30 +++++++++++++++--------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 31980c0b0a..7f06fc0995 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,8 +30,6 @@ buildscript { @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. val resolution = io.spine.gradle.internal.DependencyResolution - @Suppress("RemoveRedundantQualifierName") - val deps = io.spine.gradle.internal.Deps resolution.defaultRepositories(repositories) resolution.forceConfiguration(configurations) } diff --git a/license-report.md b/license-report.md index 0e48b36d94..b8adb28b5c 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:21 EEST 2020** 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 **Wed May 20 19:29:45 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Wed May 20 18:25:21 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:27 EEST 2020** 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 **Wed May 20 19:29:46 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Wed May 20 18:25:27 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:30 EEST 2020** 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 **Wed May 20 19:29:47 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Wed May 20 18:25:30 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:33 EEST 2020** 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 **Wed May 20 19:29:47 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Wed May 20 18:25:33 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:46 EEST 2020** 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 **Wed May 20 19:29:48 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Wed May 20 18:25:46 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:48 EEST 2020** 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 **Wed May 20 19:29:49 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Wed May 20 18:25:48 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:52 EEST 2020** 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 **Wed May 20 19:29:49 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Wed May 20 18:25:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:25:56 EEST 2020** 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 **Wed May 20 19:29:50 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Wed May 20 18:25:56 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:00 EEST 2020** 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 **Wed May 20 19:29:50 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Wed May 20 18:26:00 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:08 EEST 2020** 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 **Wed May 20 19:29:51 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Wed May 20 18:26:08 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:12 EEST 2020** 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 **Wed May 20 19:29:51 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Wed May 20 18:26:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:13 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Wed May 20 18:26:13 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:15 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Wed May 20 18:26:15 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:19 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Wed May 20 18:26:19 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 18:26:22 EEST 2020** 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 **Wed May 20 19:29:53 EEST 2020** 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 From 43630d99d50bf7c33b013674a232e8034847937b Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 13:30:51 +0300 Subject: [PATCH 24/43] Rollback to a Groovy script in tests --- license-report.md | 30 +++++++++---------- .../{build.gradle.kts => build.gradle} | 19 ++++++------ 2 files changed, 24 insertions(+), 25 deletions(-) rename tools/javadoc-prettifier/src/test/resources/{build.gradle.kts => build.gradle} (74%) diff --git a/license-report.md b/license-report.md index b8adb28b5c..9b10098bd3 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:45 EEST 2020** 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 **Wed May 20 15:52:42 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Wed May 20 19:29:45 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:46 EEST 2020** 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 **Wed May 20 15:52:47 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Wed May 20 19:29:46 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:47 EEST 2020** 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 **Wed May 20 15:52:49 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Wed May 20 19:29:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:47 EEST 2020** 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 **Wed May 20 15:52:53 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Wed May 20 19:29:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:48 EEST 2020** 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 **Wed May 20 15:53:05 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Wed May 20 19:29:48 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:49 EEST 2020** 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 **Wed May 20 15:53:07 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Wed May 20 19:29:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:49 EEST 2020** 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 **Wed May 20 15:53:12 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Wed May 20 19:29:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:50 EEST 2020** 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 **Wed May 20 15:53:15 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Wed May 20 19:29:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:50 EEST 2020** 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 **Wed May 20 15:53:19 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Wed May 20 19:29:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:51 EEST 2020** 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 **Wed May 20 15:53:27 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Wed May 20 19:29:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:51 EEST 2020** 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 **Wed May 20 15:53:32 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Wed May 20 19:29:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Wed May 20 15:53:33 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Wed May 20 15:53:36 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Wed May 20 15:53:40 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:53 EEST 2020** 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 **Wed May 20 15:53:43 EEST 2020** 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/tools/javadoc-prettifier/src/test/resources/build.gradle.kts b/tools/javadoc-prettifier/src/test/resources/build.gradle similarity index 74% rename from tools/javadoc-prettifier/src/test/resources/build.gradle.kts rename to tools/javadoc-prettifier/src/test/resources/build.gradle index 61b515f6b1..0622af5297 100644 --- a/tools/javadoc-prettifier/src/test/resources/build.gradle.kts +++ b/tools/javadoc-prettifier/src/test/resources/build.gradle @@ -21,9 +21,10 @@ buildscript { // NOTE: this file is copied from the root project in the test setup. - apply(from = "$rootDir/test-env.gradle") - val enclosingRoot = project.extensions.extraProperties["enclosingRootDir"] - apply(from = "$enclosingRoot/version.gradle.kts") + apply from: "$rootDir/test-env.gradle" + + apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" + apply from: "$enclosingRootDir/version.gradle.kts" repositories { mavenLocal() @@ -31,16 +32,14 @@ buildscript { } dependencies { - classpath("io.spine.tools:spine-javadoc-prettifier:$spineVersion") - classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) + classpath "io.spine.tools:spine-javadoc-prettifier:$spineVersion" + classpath deps.build.gradlePlugins.protobuf } } -plugins { - id("java") - id("io.spine.tools.protobuf-javadoc-plugin") - id("com.google.protobuf") -} +apply plugin: 'java' +apply plugin: 'io.spine.tools.protobuf-javadoc-plugin' +apply plugin: 'com.google.protobuf' protoJavadoc { mainGenProtoDir = "generated/main/java" From 1d7f3b37483d9f10d87be4cbf5c391dd9a204516 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 15:17:31 +0300 Subject: [PATCH 25/43] Use Kotlin for test projects --- license-report.md | 30 +++---- .../{build.gradle => build.gradle.kts} | 21 +++-- .../{build.gradle => build.gradle.kts} | 53 ++++++----- .../tools/gradle/testing/GradleProject.java | 11 +++ .../testing/MemoizingPluginRegistryTest.java | 2 +- .../{build.gradle => build.gradle.kts} | 12 +-- .../src/test/resources/build.gradle | 81 ----------------- .../src/test/resources/build.gradle.kts | 90 +++++++++++++++++++ 8 files changed, 159 insertions(+), 141 deletions(-) rename tools/javadoc-prettifier/src/test/resources/{build.gradle => build.gradle.kts} (69%) rename tools/model-compiler/src/test/resources/{build.gradle => build.gradle.kts} (56%) rename tools/plugin-testlib/src/test/resources/{build.gradle => build.gradle.kts} (83%) delete mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle create mode 100644 tools/proto-js-plugin/src/test/resources/build.gradle.kts diff --git a/license-report.md b/license-report.md index 9b10098bd3..b8adb28b5c 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:42 EEST 2020** 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 **Wed May 20 19:29:45 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Wed May 20 15:52:42 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:47 EEST 2020** 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 **Wed May 20 19:29:46 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Wed May 20 15:52:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:49 EEST 2020** 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 **Wed May 20 19:29:47 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Wed May 20 15:52:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:52:53 EEST 2020** 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 **Wed May 20 19:29:47 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Wed May 20 15:52:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:05 EEST 2020** 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 **Wed May 20 19:29:48 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Wed May 20 15:53:05 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:07 EEST 2020** 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 **Wed May 20 19:29:49 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Wed May 20 15:53:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:12 EEST 2020** 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 **Wed May 20 19:29:49 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Wed May 20 15:53:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:15 EEST 2020** 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 **Wed May 20 19:29:50 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Wed May 20 15:53:15 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:19 EEST 2020** 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 **Wed May 20 19:29:50 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Wed May 20 15:53:19 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:27 EEST 2020** 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 **Wed May 20 19:29:51 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Wed May 20 15:53:27 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:32 EEST 2020** 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 **Wed May 20 19:29:51 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Wed May 20 15:53:32 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:33 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Wed May 20 15:53:33 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:36 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Wed May 20 15:53:36 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:40 EEST 2020** 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 **Wed May 20 19:29:52 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Wed May 20 15:53:40 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 15:53:43 EEST 2020** 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 **Wed May 20 19:29:53 EEST 2020** 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/tools/javadoc-prettifier/src/test/resources/build.gradle b/tools/javadoc-prettifier/src/test/resources/build.gradle.kts similarity index 69% rename from tools/javadoc-prettifier/src/test/resources/build.gradle rename to tools/javadoc-prettifier/src/test/resources/build.gradle.kts index 0622af5297..6db06a9ab7 100644 --- a/tools/javadoc-prettifier/src/test/resources/build.gradle +++ b/tools/javadoc-prettifier/src/test/resources/build.gradle.kts @@ -21,26 +21,25 @@ buildscript { // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" + apply(from = "$rootDir/test-env.gradle") + apply(from = "${extra["enclosingRootDir"]}/version.gradle.kts") repositories { mavenLocal() jcenter() } + val spineVersion: String by extra dependencies { - classpath "io.spine.tools:spine-javadoc-prettifier:$spineVersion" - classpath deps.build.gradlePlugins.protobuf + classpath("io.spine.tools:spine-javadoc-prettifier:$spineVersion") + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) } } -apply plugin: 'java' -apply plugin: 'io.spine.tools.protobuf-javadoc-plugin' -apply plugin: 'com.google.protobuf' +apply(plugin = "java") +apply(plugin = "com.google.protobuf") +apply(plugin = "io.spine.tools.protobuf-javadoc-plugin") -protoJavadoc { - mainGenProtoDir = "generated/main/java" +extensions["protoJavadoc"].withGroovyBuilder { + setProperty("mainGenProtoDir", "generated/main/java") } diff --git a/tools/model-compiler/src/test/resources/build.gradle b/tools/model-compiler/src/test/resources/build.gradle.kts similarity index 56% rename from tools/model-compiler/src/test/resources/build.gradle rename to tools/model-compiler/src/test/resources/build.gradle.kts index 977e4c973c..430b257f7f 100644 --- a/tools/model-compiler/src/test/resources/build.gradle +++ b/tools/model-compiler/src/test/resources/build.gradle.kts @@ -18,66 +18,65 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import io.spine.gradle.internal.Repos +import java.net.URI + // Common build file for the tests with same configuration buildscript { // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" + apply(from = "$rootDir/test-env.gradle") + apply(from = "${extra["enclosingRootDir"]}/version.gradle.kts") repositories { mavenLocal() jcenter() - maven { url = repos.spine } - maven { url = repos.spineSnapshots } + maven { url = java.net.URI(io.spine.gradle.internal.Repos.spine) } } dependencies { - classpath deps.build.protobuf + classpath(io.spine.gradle.internal.Deps.build.protobuf) // Exclude `guava:18.0` as a transitive dependency by Protobuf Gradle plugin. - classpath (deps.build.gradlePlugins.protobuf) { - exclude group: 'com.google.guava' + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) { + exclude(group = "com.google.guava") } - classpath "io.spine.tools:spine-model-compiler:${spineVersion}" + classpath("io.spine.tools:spine-model-compiler:${spineVersion}") } +} - configurations.all({ - resolutionStrategy.cacheChangingModulesFor(0, 'seconds') - }) +plugin { + java + id("com.google.protobuf") + id("io.spine.tools.spine-model-compiler") } // NOTE: this file is copied from the root project in the test setup. -apply from: "$rootDir/test-env.gradle" - -apply plugin: 'java' -apply plugin: 'com.google.protobuf' -apply plugin: 'io.spine.tools.spine-model-compiler' -apply from: "$enclosingRootDir/config/gradle/model-compiler.gradle" +apply { + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/config/gradle/model-compiler.gradle") +} -group = 'io.spine.test' -version = '3.14' +group = "io.spine.test" +version = "3.14" repositories { mavenLocal() jcenter() - maven { url = repos.spine } - maven { url = repos.spineSnapshots } + maven { url = URI(Repos.spine) } } dependencies { - implementation "io.spine:spine-base:$spineVersion" + implementation("io.spine:spine-base:$spineVersion") } sourceSets { main { - proto.srcDirs "$projectDir/src/main/proto" - java.srcDirs "$projectDir/generated/main/java", "$projectDir/generated/main/spine" - resources.srcDirs "$projectDir/generated/main/resources" + proto.srcDir("$projectDir/src/main/proto") + java.srcDirs("$projectDir/generated/main/java", "$projectDir/generated/main/spine") + resources.srcDir("$projectDir/generated/main/resources") } } diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java index 608257b96f..24cfb376cc 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java @@ -39,6 +39,7 @@ import static com.google.common.base.Strings.isNullOrEmpty; import static com.google.common.base.Throwables.getRootCause; import static com.google.common.collect.Lists.newLinkedList; +import static io.spine.io.Files2.copyDir; import static java.util.Arrays.asList; /** @@ -51,6 +52,7 @@ public final class GradleProject { private static final String BASE_PROTO_LOCATION = "src/main/proto/"; private static final String BASE_JAVA_LOCATION = "src/main/java/"; private static final String JAVA_PLUGIN_NAME = "java"; + private static final String BUILD_SRC = "buildSrc"; private final String name; private final GradleRunner gradleRunner; @@ -80,6 +82,7 @@ private GradleProject(Builder builder) throws IOException { gradleRunner.withPluginClasspath(); } writeGradleScripts(); + whiteBuildSrc(); writeProtoFiles(builder.protoFileNames); writeJavaFiles(builder.javaFileNames); } @@ -94,6 +97,14 @@ private void writeGradleScripts() throws IOException { testEnvGradle.createFile(); } + private void whiteBuildSrc() throws IOException { + Path projectRoot = ProjectRoot.instance() + .toPath(); + Path buildSrc = projectRoot.resolve(BUILD_SRC); + Path target = testProjectRoot(); + copyDir(buildSrc, target); + } + private void writeProtoFiles(Iterable fileNames) throws IOException { for (String protoFile : fileNames) { writeProto(protoFile); diff --git a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java index 0981fd3200..f0fb310b0d 100644 --- a/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java +++ b/tools/plugin-testlib/src/test/java/io/spine/tools/gradle/testing/MemoizingPluginRegistryTest.java @@ -46,7 +46,7 @@ void memoizePlugin() { @Test @DisplayName("memoize the given plugin script") void memoizePluginScript() { - PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.FILE_NAME)); + PluginScript script = PluginScript.declaredIn(Resource.file(BuildGradle.BUILD_GRADLE)); MemoizingPluginRegistry registry = new MemoizingPluginRegistry(); registry.apply(script); assertThat(registry.pluginScripts()).containsExactly(script); diff --git a/tools/plugin-testlib/src/test/resources/build.gradle b/tools/plugin-testlib/src/test/resources/build.gradle.kts similarity index 83% rename from tools/plugin-testlib/src/test/resources/build.gradle rename to tools/plugin-testlib/src/test/resources/build.gradle.kts index 8c46ee78b8..6d5f9091fa 100644 --- a/tools/plugin-testlib/src/test/resources/build.gradle +++ b/tools/plugin-testlib/src/test/resources/build.gradle.kts @@ -18,9 +18,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -apply plugin: 'java' - -// NOTE: this file is copied from the root project in the test setup. -apply from: "$rootDir/test-env.gradle" - -apply from: "$enclosingRootDir/version.gradle.kts" +apply { + plugin("java") + // NOTE: this file is copied from the root project in the test setup. + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/version.gradle.kts") +} diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle b/tools/proto-js-plugin/src/test/resources/build.gradle deleted file mode 100644 index b26a4c8d17..0000000000 --- a/tools/proto-js-plugin/src/test/resources/build.gradle +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2020, TeamDev. All rights reserved. - * - * 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. - */ - -buildscript { - - // NOTE: this file is copied from the root project in the test setup. - apply from: "$rootDir/test-env.gradle" - - apply from: "$enclosingRootDir/config/gradle/dependencies.gradle" - apply from: "$enclosingRootDir/version.gradle.kts" - - repositories { - mavenLocal() - jcenter() - } - - dependencies { - classpath deps.build.gradlePlugins.protobuf - } -} - -repositories { - mavenLocal() - jcenter() -} - -apply plugin: 'java' -apply plugin: 'com.google.protobuf' - -project.compileJava.enabled = false -project.compileTestJava.enabled = false - -task compileProtoToJs - -protobuf { - generatedFilesBaseDir = "$projectDir/generated" - protoc { - artifact = deps.build.protoc - } - generateProtoTasks { - all().each { final task -> - task.builtins { - remove java - - js { - option "import_style=commonjs" - } - } - task.generateDescriptorSet = true - task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true - - compileProtoToJs.dependsOn task - } - } -} - -build.dependsOn compileProtoToJs - -dependencies { - protobuf files("${enclosingRootDir}/base/src/main/proto") - implementation "io.spine:spine-base:$spineVersion" -} diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts new file mode 100644 index 0000000000..dcf1b75c1b --- /dev/null +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -0,0 +1,90 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * 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.ExecutableLocator +import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection +import groovy.lang.Closure +import io.spine.gradle.internal.Deps + +buildscript { + + apply { + // NOTE: this file is copied from the root project in the test setup. + from("$rootDir/test-env.gradle") + from("${extra["enclosingRootDir"]}/config/gradle/dependencies.gradle") + from("${extra["enclosingRootDir"]}/version.gradle.kts") + } + + repositories { + mavenLocal() + jcenter() + } + + dependencies { + classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) + } +} + +plugin { + java + id("com.google.protobuf") +} + +repositories { + mavenLocal() + jcenter() +} + +tasks.compileJava.enabled = false +tasks.compileTestJava.enabled = false + +val compileProtoToJs by tasks.registering + +protobuf { + protobuf.generatedFilesBaseDir = "$projectDir/generated" + protobuf.protoc(object : Closure(this) { + private fun doCall(protoc: ExecutableLocator) { + protoc.artifact = Deps.build.protoc + } + }) + protobuf.generateProtoTasks(object : Closure(this) { + private fun doCall(tasks: JavaGenerateProtoTaskCollection) { + tasks.all().forEach { task -> + task.builtins { + removeIf { it.name == "java" } + maybeCreate("js").option("import_style=commonjs") + } + task.generateDescriptorSet = true + task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + + compileProtoToJs.dependsOn(task) + } + } + }) +} + +tasks.build.dependsOn(compileProtoToJs) + +dependencies { + protobuf(files("${extra["enclosingRootDir"]}/base/src/main/proto")) + implementation("io.spine:spine-base:$spineVersion") +} From 2bbc5d108e831c464ce500b2f572106b9f02493a Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 15:17:44 +0300 Subject: [PATCH 26/43] Add `copyDir` util --- base/src/main/java/io/spine/io/Files2.java | 49 ++++++++++++++++++- .../tools/gradle/testing/BuildGradle.java | 25 ++++++++-- 2 files changed, 68 insertions(+), 6 deletions(-) diff --git a/base/src/main/java/io/spine/io/Files2.java b/base/src/main/java/io/spine/io/Files2.java index 8a599b3483..44adb42730 100644 --- a/base/src/main/java/io/spine/io/Files2.java +++ b/base/src/main/java/io/spine/io/Files2.java @@ -20,16 +20,25 @@ package io.spine.io; +import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.File; import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; +import java.util.stream.Stream; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; +import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.common.io.Files.createParentDirs; import static io.spine.util.Exceptions.newIllegalArgumentException; +import static java.nio.file.Files.copy; +import static java.nio.file.Files.createDirectory; +import static java.nio.file.Files.isDirectory; +import static java.nio.file.Files.isRegularFile; /** * Additional utilities for working with files. @@ -141,7 +150,8 @@ public static boolean existsNonEmpty(File file) { * Ensures that the passed file exists. * * @return the passed file if it exists - * @throws IllegalStateException if the file is missing + * @throws IllegalStateException + * if the file is missing */ @CanIgnoreReturnValue public static File checkExists(File file) { @@ -149,4 +159,41 @@ public static File checkExists(File file) { checkState(file.exists(), "The file `%s` does not exist.", file); return file; } + + /** + * Copies a whole directory and its contents into another directory. + * + *

Both paths must point to an existing directory. + * + *

The {@code dir} itself is copied as well. For example, if the {@code dir} path is + * {@code /my/path/to/folder/foo} and the {@code target} path is {@code /my/other/folder}, as + * a result of this operation, a {@code /my/other/folder/foo} directory will be created and all + * the contents of the original {@code dir}, including nested directories, will be copied there. + * + * @param dir + * the dir to copy + * @param target + * the new parent directory + */ + public static void copyDir(Path dir, Path target) throws IOException { + checkNotNull(dir); + checkNotNull(target); + checkArgument(isDirectory(dir)); + checkArgument(isDirectory(target)); + + Path oldParent = dir.getParent(); + ImmutableList files; + try (Stream paths = Files.walk(dir)) { + files = paths.collect(toImmutableList()); + } + for (Path file : files) { + Path relative = oldParent.relativize(file); + Path newPath = target.resolve(relative); + if (isDirectory(file)) { + createDirectory(newPath); + } else if (isRegularFile(file)) { + copy(file, newPath); + } + } + } } diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java index 0cb3a2ce98..576b13e70b 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java @@ -21,6 +21,7 @@ package io.spine.tools.gradle.testing; import com.google.common.annotations.VisibleForTesting; +import io.spine.io.Resource; import java.io.IOException; import java.io.InputStream; @@ -30,7 +31,8 @@ import static com.google.common.base.Preconditions.checkNotNull; /** - * Creates {@link #FILE_NAME} file in the root of the test project, copying it from resources. + * Creates {@link #BUILD_GRADLE build.gradle} or {@link #BUILD_GRADLE_KTS build.gradle.kts} file in + * the root of the test project, copying it from resources. */ final class BuildGradle { @@ -38,7 +40,8 @@ final class BuildGradle { * The name of the build file. */ @VisibleForTesting - static final String FILE_NAME = "build.gradle"; + static final String BUILD_GRADLE = "build.gradle"; + private static final String BUILD_GRADLE_KTS = "build.gradle.kts"; private final Path testProjectRoot; @@ -47,10 +50,22 @@ final class BuildGradle { } void createFile() throws IOException { - Path resultingPath = testProjectRoot.resolve(FILE_NAME); - try (InputStream fileContent = getClass().getClassLoader() - .getResourceAsStream(FILE_NAME)) { + Resource buildGradle = Resource.file(BUILD_GRADLE); + Resource buildGradleKts = Resource.file(BUILD_GRADLE_KTS); + Path resultingPath; + Resource file; + if (buildGradle.exists()) { + resultingPath = testProjectRoot.resolve(BUILD_GRADLE); + file = buildGradle; + } else if (buildGradleKts.exists()) { + resultingPath = testProjectRoot.resolve(BUILD_GRADLE_KTS); + file = buildGradleKts; + } else { + throw new IllegalStateException("Build script is not found."); + } + + try (InputStream fileContent = file.open()) { Files.createDirectories(resultingPath.getParent()); checkNotNull(fileContent); Files.copy(fileContent, resultingPath); From a28a5aa9ffc7ec6200f0cf36949b85ab36d13179 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 18:42:56 +0300 Subject: [PATCH 27/43] Fix test script --- .../src/test/resources/build.gradle.kts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/model-compiler/src/test/resources/build.gradle.kts b/tools/model-compiler/src/test/resources/build.gradle.kts index 430b257f7f..c51323939f 100644 --- a/tools/model-compiler/src/test/resources/build.gradle.kts +++ b/tools/model-compiler/src/test/resources/build.gradle.kts @@ -19,6 +19,7 @@ */ import io.spine.gradle.internal.Repos +import org.gradle.api.file.SourceDirectorySet import java.net.URI // Common build file for the tests with same configuration @@ -36,8 +37,9 @@ buildscript { maven { url = java.net.URI(io.spine.gradle.internal.Repos.spine) } } + val spineVersion: String by extra dependencies { - classpath(io.spine.gradle.internal.Deps.build.protobuf) + io.spine.gradle.internal.Deps.build.protobuf.forEach { classpath(it) } // Exclude `guava:18.0` as a transitive dependency by Protobuf Gradle plugin. classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) { @@ -47,14 +49,14 @@ buildscript { } } -plugin { +plugins { java - id("com.google.protobuf") - id("io.spine.tools.spine-model-compiler") } // NOTE: this file is copied from the root project in the test setup. apply { + plugin("com.google.protobuf") + plugin("io.spine.tools.spine-model-compiler") from("$rootDir/test-env.gradle") from("${extra["enclosingRootDir"]}/config/gradle/model-compiler.gradle") } @@ -69,14 +71,15 @@ repositories { maven { url = URI(Repos.spine) } } +val spineVersion: String by extra dependencies { implementation("io.spine:spine-base:$spineVersion") } sourceSets { main { - proto.srcDir("$projectDir/src/main/proto") java.srcDirs("$projectDir/generated/main/java", "$projectDir/generated/main/spine") resources.srcDir("$projectDir/generated/main/resources") + (extensions.getByName("proto") as SourceDirectorySet).srcDir("$projectDir/src/main/proto") } } From b271e52d6a9bd01e66d7bde171af71475755237e Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 21 May 2020 19:24:15 +0300 Subject: [PATCH 28/43] Remove unnecessary plugin declaration --- tools/validation-generator/build.gradle.kts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/validation-generator/build.gradle.kts b/tools/validation-generator/build.gradle.kts index 02c5a2ca04..b439f94b93 100644 --- a/tools/validation-generator/build.gradle.kts +++ b/tools/validation-generator/build.gradle.kts @@ -20,10 +20,6 @@ import io.spine.gradle.internal.Deps -plugins { - java -} - group = "io.spine.tools" dependencies { From fc06a46a32b7a0c342ecaec0eee32802651fca2b Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Fri, 22 May 2020 14:25:16 +0300 Subject: [PATCH 29/43] Fix test build scripts --- license-report.md | 30 +++++------ .../src/test/resources/build.gradle.kts | 12 ++--- .../src/test/resources/build.gradle.kts | 50 ++++++++----------- 3 files changed, 43 insertions(+), 49 deletions(-) diff --git a/license-report.md b/license-report.md index b8adb28b5c..f33cefe897 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:45 EEST 2020** 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 **Fri May 22 13:05:03 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Wed May 20 19:29:45 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:46 EEST 2020** 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 **Fri May 22 13:05:06 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Wed May 20 19:29:46 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:47 EEST 2020** 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 **Fri May 22 13:05:07 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Wed May 20 19:29:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:47 EEST 2020** 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 **Fri May 22 13:05:07 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Wed May 20 19:29:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:48 EEST 2020** 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 **Fri May 22 13:05:08 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Wed May 20 19:29:48 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:49 EEST 2020** 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 **Fri May 22 13:05:09 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Wed May 20 19:29:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:49 EEST 2020** 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 **Fri May 22 13:05:09 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Wed May 20 19:29:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:50 EEST 2020** 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 **Fri May 22 13:05:10 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Wed May 20 19:29:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:50 EEST 2020** 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 **Fri May 22 13:05:10 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Wed May 20 19:29:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:51 EEST 2020** 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 **Fri May 22 13:05:10 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Wed May 20 19:29:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:51 EEST 2020** 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 **Fri May 22 13:05:11 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Wed May 20 19:29:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Fri May 22 13:05:11 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Fri May 22 13:05:12 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:52 EEST 2020** 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 **Fri May 22 13:05:12 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Wed May 20 19:29:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed May 20 19:29:53 EEST 2020** 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 **Fri May 22 13:05:13 EEST 2020** 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/tools/plugin-testlib/src/test/resources/build.gradle.kts b/tools/plugin-testlib/src/test/resources/build.gradle.kts index 6d5f9091fa..84977f08fa 100644 --- a/tools/plugin-testlib/src/test/resources/build.gradle.kts +++ b/tools/plugin-testlib/src/test/resources/build.gradle.kts @@ -18,9 +18,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -apply { - plugin("java") - // NOTE: this file is copied from the root project in the test setup. - from("$rootDir/test-env.gradle") - from("${extra["enclosingRootDir"]}/version.gradle.kts") -} +val enclosingRootDir: String by extra + +apply(plugin = "java") +// NOTE: this file is copied from the root project in the test setup. +apply(from = "$rootDir/test-env.gradle") +apply(from = "$enclosingRootDir/version.gradle.kts") diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts index dcf1b75c1b..8d1e792a45 100644 --- a/tools/proto-js-plugin/src/test/resources/build.gradle.kts +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -21,39 +21,28 @@ import com.google.protobuf.gradle.ExecutableLocator import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection import groovy.lang.Closure +import groovy.lang.GString import io.spine.gradle.internal.Deps -buildscript { - - apply { - // NOTE: this file is copied from the root project in the test setup. - from("$rootDir/test-env.gradle") - from("${extra["enclosingRootDir"]}/config/gradle/dependencies.gradle") - from("${extra["enclosingRootDir"]}/version.gradle.kts") - } - - repositories { - mavenLocal() - jcenter() - } - - dependencies { - classpath(io.spine.gradle.internal.Deps.build.gradlePlugins.protobuf) - } -} - -plugin { +plugins { java - id("com.google.protobuf") + @Suppress("RemoveRedundantQualifierName") // Cannot use imports here. + id("com.google.protobuf").version(io.spine.gradle.internal.Deps.versions.protobufPlugin) } +// NOTE: this file is copied from the root project in the test setup. +apply(from = "$rootDir/test-env.gradle") + +val enclosingRootDir: String by extra +apply(from = "$enclosingRootDir/version.gradle.kts") + repositories { mavenLocal() jcenter() } -tasks.compileJava.enabled = false -tasks.compileTestJava.enabled = false +tasks.compileJava { enabled = false } +tasks.compileTestJava { enabled = false } val compileProtoToJs by tasks.registering @@ -66,25 +55,30 @@ protobuf { }) protobuf.generateProtoTasks(object : Closure(this) { private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - tasks.all().forEach { task -> + // Copy the task collection to avoid `ConcurrentModificationException`. + ArrayList(tasks.all()).forEach { task -> task.builtins { removeIf { it.name == "java" } maybeCreate("js").option("import_style=commonjs") } task.generateDescriptorSet = true - task.descriptorSetOptions.path = "${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc" + task.descriptorSetOptions.path = GString.EMPTY.plus("${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc") task.descriptorSetOptions.includeImports = true task.descriptorSetOptions.includeSourceInfo = true - compileProtoToJs.dependsOn(task) + compileProtoToJs.get().dependsOn(task) } } }) } -tasks.build.dependsOn(compileProtoToJs) +tasks.build { + dependsOn(compileProtoToJs) +} + +val spineVersion: String by extra dependencies { - protobuf(files("${extra["enclosingRootDir"]}/base/src/main/proto")) + protobuf(files("$enclosingRootDir/base/src/main/proto")) implementation("io.spine:spine-base:$spineVersion") } From 659bb7f47e0c88d6ec7d96addcaa798dcd61404d Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 11:46:00 +0300 Subject: [PATCH 30/43] Remove an outdated README section --- license-report.md | 30 +++++++++++++++--------------- tools/smoke-tests/README.md | 6 ------ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/license-report.md b/license-report.md index f33cefe897..f857f810b9 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:03 EEST 2020** 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 **Fri May 22 14:25:56 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Fri May 22 13:05:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:06 EEST 2020** 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 **Fri May 22 14:25:57 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Fri May 22 13:05:06 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:07 EEST 2020** 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 **Fri May 22 14:25:57 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Fri May 22 13:05:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:07 EEST 2020** 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 **Fri May 22 14:25:58 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Fri May 22 13:05:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:08 EEST 2020** 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 **Fri May 22 14:26:02 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Fri May 22 13:05:08 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:09 EEST 2020** 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 **Fri May 22 14:26:03 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Fri May 22 13:05:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:09 EEST 2020** 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 **Fri May 22 14:26:03 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Fri May 22 13:05:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:10 EEST 2020** 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 **Fri May 22 14:26:04 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Fri May 22 13:05:10 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:10 EEST 2020** 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 **Fri May 22 14:26:05 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Fri May 22 13:05:10 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:10 EEST 2020** 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 **Fri May 22 14:26:05 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Fri May 22 13:05:10 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:11 EEST 2020** 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 **Fri May 22 14:26:06 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Fri May 22 13:05:11 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:11 EEST 2020** 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 **Fri May 22 14:26:06 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Fri May 22 13:05:11 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:12 EEST 2020** 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 **Fri May 22 14:26:07 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Fri May 22 13:05:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:12 EEST 2020** 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 **Fri May 22 14:26:07 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Fri May 22 13:05:12 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 13:05:13 EEST 2020** 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 **Fri May 22 14:26:08 EEST 2020** 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/tools/smoke-tests/README.md b/tools/smoke-tests/README.md index fc18537516..1a56adfd37 100644 --- a/tools/smoke-tests/README.md +++ b/tools/smoke-tests/README.md @@ -20,9 +20,3 @@ They also should be run separately from the `main` project build like this: To configure Intellij Idea for recognizing `smoke-tests` module as the actual source code, see [this page](https://blog.jetbrains.com/idea/2016/10/intellij-idea-2016-3-eap-gradle-composite-builds-and-android-studio-2-2/). - -### Gradle build scripts - -Some Gradle build files in this project rely on `modelCompiler` heavily. We cannot get a type-safe -accessor for the extension. In those build files we use Groovy instead of Kotlin. At alternative -would be using Kotlin and `withGroovyBuilder(..)`. From 1e281ccf04605ca25810984df7608bd165245dab Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 11:46:42 +0300 Subject: [PATCH 31/43] Fix a typo --- .../java/io/spine/tools/gradle/testing/GradleProject.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java index 24cfb376cc..cf6f90fbda 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/GradleProject.java @@ -82,7 +82,7 @@ private GradleProject(Builder builder) throws IOException { gradleRunner.withPluginClasspath(); } writeGradleScripts(); - whiteBuildSrc(); + writeBuildSrc(); writeProtoFiles(builder.protoFileNames); writeJavaFiles(builder.javaFileNames); } @@ -97,7 +97,7 @@ private void writeGradleScripts() throws IOException { testEnvGradle.createFile(); } - private void whiteBuildSrc() throws IOException { + private void writeBuildSrc() throws IOException { Path projectRoot = ProjectRoot.instance() .toPath(); Path buildSrc = projectRoot.resolve(BUILD_SRC); From b5bdd2194684e0ac458f2ffe21b0590f745f39a5 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 11:47:28 +0300 Subject: [PATCH 32/43] Rename `same.sh` to `same-dir.sh` --- .github/workflows/buildSrc.yml | 4 ++-- script/{same.sh => same-dir.sh} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename script/{same.sh => same-dir.sh} (100%) diff --git a/.github/workflows/buildSrc.yml b/.github/workflows/buildSrc.yml index 3b17356221..4d86146a6d 100644 --- a/.github/workflows/buildSrc.yml +++ b/.github/workflows/buildSrc.yml @@ -19,8 +19,8 @@ jobs: - name: Check root and `smoke-tests` copies are the same. shell: bash - run: ./script/same.sh ./buildSrc ./tools/smoke-tests/buildSrc + run: ./script/same-dir.sh ./buildSrc ./tools/smoke-tests/buildSrc - name: Check root and `base-validating-builders` copies are the same. shell: bash - run: ./script/same.sh ./buildSrc ./base-validating-builders/buildSrc + run: ./script/same-dir.sh ./buildSrc ./base-validating-builders/buildSrc diff --git a/script/same.sh b/script/same-dir.sh similarity index 100% rename from script/same.sh rename to script/same-dir.sh From f6915287dd06c02658484f58016f7c9ce267beb4 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 11:54:38 +0300 Subject: [PATCH 33/43] Explain `BuildGradle` --- .../io/spine/tools/gradle/testing/BuildGradle.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java index 576b13e70b..df28dde87f 100644 --- a/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java +++ b/tools/plugin-testlib/src/main/java/io/spine/tools/gradle/testing/BuildGradle.java @@ -33,6 +33,9 @@ /** * Creates {@link #BUILD_GRADLE build.gradle} or {@link #BUILD_GRADLE_KTS build.gradle.kts} file in * the root of the test project, copying it from resources. + * + *

If a {@code build.gradle} file is found, it is used for the build. Otherwise, if + * a {@code build.gradle.kts} file is found, it is used for the build. */ final class BuildGradle { @@ -49,8 +52,13 @@ final class BuildGradle { testProjectRoot = root; } + /** + * Copies a Gradle build script from the classpath into the test project directory. + * + * @throws IOException + * if the file cannot be written + */ void createFile() throws IOException { - Resource buildGradle = Resource.file(BUILD_GRADLE); Resource buildGradleKts = Resource.file(BUILD_GRADLE_KTS); Path resultingPath; From 3f61225bf4c3f45860eb2655b87d1a76738dea8b Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 12:16:23 +0300 Subject: [PATCH 34/43] Use Kotlin extensions for Protobuf plugin instead of `Closure`s --- base-validating-builders/build.gradle.kts | 13 +++--- base/build.gradle.kts | 31 +++++++------- build.gradle.kts | 11 ++--- tools/model-compiler/build.gradle.kts | 25 +++++------ tools/plugin-base/build.gradle.kts | 15 +++---- .../src/test/resources/build.gradle.kts | 42 +++++++++---------- 6 files changed, 61 insertions(+), 76 deletions(-) diff --git a/base-validating-builders/build.gradle.kts b/base-validating-builders/build.gradle.kts index 838c7f5a85..a836459c65 100644 --- a/base-validating-builders/build.gradle.kts +++ b/base-validating-builders/build.gradle.kts @@ -19,7 +19,8 @@ */ import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure +import com.google.protobuf.gradle.generateProtoTasks +import com.google.protobuf.gradle.remove import io.spine.gradle.internal.Deps import org.gradle.internal.os.OperatingSystem @@ -115,13 +116,13 @@ sourceSets { } protobuf { - protobuf.generateProtoTasks(object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - tasks.all().forEach { task -> - task.plugins.removeIf { it.name == "grpc" } + protobuf.generateProtoTasks { + all().forEach { task -> + task.plugins { + remove("grpc") } } - }) + } } val compiledProtoDir = "$projectDir/compiled-proto" diff --git a/base/build.gradle.kts b/base/build.gradle.kts index ef2db74b57..060aea3cc6 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -18,8 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure +import com.google.protobuf.gradle.generateProtoTasks import groovy.lang.GString import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps @@ -109,23 +108,21 @@ val pruneTestGoogleProtos by tasks.registering(type = Delete::class) { protobuf { protobuf.generatedFilesBaseDir = compiledProtoRoot - protobuf.generateProtoTasks(object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - for (task in tasks.all()) { - val scope = task.sourceSet.name - task.generateDescriptorSet = true - task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/$scope/known_types_${scope}.desc") - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true - - if (scope.contains("test")) { - pruneTestGoogleProtos.configure { dependsOn(task) } - } else { - pruneGoogleProtos.configure { dependsOn(task) } - } + protobuf.generateProtoTasks { + for (task in all()) { + val scope = task.sourceSet.name + task.generateDescriptorSet = true + task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/$scope/known_types_${scope}.desc") + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + + if (scope.contains("test")) { + pruneTestGoogleProtos.configure { dependsOn(task) } + } else { + pruneGoogleProtos.configure { dependsOn(task) } } } - }) + } } /** diff --git a/build.gradle.kts b/build.gradle.kts index 7f06fc0995..92d88ccd6a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,8 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.ExecutableLocator -import groovy.lang.Closure +import com.google.protobuf.gradle.protoc import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps import io.spine.gradle.internal.PublishingRepos @@ -152,11 +151,9 @@ subprojects { protobuf { protobuf.generatedFilesBaseDir = generatedRootDir - protobuf.protoc(object : Closure(this) { - private fun doCall(locator: ExecutableLocator) { - locator.artifact = Deps.build.protoc - } - }) + protobuf.protoc { + artifact = Deps.build.protoc + } } tasks.test.configure { diff --git a/tools/model-compiler/build.gradle.kts b/tools/model-compiler/build.gradle.kts index 15a893b713..65874e3583 100644 --- a/tools/model-compiler/build.gradle.kts +++ b/tools/model-compiler/build.gradle.kts @@ -18,8 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure +import com.google.protobuf.gradle.generateProtoTasks import groovy.lang.GString import io.spine.gradle.internal.Deps import java.nio.file.Files @@ -54,19 +53,15 @@ dependencies { } protobuf { - protobuf.generateProtoTasks( - object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - tasks.all().forEach { task -> - val scope = task.sourceSet.name - task.generateDescriptorSet = true - task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/${scope}/io.spine.tools.spine-model-compiler-${scope}.desc") - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true - } - } - } - ) + protobuf.generateProtoTasks { + all().forEach { task -> + val scope = task.sourceSet.name + task.generateDescriptorSet = true + task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/${scope}/io.spine.tools.spine-model-compiler-${scope}.desc") + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + } + } } sourceSets { diff --git a/tools/plugin-base/build.gradle.kts b/tools/plugin-base/build.gradle.kts index a7d89c0f41..03bed853c5 100644 --- a/tools/plugin-base/build.gradle.kts +++ b/tools/plugin-base/build.gradle.kts @@ -19,8 +19,7 @@ */ import com.google.common.io.Files -import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure +import com.google.protobuf.gradle.generateProtoTasks import groovy.lang.GString import io.spine.gradle.internal.Deps import java.util.* @@ -38,14 +37,12 @@ dependencies { } protobuf { - protobuf.generateProtoTasks(object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - for (task in tasks.all()) { - task.generateDescriptorSet = true - task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/${task.sourceSet.name}/known_types.desc") - } + protobuf.generateProtoTasks { + for (task in all()) { + task.generateDescriptorSet = true + task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/${task.sourceSet.name}/known_types.desc") } - }) + } } val spineBaseVersion: String by extra diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts index 8d1e792a45..f0e2b0eaaa 100644 --- a/tools/proto-js-plugin/src/test/resources/build.gradle.kts +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -18,9 +18,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.ExecutableLocator -import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import groovy.lang.Closure +import com.google.protobuf.gradle.id +import com.google.protobuf.gradle.remove import groovy.lang.GString import io.spine.gradle.internal.Deps @@ -48,28 +47,27 @@ val compileProtoToJs by tasks.registering protobuf { protobuf.generatedFilesBaseDir = "$projectDir/generated" - protobuf.protoc(object : Closure(this) { - private fun doCall(protoc: ExecutableLocator) { - protoc.artifact = Deps.build.protoc - } - }) - protobuf.generateProtoTasks(object : Closure(this) { - private fun doCall(tasks: JavaGenerateProtoTaskCollection) { - // Copy the task collection to avoid `ConcurrentModificationException`. - ArrayList(tasks.all()).forEach { task -> - task.builtins { - removeIf { it.name == "java" } - maybeCreate("js").option("import_style=commonjs") - } - task.generateDescriptorSet = true - task.descriptorSetOptions.path = GString.EMPTY.plus("${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc") - task.descriptorSetOptions.includeImports = true - task.descriptorSetOptions.includeSourceInfo = true + protobuf.protoc { + artifact = Deps.build.protoc + } - compileProtoToJs.get().dependsOn(task) + protobuf.generateProtoTasks { + // Copy the task collection to avoid `ConcurrentModificationException`. + ArrayList(all()).forEach { task -> + task.builtins { + remove("java") + id("js") { + option("import_style=commonjs") + } } + task.generateDescriptorSet = true + task.descriptorSetOptions.path = GString.EMPTY.plus("${projectDir}/build/descriptors/${task.sourceSet.name}/known_types.desc") + task.descriptorSetOptions.includeImports = true + task.descriptorSetOptions.includeSourceInfo = true + + compileProtoToJs.get().dependsOn(task) } - }) + } } tasks.build { From f940ececf2021d3846c35b45122fc7403d4a0fa6 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 12:32:33 +0300 Subject: [PATCH 35/43] Reduce duplicates --- license-report.md | 30 +++++++++---------- .../model-compiler-tests/build.gradle.kts | 27 ++++++++++------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/license-report.md b/license-report.md index f857f810b9..8c3cb979aa 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:25:56 EEST 2020** 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 **Mon May 25 12:19:46 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Fri May 22 14:25:56 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:25:57 EEST 2020** 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 **Mon May 25 12:19:47 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Fri May 22 14:25:57 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:25:57 EEST 2020** 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 **Mon May 25 12:19:47 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Fri May 22 14:25:57 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:25:58 EEST 2020** 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 **Mon May 25 12:19:48 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Fri May 22 14:25:58 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:02 EEST 2020** 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 **Mon May 25 12:19:49 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Fri May 22 14:26:02 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:03 EEST 2020** 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 **Mon May 25 12:19:49 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Fri May 22 14:26:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:03 EEST 2020** 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 **Mon May 25 12:19:50 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Fri May 22 14:26:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:04 EEST 2020** 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 **Mon May 25 12:19:50 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Fri May 22 14:26:04 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:05 EEST 2020** 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 **Mon May 25 12:19:51 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Fri May 22 14:26:05 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:05 EEST 2020** 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 **Mon May 25 12:19:51 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Fri May 22 14:26:05 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:06 EEST 2020** 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 **Mon May 25 12:19:52 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Fri May 22 14:26:06 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:06 EEST 2020** 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 **Mon May 25 12:19:52 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Fri May 22 14:26:06 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:07 EEST 2020** 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 **Mon May 25 12:19:53 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Fri May 22 14:26:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:07 EEST 2020** 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 **Mon May 25 12:19:53 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Fri May 22 14:26:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Fri May 22 14:26:08 EEST 2020** 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 **Mon May 25 12:19:53 EEST 2020** 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/tools/smoke-tests/model-compiler-tests/build.gradle.kts b/tools/smoke-tests/model-compiler-tests/build.gradle.kts index 63ea50bf68..1288ab05b0 100644 --- a/tools/smoke-tests/model-compiler-tests/build.gradle.kts +++ b/tools/smoke-tests/model-compiler-tests/build.gradle.kts @@ -19,6 +19,9 @@ */ import io.spine.gradle.internal.Deps +import io.spine.tools.protoc.MessageSelectorFactory.prefix +import io.spine.tools.protoc.MessageSelectorFactory.regex +import io.spine.tools.protoc.MessageSelectorFactory.suffix plugins { java @@ -33,22 +36,24 @@ dependencies { modelCompiler { interfaces { - mark(messages().inFiles(mapOf("suffix" to "documents.proto")), asType("io.spine.tools.protoc.DocumentMessage")) - mark(messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation")), asType("io.spine.tools.protoc.PrefixedMessage")) - mark(messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto")), asType("io.spine.tools.protoc.SuffixedMessage")) - mark(messages().inFiles(mapOf("regex" to ".*regex.*test.*")), asType("io.spine.tools.protoc.RegexedMessage")) + mark(messages().inFiles(suffix("documents.proto")), asType("io.spine.tools.protoc.DocumentMessage")) + mark(messages().inFiles(prefix("spine/tools/protoc/prefix_generation")), asType("io.spine.tools.protoc.PrefixedMessage")) + mark(messages().inFiles(suffix("suffix_generation_test.proto")), asType("io.spine.tools.protoc.SuffixedMessage")) + mark(messages().inFiles(regex(".*regex.*test.*")), asType("io.spine.tools.protoc.RegexedMessage")) } methods { - applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto"))) - applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation"))) - applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("regex" to ".*regex.*test.*"))) - applyFactory("io.spine.tools.protoc.TestMethodFactory", messages().inFiles(mapOf("regex" to ".*multi.*factory.*test.*"))) + val factory = "io.spine.tools.protoc.TestMethodFactory" + applyFactory(factory, messages().inFiles(suffix("suffix_generation_test.proto"))) + applyFactory(factory, messages().inFiles(prefix("spine/tools/protoc/prefix_generation"))) + applyFactory(factory, messages().inFiles(regex(".*regex.*test.*"))) + applyFactory(factory, messages().inFiles(regex(".*multi.*factory.*test.*"))) } nestedClasses { - applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("suffix" to "suffix_generation_test.proto"))) - applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("prefix" to "spine/tools/protoc/prefix_generation"))) - applyFactory("io.spine.tools.protoc.TestNestedClassFactory", messages().inFiles(mapOf("regex" to ".*regex.*test.*"))) + val factory = "io.spine.tools.protoc.TestNestedClassFactory" + applyFactory(factory, messages().inFiles(suffix("suffix_generation_test.proto"))) + applyFactory(factory, messages().inFiles(prefix("spine/tools/protoc/prefix_generation"))) + applyFactory(factory, messages().inFiles(regex(".*regex.*test.*"))) } } From 3dd0b1c6f7334c7384d3f7c79ea5a72094781157 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 12:52:20 +0300 Subject: [PATCH 36/43] Import extension functions --- tools/proto-js-plugin/src/test/resources/build.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts index f0e2b0eaaa..1dff8053cd 100644 --- a/tools/proto-js-plugin/src/test/resources/build.gradle.kts +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -18,8 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.id -import com.google.protobuf.gradle.remove +import com.google.protobuf.gradle.* import groovy.lang.GString import io.spine.gradle.internal.Deps From 766a8eac6e0d93a2659784f5b36127ef687b6b38 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 13:23:02 +0300 Subject: [PATCH 37/43] Use extension method `protobuf` for simplicity --- base-validating-builders/build.gradle.kts | 5 ++-- base/build.gradle.kts | 6 ++-- build.gradle.kts | 6 ++-- license-report.md | 30 +++++++++---------- tools/model-compiler/build.gradle.kts | 4 +-- tools/plugin-base/build.gradle.kts | 4 +-- .../src/test/resources/build.gradle.kts | 7 ++--- 7 files changed, 30 insertions(+), 32 deletions(-) diff --git a/base-validating-builders/build.gradle.kts b/base-validating-builders/build.gradle.kts index a836459c65..7fbe82f7b8 100644 --- a/base-validating-builders/build.gradle.kts +++ b/base-validating-builders/build.gradle.kts @@ -19,8 +19,7 @@ */ import com.google.protobuf.gradle.ProtobufConfigurator.JavaGenerateProtoTaskCollection -import com.google.protobuf.gradle.generateProtoTasks -import com.google.protobuf.gradle.remove +import com.google.protobuf.gradle.* import io.spine.gradle.internal.Deps import org.gradle.internal.os.OperatingSystem @@ -116,7 +115,7 @@ sourceSets { } protobuf { - protobuf.generateProtoTasks { + generateProtoTasks { all().forEach { task -> task.plugins { remove("grpc") diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 060aea3cc6..3671e4ac9e 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -18,7 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.generateProtoTasks +import com.google.protobuf.gradle.* import groovy.lang.GString import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps @@ -107,8 +107,8 @@ val pruneTestGoogleProtos by tasks.registering(type = Delete::class) { } protobuf { - protobuf.generatedFilesBaseDir = compiledProtoRoot - protobuf.generateProtoTasks { + generatedFilesBaseDir = compiledProtoRoot + generateProtoTasks { for (task in all()) { val scope = task.sourceSet.name task.generateDescriptorSet = true diff --git a/build.gradle.kts b/build.gradle.kts index 92d88ccd6a..be3d112419 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,7 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.protoc +import com.google.protobuf.gradle.* import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps import io.spine.gradle.internal.PublishingRepos @@ -149,9 +149,9 @@ subprojects { } protobuf { - protobuf.generatedFilesBaseDir = generatedRootDir + generatedFilesBaseDir = generatedRootDir - protobuf.protoc { + protoc { artifact = Deps.build.protoc } } diff --git a/license-report.md b/license-report.md index 8c3cb979aa..f23d1c2bdb 100644 --- a/license-report.md +++ b/license-report.md @@ -328,7 +328,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:46 EEST 2020** 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 **Mon May 25 13:15:34 EEST 2020** 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). @@ -773,7 +773,7 @@ This report was generated on **Mon May 25 12:19:46 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:47 EEST 2020** 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 **Mon May 25 13:15:37 EEST 2020** 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). @@ -1156,7 +1156,7 @@ This report was generated on **Mon May 25 12:19:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:47 EEST 2020** 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 **Mon May 25 13:15:40 EEST 2020** 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). @@ -1521,7 +1521,7 @@ This report was generated on **Mon May 25 12:19:47 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:48 EEST 2020** 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 **Mon May 25 13:15:43 EEST 2020** 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). @@ -1902,7 +1902,7 @@ This report was generated on **Mon May 25 12:19:48 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:49 EEST 2020** 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 **Mon May 25 13:15:55 EEST 2020** 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). @@ -2281,7 +2281,7 @@ This report was generated on **Mon May 25 12:19:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:49 EEST 2020** 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 **Mon May 25 13:15:58 EEST 2020** 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). @@ -2646,7 +2646,7 @@ This report was generated on **Mon May 25 12:19:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:50 EEST 2020** 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 **Mon May 25 13:16:02 EEST 2020** 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). @@ -3065,7 +3065,7 @@ This report was generated on **Mon May 25 12:19:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:50 EEST 2020** 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 **Mon May 25 13:16:06 EEST 2020** 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). @@ -3430,7 +3430,7 @@ This report was generated on **Mon May 25 12:19:50 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:51 EEST 2020** 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 **Mon May 25 13:16:09 EEST 2020** 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). @@ -3795,7 +3795,7 @@ This report was generated on **Mon May 25 12:19:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:51 EEST 2020** 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 **Mon May 25 13:16:18 EEST 2020** 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). @@ -4120,7 +4120,7 @@ This report was generated on **Mon May 25 12:19:51 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:52 EEST 2020** 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 **Mon May 25 13:16:22 EEST 2020** 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). @@ -4453,7 +4453,7 @@ This report was generated on **Mon May 25 12:19:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:52 EEST 2020** 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 **Mon May 25 13:16:23 EEST 2020** 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). @@ -4832,7 +4832,7 @@ This report was generated on **Mon May 25 12:19:52 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:53 EEST 2020** 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 **Mon May 25 13:16:26 EEST 2020** 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). @@ -5165,7 +5165,7 @@ This report was generated on **Mon May 25 12:19:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:53 EEST 2020** 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 **Mon May 25 13:16:30 EEST 2020** 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). @@ -5498,4 +5498,4 @@ This report was generated on **Mon May 25 12:19:53 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 12:19:53 EEST 2020** 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 **Mon May 25 13:16:34 EEST 2020** 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/tools/model-compiler/build.gradle.kts b/tools/model-compiler/build.gradle.kts index 65874e3583..b71f3ed79f 100644 --- a/tools/model-compiler/build.gradle.kts +++ b/tools/model-compiler/build.gradle.kts @@ -18,7 +18,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.protobuf.gradle.generateProtoTasks +import com.google.protobuf.gradle.* import groovy.lang.GString import io.spine.gradle.internal.Deps import java.nio.file.Files @@ -53,7 +53,7 @@ dependencies { } protobuf { - protobuf.generateProtoTasks { + generateProtoTasks { all().forEach { task -> val scope = task.sourceSet.name task.generateDescriptorSet = true diff --git a/tools/plugin-base/build.gradle.kts b/tools/plugin-base/build.gradle.kts index 03bed853c5..349314f866 100644 --- a/tools/plugin-base/build.gradle.kts +++ b/tools/plugin-base/build.gradle.kts @@ -19,7 +19,7 @@ */ import com.google.common.io.Files -import com.google.protobuf.gradle.generateProtoTasks +import com.google.protobuf.gradle.* import groovy.lang.GString import io.spine.gradle.internal.Deps import java.util.* @@ -37,7 +37,7 @@ dependencies { } protobuf { - protobuf.generateProtoTasks { + generateProtoTasks { for (task in all()) { task.generateDescriptorSet = true task.descriptorSetOptions.path = GString.EMPTY.plus("$buildDir/descriptors/${task.sourceSet.name}/known_types.desc") diff --git a/tools/proto-js-plugin/src/test/resources/build.gradle.kts b/tools/proto-js-plugin/src/test/resources/build.gradle.kts index 1dff8053cd..3e9b4f9bce 100644 --- a/tools/proto-js-plugin/src/test/resources/build.gradle.kts +++ b/tools/proto-js-plugin/src/test/resources/build.gradle.kts @@ -45,12 +45,11 @@ tasks.compileTestJava { enabled = false } val compileProtoToJs by tasks.registering protobuf { - protobuf.generatedFilesBaseDir = "$projectDir/generated" - protobuf.protoc { + generatedFilesBaseDir = "$projectDir/generated" + protoc { artifact = Deps.build.protoc } - - protobuf.generateProtoTasks { + generateProtoTasks { // Copy the task collection to avoid `ConcurrentModificationException`. ArrayList(all()).forEach { task -> task.builtins { From 737991acf2b629c54d1d84791b2229217c935b4c Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Mon, 25 May 2020 14:10:23 +0300 Subject: [PATCH 38/43] Update Gradle wrapper in smoke-tests --- .../gradle/wrapper/gradle-wrapper.jar | Bin 58694 -> 58910 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- tools/smoke-tests/gradlew | 2 ++ tools/smoke-tests/gradlew.bat | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/smoke-tests/gradle/wrapper/gradle-wrapper.jar b/tools/smoke-tests/gradle/wrapper/gradle-wrapper.jar index 490fda8577df6c95960ba7077c43220e5bb2c0d9..62d4c053550b91381bbd28b1afc82d634bf73a8a 100644 GIT binary patch delta 6447 zcmY*dbyQSczlH%shY+L(kQ}C6ise@?c@F%#`dE9xT=qM=Dm?$VxD1hrECD1a#01Q8o zMyT3}z+1K>hPE%4doH=x5X;^NP(OFD5GByp;5FQ^bpzkBa(;eudMu7Iyv$DE+N=>p z{3Y5_BP>F3)tXW*Styc(Ji3jnK-giGA_&42fsbZ@#+e+ly3w0VmLC;LA)h1UY(ChA zfwqQ?-@}@S93F|exOv;Se;P|SrYvEG(8q&|ltqvQHO9KgCSwM!Y+#d5eIRq$Mi`pU__N$FTxW@KAWIw= zayY6@9EyxG<_tr&{Wi87m5*mf=u&=;eL1gf{Mt)q8Drick8CcxzLW>cG~TbW)|$*D zYMc|5eZNNzt7O_C1LqgaI`Z0B+2#;3yO;E7N4oMY@~7$4;MRonU+Ca z#*cD!7$u9pZ|3f!-_6rpN}XhAWd`1qiR{e*1CJK1dvBsjUyY@BuT|;EAz}*0uSwT_ zq(g0jXTAK4wsQ>kIKEfRQZw^GIKNRZmV)b;c*Kpc?IvNuq{+eCM4%IBoRUk!JeJ4IVH!pLl+5gQn^$0Fw(WROw~SclOYWbMmvR+x&lYa zrU`5lck*s2zl;n6HEa_E|Btu!_BeeF8T=~0Z-pdJsKtN8nr88*8loznbI`@@8U-bc zCE&MaHH#?LN;6&wU%>->{X&6n*c6ECkP#Bn{lafo9KW+AKK>>f)YfzG#t`XCsl$WX zeS|50l&G{J6yrdD0#njv3|C}K(~azN%1+c#*-JXtZd=Rs-zr)f{Mneaqpgewz^3OM5FaDaH3?RpqMyL}=5sFu_zcDc^E~=$H zp`mutZ0ahrf32c`6ROBh&lI`>vuFJE*(NVpjr~^d53MZ0v$G#mHqBLpZ_=3?pNjHc zq`Dn6xbc32BSg`U@YE?)%%`LvRRWt@NnS4GSj=p><<_-c6l`myAJE0fSp^QbBfdS( zl>BC`;EiMtvPQ^FVSL|sjTc(?b%8Qt@%U>rt&`4_cYT+R`OvMomf#104S~4%y%G=i zSF$4cuIxlIe>@1E=sfXhVt@RqP-*grJnW~;iWiY{&Bqh7J|{vYQ!^1x4cnyGk6Wb9 zO0~}ejH&5@bEj&`2?Wl*cf=IV=$oa9rzh+#gN?j{IY z{cFM?b1*TT+&S2rOIFFvy{`FvX}_js+9rw1O*1ySv8Q}r2b0@*h|1Di0R1v* zVt4yRX`%ac3xeH;(y!FJ1wfX0u z(vEffdladd}+qfb##M5s|vX#V+!&>>0;o_Le@c)+7jDwJJ(9>+3CRkGH z##M)o)xY%3-ifK*iFpo7NiBT`wYVc=lYIZtKF{pxNfod2V)Ml&<=??l)7w5)Glopn z8#scqBz@^rE2-5aVDT_~Q#A7m4S6@B{QM6c_oY?)xk>z8r!qnbkvnqHoIRTMZijQ5 zv*ir-hjrA??C7S({;peDbjO+Kk0=tpoYQr7VQMJ*cR43?@CVMwg=}e<87k-T@wQ2`}bwe-}AAk?H=&0Yz~Zbk~bc>EP@tV zZ}M>Z2br)mwHOaQS1^~;AVlgQS(~eqTT3cQ)Jq8?bKk~$>tZSLgMW6sF{Os2*%OD^ z#@G{w=c@536Pgy5n{C*b?yf@Kd`v9zOG*56432l!^U3K)m1;qIzM*3ZS)XJnJ4THC z^e*Y&BQ)hyIA?LzXpqWK1`GN&gr?{?;qw?0wZ2-3WO3HI;)oY4YL?q5>F9QpzV?jw z%Ae1D+te?r(`vL~!tzayt@-830@#ZS)-KyoF0$s!Vw0Vud%!J!?moY0m8#gODn9F+ zY?TnBMwOKomVz60?|&V3HO!Z!cH+<9qbk>I-tT86n9=X9g`Zr=G+ zeJZH~&WtV__tcQ~B#c3;HnlwX+UoXIT>zqV;hho> zm(S|vbkcOsiPJd5fwJn%e%@Z(YNs#TqQ-MTQNPf9zDS)^#q=x)hn0wzK&7Tn_|BdK zx}|&Y!FqT|pVs!!ayLJ%C$M2LMR|s6aQ%QUi>oqMG=a-^oPaKfKR>DyX9dBV*%R!+ z%FvBF>KN67w@!4Lj7{*vhaGWkP344{vG@LFna%+6y+SB#;an8bz1SAoZg)%>it7$I$^*bWXoT6hbhk;!C7 z5tAKrT@VO5N!8a8G3=U4NL5yNqYdEsc2}2^o5ctj;Hrf0Dk~jL|srk z+XuB%H@ROKFqLw>LUu0bqRXw}B*R!OLo6|5*Q4|0dPlcG;>@4(_wZ})Yf&doH+L*RE=D|Z6RxTU#a|+qO_A4p z2U{|br!ER>QqRY>(awtH6L-S8zx$EeC$o;?KH-zEE{_f%M55>lLD!d9KbLpEyv&z3 zOD}@>1Exq4C9v6urtETRrtB>6m;qqJfh)6o@&+S>@D45s~ccePF=|y`U z-f~hKH|y8x$ovl1NJi3Qqom;ERzIG#^&!~fFQcyl0+H+;`yV@UyA|P*R^h1K*<8h{ zZqjSxw79HGC?HMzs;UY)%J2b0gXnQ=OY;dHMi3-zr7BZ6SnFxTu8VCoySbgs>l^A8 zmN&kvh~36=TRu2B!zInA7+dp6$aaef-&PgtbENZDyV(2Qh!`{>wDfZGw=1SFg*E{+ z#RVlY)C{0iP0+Q52$nQXhK{cVx<)i;=tyb=4mRyl7vX}F8Q%QL>_d6O7MM}r2)$$y+>m{$P8lbYz;fZ z3QWqj-`0^M+YpnVm!KE9$7?qn-uiDEF=*G=DW84fhX*c2c78!Mp!igEq_TE#1gLe8 zl$ro$nqM(yq&C?t-G#o9^eY1)Q9PX&YrAtOX|lboS9pTS>3XVy+T*%QF@Dx%R! zi~z%gEL!?kG{Q%?*cWYwt#5W}g>qQ?$$RX%E0(03W7ZERFNIOjpM5e?6J0JAro(i1 zsQeyE7G{}iSZNnP(n4FwvEp+ztGzd?jYx+(7Mk46X^c!>`oO7{i_yo>FV+t|SvS!} zBkOPHlUb!OPh1Y-8duD(b2u@P=5b8soW*+wnMY4Q8Eq!-L)~5b=n{68|ISew8k>Nt zjw!awOP?W8P1$OO`+#?*f{M(%*J)%E_^tKqR(nv#swuRijXecgwQacnz4TE8 z=2-p0u+VG&&^ePGuUHKIgI+h>XY*ZqAI5N*4Wc%8CXbXf57?Mpl#k^M=OHx26*X=b z@XIHOwsp{@XZ?Foo*@>FnvH!0EQsZ*BR?l&zm|TjE+bDiqA$Y2SY>Copx~1PHa4js z_!C`yon1&oi{Kr00~T|`DcYfvr^uu*F03OLS>^N@6Zi4VhFx(|WVY7whxD`RzX@{a zbt^j09cW#7p^J^3)}YLkrHR`G;mbL@W6__7SC=}Xh$OzjG!>tu=ubtG%LthmSDE)Y zfp>6T8@qS6C@y(<;eHyUqHzM9+%$!LWjRr*z1Qw1s?bAYrK7*KD*C^qP{W=T31H#9%+CXSZ;mJdIE6lN%IxBUk0hr5P})$QDM>4>ow%muHv z-zVTS+rI9+PV|%56*~qa^GKRWwz;dLtoUR%*1M}RGh$LcGlrHaAh-`>BW&!A6mvv( zo}57{BhH+Bqiza~XoxEIpXk_BGR8GzhcQwT4ND>~ahppmV*4SGve=@GE0zZGn}Z_l zMJ~Bi7prl4W<5m=nXZVtIYs=mwv2O*-UXG(Y9#Tfu8=c%NzSja+#d#gJ}FZhj)shN zMhx$^a#S-Ji`_niAxIQ^8YN)tqqJ!k5S_*BUFNY4F-4u9`G(W0v9;O*=f94+)C?7x zvYptQhDL9z*Ef*V5;DWma#Kwl4duDaGW=wP;`7wCjpnvd1`SO#b!fM0%!1J-u}iOT zS`t%%#@E|EzErxcRQ`fYJ)?gm)spx4eAd0@1P(T8Pr4n}5d$L~0>gytVD-^eF2bLx zW3i^+7-f{_=5Zq77xY&vCpL~@OTUZ`^myD;mRijH9fO>_Qdw^gurX%)NhZcgCIxgN z4yJcYrgaS}O8U(X^mwaTnrkxmt*ni+Cdmv>X$)_K4fl)^GtOUWQ~h>K$_^s;h!1Dw z*q&qAD_pNCM3lb9=U3Af`-?xuwb62P12trTb=MXKaYoNRHZPDJv9*`Aw)QF0Tb@g}XFL;| zdJF}(@e5r%*LCQBK*U(pdQRDeKE!)FF+}k{9Fz>A6zUP@OV+3DhvOQ zm{2a0QrQ^kn~?Df`@q(xA(yDoo!~Q+;;_*@_h(a`J~*mJkCa@npgsiRZAQ#pqSOZK z!muT4MNvG*<^MYIQN0h-W#UtDprj`i7Xxq=bTN{>rHH}V?ZdT~kd!O-X zt5JI4SH&YHnn(%JNKh$z*YZsO#t%LLA680?$^5V~dE8Pl^cPrXu++@2D?!)`KkPkM zE{Jaq+MNaAl)!{f!@ID?j@Fh)p!zU~?G%ODNge-447;DM8a%=PGRAB#D&LD5-=atG zY9Y3SF$2Xq8v`e8Rvmy3(wxGi--=L0eqRV6KFsU+waZV(WuPT00CKK)a--{eLpmBy zcXLs^*FtPQfeF;&p!YXTs3p9?U8Q0nzxqE+bM#Y7^_TmK zsw$bo4WCokyvS6N_0(KUJ2!8X|5~{<8pDd7rDt;^sCOx&=RxoN<`o-B}EwumojPl2bzq!x}k%%W5t9nTM1xeXi zQv;z_icyd<$#$rBJk9nk)8!h|c`$y~+NUVUGMRKk0aIBHQxP%YPu#d}ntgv1C_my; zpbt9K?YSK7jR%!jIUz+E3dnfbRMkv&7^h$B&oh5Ae2U{ka*7&~Z|XGk#69p1c_G1FC{&L1hn#)ZCmqpbHXC6uk;Obwn7kSJKaZ`H?u#%dz%W!fJP&`<51T`RomXjQ_%* zZ6iKVWhSW(o;7GYUuAwQxLzZTMt^H4@rorBp`tprXq9xsaKz)V<&_~zzsbGC#J2xC zQqiFYS<^~7D^Pcs?HzZm78=|`Ql?|`KIZR%#&qOMAEpStCrEMl8R0iZLR|#8%!;8p z0VGG*J(7WAxG~ij`ISsxDD--ge}1Dh3vAj>!wtQtec=#YCHNFKz$`Il6fa~c`rYYD z(xqyH;ETfFb?fK!?^*s3`))*65xs|5*^u3Snz(6t59|0kESGze=0W7f>LL{K_sC3& z*ardr??S+*s+p>{8sni`20|xZQ#^D^AQTjp`=*)izGeFN$qoSHK6K7(lg#A*T_gM( zK|#q5@BmyU)j&wqjB*=s29ufgV)YL%VJRV>@1p)anJxE7WkARdZ36Lb~f2b6Q zlm7uK{1gU}2|U1INlYN^Cl9Dh;{WL3PjQf^)PE=rpfSw?($jsQrq#T^it69uKY15Tb~K=hm} zh{fw3iUZN>cmUlz1T^;!pw6KHjOL|4uKo}3i|5k^cjn$5g+E9&YZL(c0t7^Yyr*;k z{39mNJB|kkA^-oNpr8j6hJ*m~3oM}A&ow%Xk22_5P%a?j<^aqv(ILmiH2Q>4Owl^89`~3rMHp zp3(w1Yh0kR@38~4fWByT)-r6kJki5KxqsSQ->5QD8+n7Lblrq&rqbQu<4GcZbwU*DehL0!uF< zAtALa2-nN~-E+^Kf9CT%^Pcydcg~!dGjHY)VIP{X+Mk5X+Z1~yNkl;K;}!vd91tr< z3$)!P0ZK`15GdXAY=~6eS|ICMe*_|EtvP9boO{_-?eWIq(~Zo-^Ni?kUPq%Frv%84 zr)oV1Do+g^<-_H;g&&6jZW30jA}03FK{ok6%fnpg;T?i6z?Ni4>j&X84{fZopFMV_ zPgq3;2ochOBOr>*RYtVW6qFYa2RCa+Rij=CocWr`A#j^WVQcy=l`bl)`?rJh=2@6e z5{>%T3cj@IohTK=HSz{HCTuU>e9Jdy(opO40;jY>4CYhDaoW$2zlNl%@5(Qiu=y0y zcPW^JHHod;>lqb~jFKYaMy2xYMtqcZ)tr_RM@6k9lIwWE8QrU-RZ^X=V;RcRRkvfh zd1>Ux5k>B6Zog!6HSDMhQY$F;vke(i*FG4;(;LQ}mHEaN8B^s8K(WGkdBU85Nh-nw z3TtcD!M5Wr+_o`vA0(6W&{4w4+nrWDTW1^{ z`epH{pQuSybd8I*sYD3SJ~2ag z)Yl_lSuF&Mbw4X`D?Zu`D`om|Xx`05WdlZ9t=JoV-6wy-R)lz9Vmu3c>A*fG30~0(?uQ5FkJ%zGK6$qDU~&hJ-V3Gc6s?!hhw*e)&1k)r=FnmzLWcywDn{+ksed*I9(B{*s3K(%lJ)U)|9X0a^E2 z?>RlLCvy+s4faLC0}D1!+cYzr%>h-s0|&9TBc1a9Zj|0mYS(5 zrQ~xRl7za1>q_E^{8c1q74LqFM-}HUQKs z-HX=BqDsXVjC!$_)l0!SF$o_V=RXM+z&V&q6#jU#AuF*Ji7|_5#Z1IhRaGYUxFADf zpXVNXi^mIuN^VZCEy?r%N`o=v9TuU`3mG^fHWsJ7ia5E@h3U;R^8nN0<6mS@yNZ|*5X zjEnxhb4H)?Mxy|QSTBrESL0adG6`arE$lH-Quq8IpQfLyXQ6-~q4$o-rhCpAt($tI zaQa-ZZM^S!;$?}%kABf#XFUWGO|RZjOJYN?9`~l2FNCPG(y>&9>G2l#+5fWW;j7y+ zQId*;#2h|q8>}2c^sysZFYgKl&gLAc8b;;_h%M^v5(yp^hO`DU#mFTN zZo|S}wZuF&o_J(DA!5AX>d=y}Iw7%z*yBr$?F*l*`ncP=hjAJ8zx2t%b$OWhk#*>L zp`+b!2vJ%5!5Pm;TXyhUy>17398}g9$AA1ssrPvPv44N`QtuuEE{>Jfe<@nFgB5?k zeEE{>t*#8BJh%#1a}!~{TtS;f#A-UQO!fR1zuQA~$WHb8_sW<`I zOQt1l>b3%|CE-m#+H%q)ASiMAt&ke3SnvD{cC0Ff;U-w5o;8ioQdl~qkLfEQ-TaIu~%rf%rG#UXd z#FXb(La?+7@`V^U+FMI3**T4yDFF#ZXU;?IM6Bw#p@kx86Xq&q-1cybR(211`S}V* znO%<4o*ixUE0Pbh+Yz&y$*tl-EYXj4#@j5-Wj6CQ7slhaV>Bq)HZf-lb{<_}t>aYl z&=`I3F_+?^Q~lAB&dSS|O^qS%5er4X>)d^YqM{p>F_t3F+O*!(aZ;%_yJJ}DE$sT^ zD?V+F1o)k|;MJA7`df*pD~TA{i+^wLEi5h3gr(29e5~cw@g{21H}^GSsQD@#%k03a zK9?s{0JjBaTq z%7|3eul{k|8$TQf8qMtCiY(ub>dVMH!d3$^aEg9r8e~r>3sXIyah&#Of9~35eqFVQ>knQg8ZBr~gYpRT*COY|4$vZssNa2NxUeYfsm!1qND_;I$wR~eah0d%+M7?x^JA+$)Ce~Rg zeqN7OxBK8sNnuySGL7AXp>`pLB^Uz@)H+Fq#6*xz^WQ%C8FYh2c}ibM$objs+y-d? zrX=r$2HB8GQAT(a-w^I+Es60?fl37;e}5$RjTuFMKXp%mne_VmrD+=0@u#&VHEO>T z0+aDh{lgzr?z>~c5JWEZg`onQ5xvC~Pg`I34~`FcnLIpC<-1wExH5^!-;y8S-GaK$ zqV%<$D)?4;qGGHu8a=-ztvXSqxh#zCt;e8A_h?gwd4CR;I%At`%CO^gi0;$9($Z`nsRqjuU6#in|WCc2vnFl7_u}-ps18Z*4Id%R4g&)zX z=u-}T0Ym3Y-i-H&S?xF}yw?AdonDV+mwfb*odRY)h;UL3);X$Jjcc$Zn&D^A3CtT} z(yDV3RddXi$VJUPVhedH^S0)1&)Bbgt@+Paok?^h;$k*W0Cbh`vG2mpVU2}c99a5HuH!aSi! z`nGbfL^TymSO0$QBNCccZm*uW{Nh09Z~MGCeOOU2RMqHJ-N&DuF-2n_ObxbNZG*JV zbI(4ArNKZ@CUt-@eo_k@7Mxy(MarP*DVP^#5Z;ZCqEYjzxIeI@q|R4zFEvIRGSVU% z$duRe?0xKK+(*?VWjN^l{Is8>%$ zZ+M=HCS<3MQ`&8i7~}*7hNPrD|Jpj|yihO~({IdOBM?%{!ygU%^BJyBmS%6`!UkVo zL^v<&C;4Th7tx1l!)WXNrYFSMljXe=FPsxEl#gW6l0I%9R?<>^G5~ze5H_V;gf+ny zkoSHZ-~~LeKBBjvGOTE0$zT3w3P}2At4ce)1Y^c=mw9(lJ+3FzO|?53ToOlD?jbsQ z5vy<+b*YLnYm1m9*uo+Hv$3$6AsTswxYOo$!QDU1@_I;r+|0PE$m%;+gL_=h`{M0G z<%5f$DRD1rkyN$KcaWOd?Z>Vcr0Itq->o9Q2%tOr{?NT>&{g$V>kWg|J-0^vg*>mq zXDCk~jYn^7od`Ep|5+kxII7RTuS?Tx=nETO{85~G=6slBjlci%kz`5LkHx;b8HlZh zw*1dWnq*D}N{}lP?*^3Sl#PuDO{Q#n_};J|DU39cPe7s2pX@nCXO~n(FReYqJ3s!S zxpR+QJYxy(_V`@?XTfn8#(w-Z6!{lnk#x%5?42|OsX85_8tK`R_Ov3I#G8T%~|m5^dSLk z=E+zY@@x=EdFQ?R+(^!|Odf9!syD1W>9@W&hWlp@K0RyhEXqPgul#0a-Iymp?(Z8+ zedpt^fW(v;4&6%_BXA z4ML%iVq3UBLjtrypnLM(5fbb$$>*yu%nuPX34Rq^>h*W~m(1Af3XeCtwBOBnb(dcg z+c1f(KCz$tT8{k$O(PYvpV-y?HCzAn)o{Gqea*A+gt|&S*q!p*I7C$ro)~UpMuq~z zD|2*bHB0PErq1`Q`F1;cdmrI%ATwI3T;F3jc(Op`_q zG9GZ(b!$5`zCYFbU0gY*arcOL7%Z11HI8N< zcq<&EOTU~%Z3Q#_Ew?K+2p9%*Mv-*1Nf&fk%@LxhKX;1l5O|Iu>j}ovw{mq96>@dX zRyxG|0z=J$nFIqD!E-Q&?67!glaAo1mOtCUh7{Ar?dWVzC&DU-cGcQD zdZs=K!wc!qJbJ4aoRX@L zBRa?Q9N7R5#0tl=(2)H*61@~nW?QcNN)aonJBtDj!>d+B8l-Vjc1vu()AGLsOg;z= z3z>Lgn+88SWz5<$r*2$j5F6$glpX51lvo`8iT|m8vPVVVa|jx z&hfX2>kf%tAM?<=>xP+`#7lZs61$5|7J_%%!KyPj!t#T}j$H#+@?leTQwL&WsN$BN zuXS}6RGLD|V8HiN%M-zT^@+Hmns8IP+?%IVh@_upzIr!I+-a7r=-%NBXw*Op0`LK3 zG5fdG`C@Axy?d+8VQLq(qkUTD+FNVrN5Q|J6R&jh2Lv)Ole+5pGloEZZQ79>m7YGM zSPJ1GRDQtW?r9jb{g**e3Mr>PHrRWagZ|ku4kjL;JOdL~Id05kc*CA+ui@= zieS-e>hskR-1I9Sx7b4i6p>2LP#vgtG6;8vGL>E3$NPQ$J2r~XGQDNg;Sw=& zC}lz+3@Sq%I2q-97R&9|8Ij2^?^DGQK_oiqZS2$!-rzVqn=~d~TS{n&I+svxt4dWO zT?K0)JEx>9E7saW8h!5+MmAkC`g~v*@ z6VKn0>eZdon>BH(O$mACnxk3D?vSlCFFnvZ#+&hUs)Wr!aP{<@|oc^G>bJk59^xhmz!RA%|K_$o)V`D@gVs>@bSmXVID_PQXp znfja8U01+t3V!o{8ZKi~G@#q$KrAH-Ks3$G{Qo}H|N1ijJMsgZDgOmM1O$Fi0>0CX zpbAzXhYbP@PV;~=*nn7eQGjoT2b9nGFNg-PpHT$a@?7JL7I&pmkmclS7#Y#zRYg_`D0h47O z&|%88tXNh8{Yk$@@*HA-B9r#tDkY$>!U#Ie`j1TupjRn@;(ykyyld-zJ{@qm!UG~I zxR#ZxV8CEi5JXV?ANc~bS9*;MYtkTvifc5iynmg!XpIr%SN*R#E?|3&2QVs~N02d=N!1;GdfNGr)gc$|K#-y*M=Ra9B4#cmk-naoQuS*cWnE3C4 F{|nTN-B$nr diff --git a/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties b/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties index 4c5803d13c..a4f0001d20 100644 --- a/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties +++ b/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/tools/smoke-tests/gradlew b/tools/smoke-tests/gradlew index 2fe81a7d95..fbd7c51583 100755 --- a/tools/smoke-tests/gradlew +++ b/tools/smoke-tests/gradlew @@ -82,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -129,6 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/tools/smoke-tests/gradlew.bat b/tools/smoke-tests/gradlew.bat index 62bd9b9cce..5093609d51 100644 --- a/tools/smoke-tests/gradlew.bat +++ b/tools/smoke-tests/gradlew.bat @@ -84,6 +84,7 @@ set CMD_LINE_ARGS=%* set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% From 14f288010907188edab86e84680fad8bbfdb9696 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 26 May 2020 15:14:14 +0300 Subject: [PATCH 39/43] Update config --- config | 2 +- license-report.md | 60 +++++++++++++++++++++++------------------------ pom.xml | 4 ++-- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/config b/config index 5ffcb1a8db..5bb6b9f046 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 5ffcb1a8dbe4b9f14aacb9ecf663c5e639eac4b5 +Subproject commit 5bb6b9f04693af4c98bba41127257abcb8774b5e diff --git a/license-report.md b/license-report.md index f23d1c2bdb..aac55ae9d4 100644 --- a/license-report.md +++ b/license-report.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine:spine-base:1.5.12` +# Dependencies of `io.spine:spine-base:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -328,12 +328,12 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:34 EEST 2020** 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 May 26 13:20:38 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.12` +# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.11` ## Runtime 1. **Group:** com.github.ben-manes.caffeine **Name:** caffeine **Version:** 2.7.0 @@ -773,12 +773,12 @@ This report was generated on **Mon May 25 13:15:34 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:37 EEST 2020** 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 May 26 13:20:42 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.12` +# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.11` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -1156,12 +1156,12 @@ This report was generated on **Mon May 25 13:15:37 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:40 EEST 2020** 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 May 26 13:20:45 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.12` +# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1521,12 +1521,12 @@ This report was generated on **Mon May 25 13:15:40 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:43 EEST 2020** 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 May 26 13:20:49 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-model-compiler:1.5.12` +# Dependencies of `io.spine.tools:spine-model-compiler:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1902,12 +1902,12 @@ This report was generated on **Mon May 25 13:15:43 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:55 EEST 2020** 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 May 26 13:21:01 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-mute-logging:1.5.12` +# Dependencies of `io.spine.tools:spine-mute-logging:1.5.11` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -2281,12 +2281,12 @@ This report was generated on **Mon May 25 13:15:55 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:15:58 EEST 2020** 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 May 26 13:21:03 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-base:1.5.12` +# Dependencies of `io.spine.tools:spine-plugin-base:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -2646,12 +2646,12 @@ This report was generated on **Mon May 25 13:15:58 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:02 EEST 2020** 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 May 26 13:21:07 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.12` +# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.11` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -3065,12 +3065,12 @@ This report was generated on **Mon May 25 13:16:02 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:06 EEST 2020** 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 May 26 13:21:11 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.12` +# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3430,12 +3430,12 @@ This report was generated on **Mon May 25 13:16:06 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:09 EEST 2020** 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 May 26 13:21:15 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.12` +# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3795,12 +3795,12 @@ This report was generated on **Mon May 25 13:16:09 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:18 EEST 2020** 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 May 26 13:21:23 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-api:1.5.12` +# Dependencies of `io.spine.tools:spine-protoc-api:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4120,12 +4120,12 @@ This report was generated on **Mon May 25 13:16:18 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:22 EEST 2020** 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 May 26 13:21:27 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.12` +# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4453,12 +4453,12 @@ This report was generated on **Mon May 25 13:16:22 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:23 EEST 2020** 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 May 26 13:21:28 EEST 2020** 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:spine-testlib:1.5.12` +# Dependencies of `io.spine:spine-testlib:1.5.11` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -4832,12 +4832,12 @@ This report was generated on **Mon May 25 13:16:23 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:26 EEST 2020** 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 May 26 13:21:31 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-tool-base:1.5.12` +# Dependencies of `io.spine.tools:spine-tool-base:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5165,12 +5165,12 @@ This report was generated on **Mon May 25 13:16:26 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:30 EEST 2020** 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 May 26 13:21:35 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-validation-generator:1.5.12` +# Dependencies of `io.spine.tools:spine-validation-generator:1.5.11` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5498,4 +5498,4 @@ This report was generated on **Mon May 25 13:16:30 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Mon May 25 13:16:34 EEST 2020** 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 May 26 13:21:38 EEST 2020** 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 f780e4d77d..f2dd9278fa 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-base -1.5.12 +1.5.11 2015 @@ -154,7 +154,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-protoc-plugin - 1.5.12 + 1.5.11 test From a7d72cbe9e9b0247550ce1e3e774e9f7af626a52 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 26 May 2020 19:47:27 +0300 Subject: [PATCH 40/43] Update config --- base-validating-builders/buildSrc/build.gradle.kts | 8 ++++++++ buildSrc/build.gradle.kts | 8 ++++++++ config | 2 +- tools/smoke-tests/buildSrc/build.gradle.kts | 8 ++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/base-validating-builders/buildSrc/build.gradle.kts b/base-validating-builders/buildSrc/build.gradle.kts index bdfd32a6d6..7dc929afca 100644 --- a/base-validating-builders/buildSrc/build.gradle.kts +++ b/base-validating-builders/buildSrc/build.gradle.kts @@ -19,6 +19,8 @@ */ plugins { + // Use Kotlin for `buildSrc`. + // https://kotlinlang.org/docs/reference/using-gradle.html#targeting-the-jvm kotlin("jvm").version("1.3.72") } @@ -26,3 +28,9 @@ repositories { mavenLocal() jcenter() } + +val jacksonVersion = "2.11.0" + +dependencies { + implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion") +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index bdfd32a6d6..7dc929afca 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -19,6 +19,8 @@ */ plugins { + // Use Kotlin for `buildSrc`. + // https://kotlinlang.org/docs/reference/using-gradle.html#targeting-the-jvm kotlin("jvm").version("1.3.72") } @@ -26,3 +28,9 @@ repositories { mavenLocal() jcenter() } + +val jacksonVersion = "2.11.0" + +dependencies { + implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion") +} diff --git a/config b/config index 5bb6b9f046..d9223f98f5 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 5bb6b9f04693af4c98bba41127257abcb8774b5e +Subproject commit d9223f98f58cca6a6c91d3339f0fa6c366e3a00c diff --git a/tools/smoke-tests/buildSrc/build.gradle.kts b/tools/smoke-tests/buildSrc/build.gradle.kts index bdfd32a6d6..7dc929afca 100644 --- a/tools/smoke-tests/buildSrc/build.gradle.kts +++ b/tools/smoke-tests/buildSrc/build.gradle.kts @@ -19,6 +19,8 @@ */ plugins { + // Use Kotlin for `buildSrc`. + // https://kotlinlang.org/docs/reference/using-gradle.html#targeting-the-jvm kotlin("jvm").version("1.3.72") } @@ -26,3 +28,9 @@ repositories { mavenLocal() jcenter() } + +val jacksonVersion = "2.11.0" + +dependencies { + implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion") +} From 95274a573218e56339a9e0476bbfe92e080f344e Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 26 May 2020 19:47:45 +0300 Subject: [PATCH 41/43] Apply `IncrementGuard` to `:base` --- base/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 3671e4ac9e..3762a633fc 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -22,6 +22,7 @@ import com.google.protobuf.gradle.* import groovy.lang.GString import io.spine.gradle.internal.DependencyResolution import io.spine.gradle.internal.Deps +import io.spine.gradle.internal.IncrementGuard import io.spine.gradle.internal.RunBuild import java.nio.file.Files.isSameFile @@ -33,6 +34,7 @@ plugins { group = "io.spine" apply(from = Deps.scripts.testArtifacts(project)) +apply() DependencyResolution.excludeProtobufLite(configurations) From b24db6818707fccc80b303c3093e4fa878541a11 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 26 May 2020 19:58:23 +0300 Subject: [PATCH 42/43] Add missing config files --- .../gradle/internal/CheckVersionIncrement.kt | 104 ++++++++++++++++++ .../spine/gradle/internal/IncrementGuard.kt | 46 ++++++++ .../gradle/internal/CheckVersionIncrement.kt | 104 ++++++++++++++++++ .../spine/gradle/internal/IncrementGuard.kt | 46 ++++++++ .../gradle/internal/CheckVersionIncrement.kt | 104 ++++++++++++++++++ .../spine/gradle/internal/IncrementGuard.kt | 46 ++++++++ 6 files changed, 450 insertions(+) create mode 100644 base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt create mode 100644 base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt create mode 100644 tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt create mode 100644 tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt diff --git a/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt new file mode 100644 index 0000000000..60709874e8 --- /dev/null +++ b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt @@ -0,0 +1,104 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES +import com.fasterxml.jackson.dataformat.xml.XmlMapper +import org.gradle.api.GradleException +import org.gradle.api.Project +import org.gradle.api.internal.AbstractTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.TaskAction +import java.net.URL + +/** + * A task which verifies that the current version of the library has not been published to the given + * Maven repository yet. + */ +open class CheckVersionIncrement : AbstractTask() { + + /** + * The Maven repository in which to look for published artifacts. + * + * We only check the `releases` repository. Artifacts in `snapshots` repository still may be + * overridden. + */ + @Input + lateinit var repository: Repository + + @Input + private val version: String = project.version as String + + @TaskAction + private fun fetchAndCheck() { + val artifact = "${project.artifactPath()}/${MavenMetadata.FILE_NAME}" + val repoUrl = repository.releases + val metadata = fetch(repoUrl, artifact) + val versions = metadata.versioning.versions + val versionExists = versions.contains(version) + if (versionExists) { + throw GradleException(""" + Version `$version` is already published to maven repository `$repoUrl`. + Try incrementing the library version. + All available versions are: ${versions.joinToString(separator = ", ")}. + + To disable this check, run Gradle with `-x $name`. + """.trimIndent() + ) + } + } + + private fun fetch(repository: String, artifact: String): MavenMetadata { + val url = URL("$repository/$artifact") + return MavenMetadata.fetchAndParse(url) + } + + private fun Project.artifactPath(): String { + val group = this.group as String + val name = "spine-${this.name}" + + val pathElements = ArrayList(group.split('.')) + pathElements.add(name) + val path = pathElements.joinToString(separator = "/") + return path + } +} + +private data class MavenMetadata(var versioning: Versioning = Versioning()) { + + companion object { + + const val FILE_NAME = "maven-metadata.xml" + + private val mapper = XmlMapper() + + init { + mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false) + } + + fun fetchAndParse(url: URL): MavenMetadata { + val metadata = mapper.readValue(url, MavenMetadata::class.java) + return metadata + } + } +} + +private data class Versioning(var versions: List = listOf()) diff --git a/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt new file mode 100644 index 0000000000..c227f49889 --- /dev/null +++ b/base-validating-builders/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.Plugin +import org.gradle.api.Project + +/** + * Gradle plugin which adds a [CheckVersionIncrement] task. + * + * The task is called `checkVersionIncrement` inserted before the `check` task. + */ +class IncrementGuard : Plugin { + + companion object { + const val taskName = "checkVersionIncrement" + } + + override fun apply(target: Project) { + val tasks = target.tasks + tasks.register(taskName, CheckVersionIncrement::class.java) { + it.repository = PublishingRepos.cloudRepo + tasks.getByName("check").dependsOn(it) + + it.shouldRunAfter("test") + } + } +} diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt b/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt new file mode 100644 index 0000000000..60709874e8 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt @@ -0,0 +1,104 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES +import com.fasterxml.jackson.dataformat.xml.XmlMapper +import org.gradle.api.GradleException +import org.gradle.api.Project +import org.gradle.api.internal.AbstractTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.TaskAction +import java.net.URL + +/** + * A task which verifies that the current version of the library has not been published to the given + * Maven repository yet. + */ +open class CheckVersionIncrement : AbstractTask() { + + /** + * The Maven repository in which to look for published artifacts. + * + * We only check the `releases` repository. Artifacts in `snapshots` repository still may be + * overridden. + */ + @Input + lateinit var repository: Repository + + @Input + private val version: String = project.version as String + + @TaskAction + private fun fetchAndCheck() { + val artifact = "${project.artifactPath()}/${MavenMetadata.FILE_NAME}" + val repoUrl = repository.releases + val metadata = fetch(repoUrl, artifact) + val versions = metadata.versioning.versions + val versionExists = versions.contains(version) + if (versionExists) { + throw GradleException(""" + Version `$version` is already published to maven repository `$repoUrl`. + Try incrementing the library version. + All available versions are: ${versions.joinToString(separator = ", ")}. + + To disable this check, run Gradle with `-x $name`. + """.trimIndent() + ) + } + } + + private fun fetch(repository: String, artifact: String): MavenMetadata { + val url = URL("$repository/$artifact") + return MavenMetadata.fetchAndParse(url) + } + + private fun Project.artifactPath(): String { + val group = this.group as String + val name = "spine-${this.name}" + + val pathElements = ArrayList(group.split('.')) + pathElements.add(name) + val path = pathElements.joinToString(separator = "/") + return path + } +} + +private data class MavenMetadata(var versioning: Versioning = Versioning()) { + + companion object { + + const val FILE_NAME = "maven-metadata.xml" + + private val mapper = XmlMapper() + + init { + mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false) + } + + fun fetchAndParse(url: URL): MavenMetadata { + val metadata = mapper.readValue(url, MavenMetadata::class.java) + return metadata + } + } +} + +private data class Versioning(var versions: List = listOf()) diff --git a/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt b/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt new file mode 100644 index 0000000000..c227f49889 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.Plugin +import org.gradle.api.Project + +/** + * Gradle plugin which adds a [CheckVersionIncrement] task. + * + * The task is called `checkVersionIncrement` inserted before the `check` task. + */ +class IncrementGuard : Plugin { + + companion object { + const val taskName = "checkVersionIncrement" + } + + override fun apply(target: Project) { + val tasks = target.tasks + tasks.register(taskName, CheckVersionIncrement::class.java) { + it.repository = PublishingRepos.cloudRepo + tasks.getByName("check").dependsOn(it) + + it.shouldRunAfter("test") + } + } +} diff --git a/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt new file mode 100644 index 0000000000..60709874e8 --- /dev/null +++ b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/CheckVersionIncrement.kt @@ -0,0 +1,104 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES +import com.fasterxml.jackson.dataformat.xml.XmlMapper +import org.gradle.api.GradleException +import org.gradle.api.Project +import org.gradle.api.internal.AbstractTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.TaskAction +import java.net.URL + +/** + * A task which verifies that the current version of the library has not been published to the given + * Maven repository yet. + */ +open class CheckVersionIncrement : AbstractTask() { + + /** + * The Maven repository in which to look for published artifacts. + * + * We only check the `releases` repository. Artifacts in `snapshots` repository still may be + * overridden. + */ + @Input + lateinit var repository: Repository + + @Input + private val version: String = project.version as String + + @TaskAction + private fun fetchAndCheck() { + val artifact = "${project.artifactPath()}/${MavenMetadata.FILE_NAME}" + val repoUrl = repository.releases + val metadata = fetch(repoUrl, artifact) + val versions = metadata.versioning.versions + val versionExists = versions.contains(version) + if (versionExists) { + throw GradleException(""" + Version `$version` is already published to maven repository `$repoUrl`. + Try incrementing the library version. + All available versions are: ${versions.joinToString(separator = ", ")}. + + To disable this check, run Gradle with `-x $name`. + """.trimIndent() + ) + } + } + + private fun fetch(repository: String, artifact: String): MavenMetadata { + val url = URL("$repository/$artifact") + return MavenMetadata.fetchAndParse(url) + } + + private fun Project.artifactPath(): String { + val group = this.group as String + val name = "spine-${this.name}" + + val pathElements = ArrayList(group.split('.')) + pathElements.add(name) + val path = pathElements.joinToString(separator = "/") + return path + } +} + +private data class MavenMetadata(var versioning: Versioning = Versioning()) { + + companion object { + + const val FILE_NAME = "maven-metadata.xml" + + private val mapper = XmlMapper() + + init { + mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false) + } + + fun fetchAndParse(url: URL): MavenMetadata { + val metadata = mapper.readValue(url, MavenMetadata::class.java) + return metadata + } + } +} + +private data class Versioning(var versions: List = listOf()) diff --git a/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt new file mode 100644 index 0000000000..c227f49889 --- /dev/null +++ b/tools/smoke-tests/buildSrc/src/main/kotlin/io/spine/gradle/internal/IncrementGuard.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2020, TeamDev. All rights reserved. + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.gradle.internal + +import org.gradle.api.Plugin +import org.gradle.api.Project + +/** + * Gradle plugin which adds a [CheckVersionIncrement] task. + * + * The task is called `checkVersionIncrement` inserted before the `check` task. + */ +class IncrementGuard : Plugin { + + companion object { + const val taskName = "checkVersionIncrement" + } + + override fun apply(target: Project) { + val tasks = target.tasks + tasks.register(taskName, CheckVersionIncrement::class.java) { + it.repository = PublishingRepos.cloudRepo + tasks.getByName("check").dependsOn(it) + + it.shouldRunAfter("test") + } + } +} From c8d6fd10b614380bd5944eb8e12bb91290514370 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 26 May 2020 19:58:50 +0300 Subject: [PATCH 43/43] Update reports --- license-report.md | 60 +++++++++++++++++++++++------------------------ pom.xml | 4 ++-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/license-report.md b/license-report.md index aac55ae9d4..8720bb716e 100644 --- a/license-report.md +++ b/license-report.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine:spine-base:1.5.11` +# Dependencies of `io.spine:spine-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -328,12 +328,12 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:20:38 EEST 2020** 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 May 26 19:54:52 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.11` +# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.12` ## Runtime 1. **Group:** com.github.ben-manes.caffeine **Name:** caffeine **Version:** 2.7.0 @@ -773,12 +773,12 @@ This report was generated on **Tue May 26 13:20:38 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:20:42 EEST 2020** 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 May 26 19:54:53 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.11` +# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.12` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -1156,12 +1156,12 @@ This report was generated on **Tue May 26 13:20:42 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:20:45 EEST 2020** 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 May 26 19:54:54 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.11` +# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1521,12 +1521,12 @@ This report was generated on **Tue May 26 13:20:45 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:20:49 EEST 2020** 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 May 26 19:54:54 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-model-compiler:1.5.11` +# Dependencies of `io.spine.tools:spine-model-compiler:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1902,12 +1902,12 @@ This report was generated on **Tue May 26 13:20:49 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:01 EEST 2020** 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 May 26 19:54:55 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-mute-logging:1.5.11` +# Dependencies of `io.spine.tools:spine-mute-logging:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -2281,12 +2281,12 @@ This report was generated on **Tue May 26 13:21:01 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:03 EEST 2020** 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 May 26 19:54:55 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-base:1.5.11` +# Dependencies of `io.spine.tools:spine-plugin-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -2646,12 +2646,12 @@ This report was generated on **Tue May 26 13:21:03 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:07 EEST 2020** 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 May 26 19:54:56 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.11` +# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -3065,12 +3065,12 @@ This report was generated on **Tue May 26 13:21:07 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:11 EEST 2020** 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 May 26 19:54:56 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3430,12 +3430,12 @@ This report was generated on **Tue May 26 13:21:11 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:15 EEST 2020** 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 May 26 19:54:56 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3795,12 +3795,12 @@ This report was generated on **Tue May 26 13:21:15 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:23 EEST 2020** 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 May 26 19:54:57 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-api:1.5.11` +# Dependencies of `io.spine.tools:spine-protoc-api:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4120,12 +4120,12 @@ This report was generated on **Tue May 26 13:21:23 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:27 EEST 2020** 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 May 26 19:54:57 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.11` +# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4453,12 +4453,12 @@ This report was generated on **Tue May 26 13:21:27 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:28 EEST 2020** 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 May 26 19:54:58 EEST 2020** 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:spine-testlib:1.5.11` +# Dependencies of `io.spine:spine-testlib:1.5.12` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -4832,12 +4832,12 @@ This report was generated on **Tue May 26 13:21:28 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:31 EEST 2020** 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 May 26 19:54:58 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-tool-base:1.5.11` +# Dependencies of `io.spine.tools:spine-tool-base:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5165,12 +5165,12 @@ This report was generated on **Tue May 26 13:21:31 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:35 EEST 2020** 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 May 26 19:54:58 EEST 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-validation-generator:1.5.11` +# Dependencies of `io.spine.tools:spine-validation-generator:1.5.12` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5498,4 +5498,4 @@ This report was generated on **Tue May 26 13:21:35 EEST 2020** using [Gradle-Lic The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue May 26 13:21:38 EEST 2020** 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 May 26 19:54:59 EEST 2020** 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 f2dd9278fa..f780e4d77d 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-base -1.5.11 +1.5.12 2015 @@ -154,7 +154,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-protoc-plugin - 1.5.11 + 1.5.12 test