diff --git a/dependencies.md b/dependencies.md index 7dbe1ec82..a5f1fd93a 100644 --- a/dependencies.md +++ b/dependencies.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -1131,14 +1131,14 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.035` ## Runtime ## Compile, tests, and tooling @@ -1504,14 +1504,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:05 WET 2025** using +This report was generated on **Mon Dec 08 20:54:59 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -2646,14 +2646,14 @@ This report was generated on **Thu Dec 04 18:50:05 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -3837,14 +3837,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -4909,14 +4909,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -6029,14 +6029,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -7188,14 +7188,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -8318,14 +8318,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2. @@ -9202,14 +9202,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:01 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -10340,14 +10340,14 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.034` +# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.035` ## Runtime 1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0. @@ -11585,6 +11585,6 @@ This report was generated on **Thu Dec 04 18:50:06 WET 2025** using The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Dec 04 18:50:06 WET 2025** using +This report was generated on **Mon Dec 08 20:55:02 WET 2025** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/gradle-api/src/main/kotlin/io/spine/tools/compiler/gradle/api/ProjectExts.kt b/gradle-api/src/main/kotlin/io/spine/tools/compiler/gradle/api/ProjectExts.kt index 7c474b7cb..080bb21d0 100644 --- a/gradle-api/src/main/kotlin/io/spine/tools/compiler/gradle/api/ProjectExts.kt +++ b/gradle-api/src/main/kotlin/io/spine/tools/compiler/gradle/api/ProjectExts.kt @@ -29,9 +29,11 @@ package io.spine.tools.compiler.gradle.api import io.spine.tools.compiler.params.Directories.COMPILER_WORKING_DIR import io.spine.tools.gradle.lib.spineExtension import io.spine.tools.gradle.root.rootWorkingDir +import io.spine.tools.meta.MavenArtifact import java.io.File import java.nio.file.Path import org.gradle.api.Project +import org.gradle.api.artifacts.Dependency import org.gradle.api.file.Directory import org.gradle.api.tasks.SourceSet @@ -64,3 +66,26 @@ public fun Project.generatedDir(sourceSet: SourceSet, language: String = ""): Fi val path = generatedDir.resolve("${sourceSet.name}/$language") return path.toFile() } + +/** + * Adds the given artifacts to the [spineCompiler][Names.USER_CLASSPATH_CONFIGURATION] + * configuration of this project. + */ +public fun Project.addUserClasspathDependency(vararg artifacts: MavenArtifact): Unit = + artifacts.forEach { + addDependency(Names.USER_CLASSPATH_CONFIGURATION, it) + } + +private fun Project.addDependency(configuration: String, artifact: MavenArtifact) { + val dependency = findDependency(artifact) ?: artifact.coordinates + dependencies.add(configuration, dependency) +} + +private fun Project.findDependency(artifact: MavenArtifact): Dependency? { + val dependencies = configurations.flatMap { c -> c.dependencies } + val found = dependencies.firstOrNull { d -> + artifact.group == d.group // `d.group` could be `null`. + && artifact.name == d.name + } + return found +} diff --git a/pom.xml b/pom.xml index ee4be756f..6cd4291a5 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ all modules and does not describe the project structure per-subproject. --> io.spine.tools spine-compiler -2.0.0-SNAPSHOT.034 +2.0.0-SNAPSHOT.035 2015 diff --git a/version.gradle.kts b/version.gradle.kts index 0432f157d..009ded79f 100644 --- a/version.gradle.kts +++ b/version.gradle.kts @@ -30,7 +30,7 @@ * This version is also used by integration test projects. * E.g. see `tests/consumer/build.gradle.kts`. */ -val compilerVersion: String by extra("2.0.0-SNAPSHOT.034") +val compilerVersion: String by extra("2.0.0-SNAPSHOT.035") /** * The version, same as [compilerVersion], which is used for publishing