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.
94 lines
2.5 KiB
94 lines
2.5 KiB
apply plugin: "maven" |
|
|
|
def basePom = { |
|
project { |
|
name project.displayName |
|
packaging 'bundle' |
|
description project.description |
|
url 'https://github.com/jayway/JsonPath' |
|
|
|
licenses { |
|
license { |
|
name "The Apache Software License, Version 2.0" |
|
url "http://www.apache.org/licenses/LICENSE-2.0.txt" |
|
distribution "repo" |
|
} |
|
} |
|
|
|
scm { |
|
url 'scm:git:git://github.com/jayway/JsonPath.git' |
|
connection 'scm:git:git://github.com/jayway/JsonPath.git' |
|
developerConnection 'scm:git:git://github.com/jayway/JsonPath.git' |
|
} |
|
|
|
developers { |
|
developer { |
|
id 'kalle.stenflo' |
|
name 'Kalle Stenflo' |
|
email 'kalle.stenflo (a) gmail.com' |
|
} |
|
} |
|
} |
|
} |
|
|
|
def deployers = [] |
|
|
|
project.afterEvaluate { |
|
configure(deployers) { |
|
pom basePom |
|
} |
|
} |
|
|
|
install { |
|
deployers << repositories.mavenInstaller |
|
} |
|
|
|
uploadArchives { |
|
deployers << repositories.mavenDeployer { |
|
if (snapshotVersion) { |
|
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { |
|
if (project.hasProperty("sonatypeOssUsername")) { |
|
authentication(userName: sonatypeOssUsername, password: sonatypeOssPassword) |
|
} |
|
} |
|
} else { |
|
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { |
|
if (project.hasProperty("sonatypeOssUsername")) { |
|
authentication(userName: sonatypeOssUsername, password: sonatypeOssPassword) |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
def poms = deployers*.pom |
|
def optionalDeps = [] |
|
def providedDeps = [] |
|
def internalDeps = [] |
|
|
|
ext { |
|
modifyPom = { Closure modification -> |
|
poms.each { |
|
it.whenConfigured(modification) |
|
} |
|
} |
|
optional = { optionalDeps << it; it } |
|
provided = { providedDeps << it; it } |
|
internal = { internalDeps << it; it } |
|
} |
|
|
|
modifyPom { pom -> |
|
optionalDeps.each { dep -> |
|
pom.dependencies.find { it.artifactId == dep.name }.optional = true |
|
} |
|
providedDeps.each { dep -> |
|
pom.dependencies.find { it.artifactId == dep.name }.scope = "provided" |
|
} |
|
internalDeps.each { dep -> |
|
pom.dependencies.removeAll { it.artifactId == dep.name } |
|
} |
|
// no need to publish test dependencies |
|
pom.dependencies.removeAll { it.scope == "test" } |
|
} |
|
|
|
deployers*.beforeDeployment { signing.signPom(it) } |