xref: /aosp_15_r20/external/conscrypt/gradle/publishing.gradle (revision cd0cc2e34ba52cdf454361820a14d744e4bd531d)
1*cd0cc2e3SAndroid Build Coastguard Workerapply plugin: 'maven-publish'
2*cd0cc2e3SAndroid Build Coastguard Workerapply plugin: 'signing'
3*cd0cc2e3SAndroid Build Coastguard Worker
4*cd0cc2e3SAndroid Build Coastguard Workerdef isSnapshot = project.version.contains('SNAPSHOT')
5*cd0cc2e3SAndroid Build Coastguard Workerdef isReleaseVersion = !isSnapshot
6*cd0cc2e3SAndroid Build Coastguard Worker
7*cd0cc2e3SAndroid Build Coastguard Workerpublishing {
8*cd0cc2e3SAndroid Build Coastguard Worker    publications {
9*cd0cc2e3SAndroid Build Coastguard Worker        maven(MavenPublication) {
10*cd0cc2e3SAndroid Build Coastguard Worker            pom {
11*cd0cc2e3SAndroid Build Coastguard Worker                afterEvaluate {
12*cd0cc2e3SAndroid Build Coastguard Worker                    name = "$project.group:$project.name" as String
13*cd0cc2e3SAndroid Build Coastguard Worker                    description = project.description
14*cd0cc2e3SAndroid Build Coastguard Worker                }
15*cd0cc2e3SAndroid Build Coastguard Worker
16*cd0cc2e3SAndroid Build Coastguard Worker                url = 'https://conscrypt.org/'
17*cd0cc2e3SAndroid Build Coastguard Worker
18*cd0cc2e3SAndroid Build Coastguard Worker                scm {
19*cd0cc2e3SAndroid Build Coastguard Worker                    connection = 'scm:git:https://github.com/google/conscrypt.git'
20*cd0cc2e3SAndroid Build Coastguard Worker                    developerConnection = 'scm:git:[email protected]:google/conscrypt.git'
21*cd0cc2e3SAndroid Build Coastguard Worker                    url = 'https://github.com/google/conscrypt'
22*cd0cc2e3SAndroid Build Coastguard Worker                }
23*cd0cc2e3SAndroid Build Coastguard Worker
24*cd0cc2e3SAndroid Build Coastguard Worker                licenses {
25*cd0cc2e3SAndroid Build Coastguard Worker                    license {
26*cd0cc2e3SAndroid Build Coastguard Worker                        name = 'Apache 2'
27*cd0cc2e3SAndroid Build Coastguard Worker                        url = 'https://www.apache.org/licenses/LICENSE-2.0'
28*cd0cc2e3SAndroid Build Coastguard Worker                    }
29*cd0cc2e3SAndroid Build Coastguard Worker                }
30*cd0cc2e3SAndroid Build Coastguard Worker
31*cd0cc2e3SAndroid Build Coastguard Worker                developers {
32*cd0cc2e3SAndroid Build Coastguard Worker                    developer {
33*cd0cc2e3SAndroid Build Coastguard Worker                        id = 'conscrypt'
34*cd0cc2e3SAndroid Build Coastguard Worker                        name = 'Conscrypt Contributors'
35*cd0cc2e3SAndroid Build Coastguard Worker                        email = '[email protected]'
36*cd0cc2e3SAndroid Build Coastguard Worker                        url = 'https://conscrypt.org/'
37*cd0cc2e3SAndroid Build Coastguard Worker                        organization = 'Google, Inc.'
38*cd0cc2e3SAndroid Build Coastguard Worker                        organizationUrl = 'https://www.google.com'
39*cd0cc2e3SAndroid Build Coastguard Worker                    }
40*cd0cc2e3SAndroid Build Coastguard Worker                }
41*cd0cc2e3SAndroid Build Coastguard Worker            }
42*cd0cc2e3SAndroid Build Coastguard Worker        }
43*cd0cc2e3SAndroid Build Coastguard Worker    }
44*cd0cc2e3SAndroid Build Coastguard Worker
45*cd0cc2e3SAndroid Build Coastguard Worker    repositories {
46*cd0cc2e3SAndroid Build Coastguard Worker        maven {
47*cd0cc2e3SAndroid Build Coastguard Worker            def snapshotUrl = 'https://oss.sonatype.org/content/repositories/snapshots/'
48*cd0cc2e3SAndroid Build Coastguard Worker            def stagingUrl = rootProject.hasProperty('repositoryId') ? \
49*cd0cc2e3SAndroid Build Coastguard Worker                'https://oss.sonatype.org/service/local/staging/deployByRepositoryId/' \
50*cd0cc2e3SAndroid Build Coastguard Worker                    + rootProject.repositoryId : \
51*cd0cc2e3SAndroid Build Coastguard Worker                'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
52*cd0cc2e3SAndroid Build Coastguard Worker            url isSnapshot ? snapshotUrl : stagingUrl
53*cd0cc2e3SAndroid Build Coastguard Worker            credentials {
54*cd0cc2e3SAndroid Build Coastguard Worker                username = rootProject.findProperty('ossrhUsername') ?: ''
55*cd0cc2e3SAndroid Build Coastguard Worker                password = rootProject.findProperty('ossrhPassword') ?: ''
56*cd0cc2e3SAndroid Build Coastguard Worker            }
57*cd0cc2e3SAndroid Build Coastguard Worker        }
58*cd0cc2e3SAndroid Build Coastguard Worker    }
59*cd0cc2e3SAndroid Build Coastguard Worker}
60*cd0cc2e3SAndroid Build Coastguard Worker
61*cd0cc2e3SAndroid Build Coastguard Workersigning {
62*cd0cc2e3SAndroid Build Coastguard Worker    required { isReleaseVersion && gradle.taskGraph.hasTask("publish") }
63*cd0cc2e3SAndroid Build Coastguard Worker    sign publishing.publications.maven
64*cd0cc2e3SAndroid Build Coastguard Worker}
65*cd0cc2e3SAndroid Build Coastguard Worker
66*cd0cc2e3SAndroid Build Coastguard WorkersignMavenPublication.doFirst {
67*cd0cc2e3SAndroid Build Coastguard Worker    publishing.publications.maven.artifacts.each {
68*cd0cc2e3SAndroid Build Coastguard Worker        if (it.file.absolutePath.endsWith('.jar') && it.classifier != 'sources' && it.classifier != 'javadoc') {
69*cd0cc2e3SAndroid Build Coastguard Worker            logger.info("Signing jar: ${it.file.absolutePath}")
70*cd0cc2e3SAndroid Build Coastguard Worker            signJar(it.file.absolutePath)
71*cd0cc2e3SAndroid Build Coastguard Worker        }
72*cd0cc2e3SAndroid Build Coastguard Worker   }
73*cd0cc2e3SAndroid Build Coastguard Worker}
74*cd0cc2e3SAndroid Build Coastguard Worker
75*cd0cc2e3SAndroid Build Coastguard Workertasks.withType(Sign) {
76*cd0cc2e3SAndroid Build Coastguard Worker    onlyIf { isReleaseVersion }
77*cd0cc2e3SAndroid Build Coastguard Worker}
78