// // 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") } }