//
// Publish to Maven Central
//
apply plugin: 'maven-publish'
apply plugin: 'maven'
apply plugin: 'io.codearte.nexus-staging'
nexusStaging {
packageGroup 'org.testng'
username System.getenv('SONATYPE_USER')
password System.getenv('SONATYPE_PASSWORD')
}
javadoc {
failOnError false
}
signing {
required { gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}
publishing {
publications {
mavenCustom(MavenPublication) {
from components.java
artifact sourcesJar
groupId 'org.testng'
artifactId 'testng'
version project.version
}
}
}
// ./gradlew uploadArchives (upload snapshot to Maven Central's snapshot repo)
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2") {
authentication(userName: System.getenv('SONATYPE_USER'), password: System.getenv('SONATYPE_PASSWORD'))
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots") {
authentication(userName: System.getenv('SONATYPE_USER'), password: System.getenv('SONATYPE_PASSWORD'))
}
pom {
version = project.version
artifactId = 'testng'
groupId = 'org.testng'
project {
name project.name
description 'Testing framework for Java'
url 'http://github.com/cbeust/testng'
scm {
connection 'scm:git:https://github.com/cbeust/testng.git'
developerConnection 'scm:git:git@github.com:cbeust/testng.git'
url 'https://github.com/cbeust/testng.git'
}
licenses {
license {
name 'Apache Version 2.0, January 2004'
distribution 'repo'
}
}
developers {
developer {
id = 'cbeust'
name = 'Cedric Beust'
email = 'cedric@beust.com'
}
}
}
}
}
}
}
uploadArchives.doLast {
if (! version.contains("SNAPSHOT")) {
println("Now go to https://oss.sonatype.org/index.html#stagingRepositories to close" +
" and publish the distribution")
}
}