Maven publishing: The publication doesn't know about dependencies, so generating dependencies will have to done manually. In our case we wanted to generate dependencies in below format:
Following Groovy code used to generate the dependencies :
project.publishing {
publications {
// specify the artifacts to publish
artifact source: ............................
.....................................................
.....................................................
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
// We only wanted to publish 'compile' dependencies, can publish
// all dependencies if needed to be
project.configurations.compile.allDependencies.each { ModuleDependency dp ->
dp.artifacts.each { artifact ->
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dp.group)
dependencyNode.appendNode('artifactId', dp.name)
dependencyNode.appendNode('version', dp.version)
dependencyNode.appendNode('type', artifact.type)
dependencyNode.appendNode('classifier', artifact.classifier)
// for exclusions
def exclusions = dependencyNode.appendNode('exclusions')
dp.excludeRules.each { ExcludeRule ex ->
def exclusion = exclusions.appendNode('exclusion')
exclusion.appendNode('groupId', ex.group)
exclusion.appendNode('artifactId', ex.module)
}
}
}
}
}