Permalink
Fetching contributors…
Cannot retrieve contributors at this time
92 lines (85 sloc) 2.09 KB
apply plugin: 'maven'
ext.optionalDeps = []
ext.providedDeps = []
ext.optional = { optionalDeps << it }
ext.provided = { providedDeps << it }
install {
repositories.mavenInstaller {
customizePom(pom, project)
}
}
def customizePom(pom, gradleProject) {
pom.whenConfigured { generatedPom ->
// respect 'optional' and 'provided' dependencies
gradleProject.optionalDeps.each { dep ->
generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
}
gradleProject.providedDeps.each { dep ->
generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
}
// eliminate test-scoped dependencies (no need in maven central poms)
generatedPom.dependencies.removeAll { dep ->
dep.scope == 'test'
}
// add all items necessary for maven central publication
generatedPom.project {
name = gradleProject.description
description = gradleProject.description
url = linkHomepage
organization {
name = 'SpringIO'
url = 'http://spring.io'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
scm {
url = linkScmUrl
connection = 'scm:git:' + linkScmConnection
developerConnection = 'scm:git:' + linkScmDevConnection
}
developers {
developer {
id = 'garyrussell'
name = 'Gary Russell'
email = 'grussell@pivotal.io'
roles = ['project lead']
}
developer {
id = 'artembilan'
name = 'Artem Bilan'
email = 'abilan@pivotal.io'
}
developer {
id = 'dsyer'
name = 'Dave Syer'
email = 'dsyer@pivotal.io'
}
developer {
id = 'markfisher'
name = 'Mark Fisher'
email = 'mfisher@pivotal.io'
}
developer {
id = 'mpollack'
name = 'Mark Pollack'
email = 'mpollack@pivotal.io'
}
developer {
id = 'jbrisbin'
name = 'Jon Brisbin'
email = 'jbrisbin@pivotal.io'
}
developer {
id = 'tomas.lukosius'
name = 'Tomas Lukosius'
email = 'tomas.lukosius@opencredo.com'
}
}
}
}
}