65 lines
2.2 KiB
Groovy
65 lines
2.2 KiB
Groovy
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.findAll { it.artifactId == dep.name }*.optional = true
|
|
}
|
|
gradleProject.providedDeps.each { dep ->
|
|
generatedPom.dependencies.findAll { it.artifactId == dep.name }*.scope = "provided"
|
|
}
|
|
|
|
// eliminate test-scoped dependencies (no need in maven central poms)
|
|
generatedPom.dependencies.removeAll { dep ->
|
|
dep.scope == "test"
|
|
}
|
|
|
|
// Remove jackson dependencies, since we shade them in
|
|
generatedPom.dependencies.removeAll { dep ->
|
|
dep.groupId == "com.fasterxml.jackson.core"
|
|
}
|
|
|
|
// add all items necessary for maven central publication
|
|
generatedPom.project {
|
|
name = gradleProject.description
|
|
description = gradleProject.description
|
|
url = "https://github.com/spring-projects/spring-cloud"
|
|
organization {
|
|
name = "Spring IO"
|
|
url = "http://projects.spring.io/spring-cloud"
|
|
}
|
|
licenses {
|
|
license {
|
|
name "The Apache Software License, Version 2.0"
|
|
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
distribution "repo"
|
|
}
|
|
}
|
|
scm {
|
|
url = "https://github.com/spring-projects/spring-cloud"
|
|
connection = "scm:git:git://github.com/spring-projects/spring-cloud"
|
|
developerConnection = "scm:git:git://github.com/spring-projects/spring-cloud"
|
|
}
|
|
developers {
|
|
developer {
|
|
id = "ramnivas"
|
|
name = "Ramnivas Laddad"
|
|
email = ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |