From 0ea9c1fbce9a3d3382e55c866459819bc410f3c3 Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Wed, 4 May 2022 00:54:34 +0300 Subject: [PATCH] [Scripting] Remove obsolete Aether dependencies and add new maven.resolver ones instead scripting-dependencies-maven actually depended on both maven.resolver and Aether dependencies, it caused an issue in KScript (https://github.com/holgerbrandl/kscript/issues/345) and caused some issues in the past. These problems were partially solved with exclude() which is now removed. --- gradle/verification-metadata.xml | 296 +++++++++++++----- .../dependencies-maven-all/build.gradle.kts | 14 +- .../dependencies-maven/build.gradle.kts | 31 +- 3 files changed, 225 insertions(+), 116 deletions(-) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 436af9561fe..bda54facacb 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1878,6 +1878,12 @@ + + + + + + @@ -3701,6 +3707,12 @@ + + + + + + @@ -4424,6 +4436,12 @@ + + + + + + @@ -4792,6 +4810,12 @@ + + + + + + @@ -4992,6 +5016,12 @@ + + + + + + @@ -5024,6 +5054,12 @@ + + + + + + @@ -5040,6 +5076,12 @@ + + + + + + @@ -5086,6 +5128,12 @@ + + + + + + @@ -5124,6 +5172,12 @@ + + + + + + @@ -5184,6 +5238,12 @@ + + + + + + @@ -5268,6 +5328,12 @@ + + + + + + @@ -5280,6 +5346,12 @@ + + + + + + @@ -5298,6 +5370,12 @@ + + + + + + @@ -5310,6 +5388,12 @@ + + + + + + @@ -5328,12 +5412,24 @@ + + + + + + + + + + + + @@ -5346,6 +5442,24 @@ + + + + + + + + + + + + + + + + + + @@ -5358,18 +5472,36 @@ + + + + + + + + + + + + + + + + + + @@ -5382,6 +5514,12 @@ + + + + + + @@ -5414,6 +5552,12 @@ + + + + + + @@ -5448,6 +5592,12 @@ + + + + + + @@ -5470,6 +5620,12 @@ + + + + + + @@ -5492,6 +5648,12 @@ + + + + + + @@ -5940,6 +6102,12 @@ + + + + + + @@ -5994,6 +6162,18 @@ + + + + + + + + + + + + @@ -6040,82 +6220,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -6126,16 +6230,6 @@ - - - - - - - - - - @@ -6184,6 +6278,12 @@ + + + + + + @@ -6204,6 +6304,12 @@ + + + + + + @@ -8499,6 +8605,12 @@ + + + + + + @@ -8541,6 +8653,12 @@ + + + + + + @@ -8585,6 +8703,12 @@ + + + + + + diff --git a/libraries/scripting/dependencies-maven-all/build.gradle.kts b/libraries/scripting/dependencies-maven-all/build.gradle.kts index 48c2807698e..37450504b31 100644 --- a/libraries/scripting/dependencies-maven-all/build.gradle.kts +++ b/libraries/scripting/dependencies-maven-all/build.gradle.kts @@ -12,9 +12,6 @@ val embedded by configurations embedded.apply { exclude("org.slf4j", "slf4j-api") - exclude("org.eclipse.aether", "aether-api") - exclude("org.eclipse.aether", "aether-util") - exclude("org.eclipse.aether", "aether-spi") } plugins { @@ -26,11 +23,12 @@ dependencies { embedded(project(":kotlin-scripting-dependencies-maven")) { isTransitive = false } embedded(project(":kotlin-scripting-dependencies")) { isTransitive = false } - embedded("org.eclipse.aether:aether-connector-basic:1.1.0") - embedded("org.eclipse.aether:aether-transport-wagon:1.1.0") - embedded("org.eclipse.aether:aether-transport-file:1.1.0") - embedded("org.apache.maven:maven-core:3.8.1") - embedded("org.apache.maven.wagon:wagon-http:3.4.3") + embedded("org.apache.maven.resolver:maven-resolver-connector-basic:1.8.0") + embedded("org.apache.maven.resolver:maven-resolver-transport-file:1.8.0") + embedded("org.apache.maven.resolver:maven-resolver-transport-wagon:1.8.0") + embedded("org.apache.maven.resolver:maven-resolver-impl:1.8.0") + embedded("org.apache.maven:maven-core:3.8.5") + embedded("org.apache.maven.wagon:wagon-http:3.5.1") } sourceSets { diff --git a/libraries/scripting/dependencies-maven/build.gradle.kts b/libraries/scripting/dependencies-maven/build.gradle.kts index 5e6d894fbf0..481917372d0 100644 --- a/libraries/scripting/dependencies-maven/build.gradle.kts +++ b/libraries/scripting/dependencies-maven/build.gradle.kts @@ -5,33 +5,20 @@ plugins { project.updateJvmTarget("1.6") -configurations.implementation { - /** - * Files with the same FQNs may exist both in these excluded artifacts and in dependencies of - * `org.apache.maven:maven-core`. If these classes fall into classpath together, it - * may lead to unpredictable errors, especially if these classes have different APIs. - * - * Example. Class `org.eclipse.aether.repository.RemoteRepository` is presented in both - * `maven-resolver-api-1.6.2` (which is resolved transitively from `maven-core`) - * and `aether-api-1.1.0` artifacts. One of the implementations has `isBlocked()` - * method, and another one lacks it. It leads to `NoSuchMethodError` in runtime. - */ - exclude("org.eclipse.aether", "aether-api") - exclude("org.eclipse.aether", "aether-util") - exclude("org.eclipse.aether", "aether-spi") -} - dependencies { implementation(kotlinStdlib()) api(project(":kotlin-scripting-dependencies")) - implementation("org.eclipse.aether:aether-connector-basic:1.1.0") - implementation("org.eclipse.aether:aether-transport-wagon:1.1.0") - implementation("org.eclipse.aether:aether-transport-file:1.1.0") - implementation("org.apache.maven:maven-core:3.8.1") - implementation("org.apache.maven.wagon:wagon-http:3.4.3") + + implementation("org.apache.maven:maven-core:3.8.5") + implementation("org.apache.maven.wagon:wagon-http:3.5.1") + implementation("org.apache.maven.resolver:maven-resolver-connector-basic:1.8.0") + implementation("org.apache.maven.resolver:maven-resolver-transport-file:1.8.0") + implementation("org.apache.maven.resolver:maven-resolver-transport-wagon:1.8.0") + implementation("org.apache.maven.resolver:maven-resolver-impl:1.8.0") + testImplementation(projectTests(":kotlin-scripting-dependencies")) testImplementation(commonDependency("junit")) - testRuntimeOnly("org.slf4j:slf4j-nop:1.7.30") + testRuntimeOnly("org.slf4j:slf4j-nop:1.7.36") testImplementation(kotlin("reflect")) testImplementation(commonDependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) kotlinCompilerClasspath(project(":libraries:tools:stdlib-compiler-classpath"))