From 9daad4f4120caa605d95a92d2f9b0df7e63c865a Mon Sep 17 00:00:00 2001 From: alexander-yevsyukov Date: Wed, 7 May 2025 19:34:46 +0100 Subject: [PATCH 1/3] Update `config` --- .github/workflows/build-on-ubuntu.yml | 2 +- .github/workflows/build-on-windows.yml | 2 +- .../workflows/gradle-wrapper-validation.yml | 2 +- .github/workflows/increment-guard.yml | 2 +- .github/workflows/publish.yml | 2 +- .gitignore | 21 +- .idea/codeStyles/Project.xml | 3 +- .idea/dictionaries/common.xml | 3 +- .idea/inspectionProfiles/Project_Default.xml | 12 + .idea/kotlinc.xml | 10 +- .idea/misc.xml | 2 +- build.gradle.kts | 2 +- buildSrc/build.gradle.kts | 44 +-- buildSrc/src/main/kotlin/BuildExtensions.kt | 120 ++++-- buildSrc/src/main/kotlin/BuildSettings.kt | 7 +- .../src/main/kotlin/DependencyResolution.kt | 29 +- .../src/main/kotlin/DocumentationSettings.kt | 58 +++ buildSrc/src/main/kotlin/DokkaExts.kt | 89 +++-- buildSrc/src/main/kotlin/LicenseSettings.kt | 43 ++ buildSrc/src/main/kotlin/Strings.kt | 15 +- .../main/kotlin/compile-protobuf.gradle.kts | 10 +- .../src/main/kotlin/dokka-for-java.gradle.kts | 16 +- .../main/kotlin/dokka-for-kotlin.gradle.kts | 16 +- .../kotlin/io/spine/dependency/Dependency.kt | 116 ++++++ .../kotlin/io/spine/dependency/boms/Boms.kt | 66 ++++ .../io/spine/dependency/boms/BomsPlugin.kt | 185 +++++++++ .../kotlin/io/spine/dependency/build/Dokka.kt | 4 +- .../io/spine/dependency/build/ErrorProne.kt | 4 +- .../io/spine/dependency/build/JSpecify.kt | 40 ++ .../kotlin/io/spine/dependency/build/Ksp.kt | 19 +- .../dependency/build/PluginPublishPlugin.kt | 42 ++ .../kotlin/io/spine/dependency/build/Pmd.kt | 9 +- .../io/spine/dependency/kotlinx/Coroutines.kt | 54 +++ .../io/spine/dependency/kotlinx/KotlinX.kt | 32 ++ .../spine/dependency/kotlinx/Serialization.kt | 73 ++++ .../kotlin/io/spine/dependency/lib/Aedile.kt | 4 +- .../io/spine/dependency/lib/Caffeine.kt | 6 +- .../io/spine/dependency/lib/Coroutines.kt | 25 +- .../kotlin/io/spine/dependency/lib/Grpc.kt | 66 +++- .../io/spine/dependency/lib/GrpcKotlin.kt | 3 +- .../kotlin/io/spine/dependency/lib/Gson.kt | 2 +- .../kotlin/io/spine/dependency/lib/Guava.kt | 2 +- .../kotlin/io/spine/dependency/lib/Jackson.kt | 108 +++-- .../kotlin/io/spine/dependency/lib/JavaX.kt | 2 +- .../kotlin/io/spine/dependency/lib/Kotlin.kt | 85 +++- .../io/spine/dependency/lib/KotlinSemver.kt | 2 +- .../kotlin/io/spine/dependency/lib/KotlinX.kt | 28 +- .../io/spine/dependency/lib/Protobuf.kt | 6 +- .../kotlin/io/spine/dependency/lib/Roaster.kt | 2 +- .../kotlin/io/spine/dependency/local/Base.kt | 4 +- .../io/spine/dependency/local/BaseTypes.kt | 2 +- .../io/spine/dependency/local/Change.kt | 2 +- .../io/spine/dependency/local/CoreJava.kt | 2 +- .../io/spine/dependency/local/McJava.kt | 7 +- .../io/spine/dependency/local/ProtoData.kt | 5 +- .../io/spine/dependency/local/ProtoTap.kt | 2 +- .../io/spine/dependency/local/TestLib.kt | 2 +- .../kotlin/io/spine/dependency/local/Time.kt | 2 +- .../io/spine/dependency/local/ToolBase.kt | 2 +- .../io/spine/dependency/local/Validation.kt | 2 +- .../io/spine/dependency/test/AssertK.kt | 2 +- .../io/spine/dependency/test/Hamcrest.kt | 2 +- .../kotlin/io/spine/dependency/test/JUnit.kt | 85 +++- .../kotlin/io/spine/dependency/test/Jacoco.kt | 2 +- .../kotlin/io/spine/dependency/test/Kotest.kt | 2 +- .../dependency/test/KotlinCompileTesting.kt | 10 +- .../kotlin/io/spine/dependency/test/Kover.kt | 2 +- .../kotlin/io/spine/dependency/test/Truth.kt | 2 +- .../io/spine/gradle/ProjectExtensions.kt | 11 +- .../kotlin/io/spine/gradle/Repositories.kt | 370 ------------------ .../main/kotlin/io/spine/gradle/RunBuild.kt | 2 +- .../main/kotlin/io/spine/gradle/RunGradle.kt | 2 +- .../gradle/checkstyle/CheckStyleConfig.kt | 11 +- .../github/pages/RepositoryExtensions.kt | 2 +- .../io/spine/gradle/javac/ErrorProne.kt | 1 + .../io/spine/gradle/javadoc/JavadocConfig.kt | 31 +- .../io/spine/gradle/javascript/JsContext.kt | 20 +- .../io/spine/gradle/kotlin/KotlinConfig.kt | 23 +- .../gradle/protobuf/ProtoTaskExtensions.kt | 59 ++- .../gradle/publish/CheckVersionIncrement.kt | 11 +- .../gradle/publish/CloudArtifactRegistry.kt | 10 +- .../io/spine/gradle/publish/CloudRepo.kt | 5 +- .../publish/CustomPublicationHandler.kt | 70 ++++ .../io/spine/gradle/publish/GitHubPackages.kt | 14 +- .../gradle/publish/PublicationHandler.kt | 250 ++++++++++++ .../io/spine/gradle/publish/Publications.kt | 234 ----------- .../io/spine/gradle/publish/PublishingExts.kt | 73 +++- .../spine/gradle/publish/PublishingRepos.kt | 2 +- .../spine/gradle/publish/SpinePublishing.kt | 223 +++++++---- .../publish/StandardJavaPublicationHandler.kt | 133 +++++++ .../Credentials.kt} | 17 +- .../io/spine/gradle/{ => repo}/RepoSlug.kt | 5 +- .../io/spine/gradle/repo/Repositories.kt | 172 ++++++++ .../kotlin/io/spine/gradle/repo/Repository.kt | 138 +++++++ .../gradle/report/coverage/CodebaseFilter.kt | 1 - .../gradle/report/coverage/JacocoConfig.kt | 6 +- .../gradle/report/license/LicenseReporter.kt | 10 +- .../gradle/report/pom/DependencyWriter.kt | 4 +- .../gradle/report/pom/ModuleDependency.kt | 4 +- .../spine/gradle/report/pom/PomGenerator.kt | 18 +- .../kotlin/io/spine/gradle/testing/Tasks.kt | 7 +- .../src/main/kotlin/jacoco-kmm-jvm.gradle.kts | 72 ++++ .../src/main/kotlin/jvm-module.gradle.kts | 69 +--- .../src/main/kotlin/module-testing.gradle.kts | 121 ++++++ buildSrc/src/main/kotlin/module.gradle.kts | 60 +-- config | 2 +- gradle-plugin/build.gradle.kts | 6 +- .../io/spine/tools/prototap/gradle/Plugin.kt | 8 +- .../before-test-fixtures/build.gradle.kts | 2 +- .../resources/default-values/build.gradle.kts | 2 +- .../resources/proto-in-test/build.gradle.kts | 2 +- .../resources/via-classpath/build.gradle.kts | 2 +- .../resources/with-settings/build.gradle.kts | 2 +- gradle.properties | 8 +- gradle/wrapper/gradle-wrapper.jar | Bin 61624 -> 43705 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 33 +- gradlew.bat | 22 +- 118 files changed, 2743 insertions(+), 1244 deletions(-) create mode 100644 buildSrc/src/main/kotlin/DocumentationSettings.kt create mode 100644 buildSrc/src/main/kotlin/LicenseSettings.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/Dependency.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/boms/Boms.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/boms/BomsPlugin.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/build/JSpecify.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/build/PluginPublishPlugin.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Coroutines.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/KotlinX.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Serialization.kt delete mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/Repositories.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/publish/CustomPublicationHandler.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt delete mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/publish/Publications.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/publish/StandardJavaPublicationHandler.kt rename buildSrc/src/main/kotlin/io/spine/gradle/{javadoc/TaskContainerExtensions.kt => repo/Credentials.kt} (77%) rename buildSrc/src/main/kotlin/io/spine/gradle/{ => repo}/RepoSlug.kt (94%) create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/repo/Repositories.kt create mode 100644 buildSrc/src/main/kotlin/io/spine/gradle/repo/Repository.kt create mode 100644 buildSrc/src/main/kotlin/jacoco-kmm-jvm.gradle.kts create mode 100644 buildSrc/src/main/kotlin/module-testing.gradle.kts diff --git a/.github/workflows/build-on-ubuntu.yml b/.github/workflows/build-on-ubuntu.yml index 028e583..f8c2493 100644 --- a/.github/workflows/build-on-ubuntu.yml +++ b/.github/workflows/build-on-ubuntu.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 17 distribution: zulu cache: gradle diff --git a/.github/workflows/build-on-windows.yml b/.github/workflows/build-on-windows.yml index 3627bbf..4e6b57f 100644 --- a/.github/workflows/build-on-windows.yml +++ b/.github/workflows/build-on-windows.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 17 distribution: zulu cache: gradle diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml index b2955de..858cebb 100644 --- a/.github/workflows/gradle-wrapper-validation.yml +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -9,7 +9,7 @@ on: jobs: validation: - name: Validation + name: Gradle Wrapper Validation runs-on: ubuntu-latest steps: - name: Checkout latest code diff --git a/.github/workflows/increment-guard.yml b/.github/workflows/increment-guard.yml index a1c90c3..1993841 100644 --- a/.github/workflows/increment-guard.yml +++ b/.github/workflows/increment-guard.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 17 distribution: zulu cache: gradle diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 73a0a69..8b5b4d5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 17 distribution: zulu cache: gradle diff --git a/.gitignore b/.gitignore index 11aaccc..df543ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,11 @@ # -# Copyright 2024, TeamDev. All rights reserved. +# Copyright 2025, TeamDev. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Redistribution and use in source and/or binary forms, with or without # modification, must retain the above copyright notice and the following @@ -31,6 +31,15 @@ # # Therefore, instructions below are superset of instructions required for all the projects. +# `jenv` local configuration. +.java-version + +# Internal tool directories. +.fleet/ + +# Kotlin temp directories. +**/.kotlin/ + # IntelliJ IDEA modules and interim config files. *.iml .idea/*.xml @@ -42,7 +51,6 @@ # Do not ignore the following IDEA settings !.idea/misc.xml -!.idea/kotlinc.xml !.idea/codeStyleSettings.xml !.idea/codeStyles/ !.idea/copyright/ @@ -55,6 +63,10 @@ # Generated source code **/generated/** +**/*.pb.dart +**/*.pbenum.dart +**/*.pbserver.dart +**/*.pbjson.dart # Gradle build files **/build/** @@ -78,9 +90,6 @@ gradle-app.setting # Spine internal directory for storing intermediate artifacts **/.spine/** -# Spine model compiler auto-generated resources -/tools/gradle-plugins/model-compiler/src/main/resources/spine-protoc.gradle - # Login details to Maven repository. # Each workstation should have developer's login defined in this file. credentials.tar diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 809943c..f60c273 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,6 @@ + - + \ No newline at end of file diff --git a/.idea/dictionaries/common.xml b/.idea/dictionaries/common.xml index e62952a..5e2d460 100644 --- a/.idea/dictionaries/common.xml +++ b/.idea/dictionaries/common.xml @@ -24,6 +24,7 @@ handshaker hohpe idempotency + jspecify lempira liskov melnik @@ -66,4 +67,4 @@ yevsyukov - + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index b091734..229f1d3 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -255,6 +255,18 @@