Modified the SDG apache-geode build to resolve Apache Geode artifacts from the Apache Maven Repo instead of Spring's Maven Repo. Performed minor code modifications based on the 'latest' Apache Geode build snapshot. Modified the generated SDG Maven POM to declare the Apache Maven Snapshot Repo in order to properly resolve the Apache Geode build snapshot artifacts.
88 lines
2.6 KiB
Groovy
88 lines
2.6 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.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'
|
|
}
|
|
developer {
|
|
id = 'ladams'
|
|
name = 'Lyndon Adams'
|
|
email = 'ladams@gopivotal.com'
|
|
}
|
|
}
|
|
repositories {
|
|
repository {
|
|
id = 'apache-maven-snapshot-repo'
|
|
name = 'Apache Maven Snapshot Repo'
|
|
url = 'https://repository.apache.org/content/repositories/snapshots'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|