xref: /aosp_15_r20/external/testng/gradle/publishing-maven.gradle (revision 83a54b2f2026052c38867f4cde56111edcd60b56)
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}