blob: 58cfdcf7abe6a2bec2cf6bb1ccbf8a8a04560b1d [file] [log] [blame]
package org.jetbrains
import org.gradle.api.Project
import org.gradle.api.artifacts.ModuleVersionIdentifier
import org.gradle.api.artifacts.ProjectDependency
import org.gradle.api.artifacts.SelfResolvingDependency
import org.gradle.api.publish.internal.ProjectDependencyPublicationResolver
import org.gradle.api.publish.maven.MavenPom
import org.gradle.api.publish.maven.MavenPublication
static void configure(MavenPublication publication, Project project) {
publication.artifact(project.tasks.shadowJar)
publication.pom { MavenPom pom ->
pom.withXml { xml ->
def dependenciesNode = xml.asNode().appendNode('dependencies')
project.configurations.shadow.allDependencies.each {
//if (! (it instanceof SelfResolvingDependency)) {
if (it instanceof ProjectDependency) {
def projectDependencyResolver = project.gradle.services.get(ProjectDependencyPublicationResolver)
ModuleVersionIdentifier identifier = projectDependencyResolver.resolve(it)
addDependency(dependenciesNode, identifier)
} else if (!(it instanceof SelfResolvingDependency)) {
addDependency(dependenciesNode, it)
}
}
}
}
}
private static void addDependency(Node dependenciesNode, dep) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dep.group)
dependencyNode.appendNode('artifactId', dep.name)
dependencyNode.appendNode('version', dep.version)
dependencyNode.appendNode('scope', 'compile')
}