diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy index 14e3ee73ead7..e062e8eba06f 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.groovy @@ -2,6 +2,7 @@ package org.jetbrains.intellij.build.impl import com.intellij.openapi.util.io.FileUtil +import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.codeStyle.NameUtil import groovy.transform.CompileDynamic import groovy.transform.CompileStatic @@ -108,7 +109,12 @@ class MavenArtifactsBuilder { if (dep.scope == DependencyScope.RUNTIME) { dependency.scope = "runtime" } - if (!dep.includeTransitiveDeps) { + if (dep.includeTransitiveDeps) { + dep.excludedDependencies.each { + dependency.addExclusion(new Exclusion(groupId: StringUtil.substringBefore(it, ":"), artifactId: StringUtil.substringAfter(it, ":"))) + } + } + else { dependency.addExclusion(new Exclusion(groupId: "*", artifactId: "*")) } dependency @@ -210,7 +216,7 @@ class MavenArtifactsBuilder { mavenizable = false return } - dependencies << new MavenArtifactDependency(depArtifact.coordinates, true, scope) + dependencies << new MavenArtifactDependency(depArtifact.coordinates, true, [], scope) } else if (dependency instanceof JpsLibraryDependency) { def library = (dependency as JpsLibraryDependency).library @@ -241,7 +247,7 @@ class MavenArtifactsBuilder { private static MavenArtifactDependency createArtifactDependencyByLibrary(JpsMavenRepositoryLibraryDescriptor descriptor, DependencyScope scope) { new MavenArtifactDependency(new MavenCoordinates(descriptor.groupId, descriptor.artifactId, descriptor.version), - descriptor.includeTransitiveDependencies, scope) + descriptor.includeTransitiveDependencies, descriptor.excludedDependencies, scope) } static Dependency createDependencyTagByLibrary(JpsMavenRepositoryLibraryDescriptor descriptor) { @@ -279,6 +285,7 @@ class MavenArtifactsBuilder { private static class MavenArtifactDependency { MavenCoordinates coordinates boolean includeTransitiveDeps + List excludedDependencies DependencyScope scope }