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