You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.0 KiB
60 lines
2.0 KiB
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 = 'https://github.com/SpringSource/spring-framework' |
|
organization { |
|
name = 'SpringSource' |
|
url = 'http://springsource.org/spring-framework' |
|
} |
|
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/SpringSource/spring-framework' |
|
connection = 'scm:git:git://github.com/SpringSource/spring-framework' |
|
developerConnection = 'scm:git:git://github.com/SpringSource/spring-framework' |
|
} |
|
developers { |
|
developer { |
|
id = 'jhoeller' |
|
name = 'Juergen Hoeller' |
|
email = 'jhoeller@vmware.com' |
|
} |
|
} |
|
} |
|
} |
|
}
|
|
|