Files
spring-data-geode/maven.gradle
2016-04-28 20:28:10 -07:00

86 lines
2.6 KiB
Groovy

apply plugin: 'maven'
ext.optionalDeps = []
ext.providedDeps = []
ext.optional = { optionalDeps << it }
ext.provided = { providedDeps << it }
install {
repositories.mavenInstaller {
pom.artifactId = rootProject.name
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 = 'http://github.com/spring-projects/spring-gemfire'
organization {
name = 'SpringSource'
url = 'http://projects.spring.io/spring-data-gemfire/'
}
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-data-gemfire'
connection = 'scm:git:git://github.com/spring-projects/spring-data-gemfire'
developerConnection = 'scm:git:git://github.com/spring-projects/spring-data-gemfire'
}
developers {
developer {
id = 'costin'
name = 'Costin Leau'
email = 'cleau@vmware.com'
}
developer {
id = 'dturanski'
name = 'David Turanski'
email = 'dturanski@gopivotal.com'
}
developer {
id = 'jblum'
name = 'John Blum'
email = 'jblum@gopivotal.com'
}
developer {
id = 'ogierke'
name = 'Oliver Gierke'
email = 'ogierke@gopivotal.com'
}
}
repositories {
/*
repository {
id = 'apache-maven-snapshot-repo'
name = 'Apache Maven Snapshot Repo'
url = 'https://repository.apache.org/content/repositories/snapshots'
}
*/
}
}
}
}