1*83a54b2fSSadaf Ebrahimi// 2*83a54b2fSSadaf Ebrahimi// Publish to Maven Central 3*83a54b2fSSadaf Ebrahimi// 4*83a54b2fSSadaf Ebrahimi 5*83a54b2fSSadaf Ebrahimiapply plugin: 'maven-publish' 6*83a54b2fSSadaf Ebrahimiapply plugin: 'maven' 7*83a54b2fSSadaf Ebrahimi 8*83a54b2fSSadaf Ebrahimiapply plugin: 'io.codearte.nexus-staging' 9*83a54b2fSSadaf Ebrahimi 10*83a54b2fSSadaf EbrahiminexusStaging { 11*83a54b2fSSadaf Ebrahimi packageGroup 'org.testng' 12*83a54b2fSSadaf Ebrahimi username System.getenv('SONATYPE_USER') 13*83a54b2fSSadaf Ebrahimi password System.getenv('SONATYPE_PASSWORD') 14*83a54b2fSSadaf Ebrahimi} 15*83a54b2fSSadaf Ebrahimi 16*83a54b2fSSadaf Ebrahimijavadoc { 17*83a54b2fSSadaf Ebrahimi failOnError false 18*83a54b2fSSadaf Ebrahimi} 19*83a54b2fSSadaf Ebrahimi 20*83a54b2fSSadaf Ebrahimisigning { 21*83a54b2fSSadaf Ebrahimi required { gradle.taskGraph.hasTask("uploadArchives") } 22*83a54b2fSSadaf Ebrahimi sign configurations.archives 23*83a54b2fSSadaf Ebrahimi} 24*83a54b2fSSadaf Ebrahimi 25*83a54b2fSSadaf Ebrahimipublishing { 26*83a54b2fSSadaf Ebrahimi publications { 27*83a54b2fSSadaf Ebrahimi mavenCustom(MavenPublication) { 28*83a54b2fSSadaf Ebrahimi from components.java 29*83a54b2fSSadaf Ebrahimi artifact sourcesJar 30*83a54b2fSSadaf Ebrahimi 31*83a54b2fSSadaf Ebrahimi groupId 'org.testng' 32*83a54b2fSSadaf Ebrahimi artifactId 'testng' 33*83a54b2fSSadaf Ebrahimi version project.version 34*83a54b2fSSadaf Ebrahimi } 35*83a54b2fSSadaf Ebrahimi } 36*83a54b2fSSadaf Ebrahimi} 37*83a54b2fSSadaf Ebrahimi 38*83a54b2fSSadaf Ebrahimi// ./gradlew uploadArchives (upload snapshot to Maven Central's snapshot repo) 39*83a54b2fSSadaf EbrahimiuploadArchives { 40*83a54b2fSSadaf Ebrahimi repositories { 41*83a54b2fSSadaf Ebrahimi mavenDeployer { 42*83a54b2fSSadaf Ebrahimi beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } 43*83a54b2fSSadaf Ebrahimi 44*83a54b2fSSadaf Ebrahimi repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2") { 45*83a54b2fSSadaf Ebrahimi authentication(userName: System.getenv('SONATYPE_USER'), password: System.getenv('SONATYPE_PASSWORD')) 46*83a54b2fSSadaf Ebrahimi } 47*83a54b2fSSadaf Ebrahimi snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots") { 48*83a54b2fSSadaf Ebrahimi authentication(userName: System.getenv('SONATYPE_USER'), password: System.getenv('SONATYPE_PASSWORD')) 49*83a54b2fSSadaf Ebrahimi } 50*83a54b2fSSadaf Ebrahimi pom { 51*83a54b2fSSadaf Ebrahimi version = project.version 52*83a54b2fSSadaf Ebrahimi artifactId = 'testng' 53*83a54b2fSSadaf Ebrahimi groupId = 'org.testng' 54*83a54b2fSSadaf Ebrahimi project { 55*83a54b2fSSadaf Ebrahimi name project.name 56*83a54b2fSSadaf Ebrahimi description 'Testing framework for Java' 57*83a54b2fSSadaf Ebrahimi url 'http://github.com/cbeust/testng' 58*83a54b2fSSadaf Ebrahimi scm { 59*83a54b2fSSadaf Ebrahimi connection 'scm:git:https://github.com/cbeust/testng.git' 60*83a54b2fSSadaf Ebrahimi developerConnection 'scm:git:[email protected]:cbeust/testng.git' 61*83a54b2fSSadaf Ebrahimi url 'https://github.com/cbeust/testng.git' 62*83a54b2fSSadaf Ebrahimi } 63*83a54b2fSSadaf Ebrahimi licenses { 64*83a54b2fSSadaf Ebrahimi license { 65*83a54b2fSSadaf Ebrahimi name 'Apache Version 2.0, January 2004' 66*83a54b2fSSadaf Ebrahimi distribution 'repo' 67*83a54b2fSSadaf Ebrahimi } 68*83a54b2fSSadaf Ebrahimi } 69*83a54b2fSSadaf Ebrahimi developers { 70*83a54b2fSSadaf Ebrahimi developer { 71*83a54b2fSSadaf Ebrahimi id = 'cbeust' 72*83a54b2fSSadaf Ebrahimi name = 'Cedric Beust' 73*83a54b2fSSadaf Ebrahimi email = '[email protected]' 74*83a54b2fSSadaf Ebrahimi } 75*83a54b2fSSadaf Ebrahimi } 76*83a54b2fSSadaf Ebrahimi } 77*83a54b2fSSadaf Ebrahimi } 78*83a54b2fSSadaf Ebrahimi } 79*83a54b2fSSadaf Ebrahimi } 80*83a54b2fSSadaf Ebrahimi} 81*83a54b2fSSadaf Ebrahimi 82*83a54b2fSSadaf EbrahimiuploadArchives.doLast { 83*83a54b2fSSadaf Ebrahimi if (! version.contains("SNAPSHOT")) { 84*83a54b2fSSadaf Ebrahimi println("Now go to https://oss.sonatype.org/index.html#stagingRepositories to close" + 85*83a54b2fSSadaf Ebrahimi " and publish the distribution") 86*83a54b2fSSadaf Ebrahimi } 87*83a54b2fSSadaf Ebrahimi}