xref: /aosp_15_r20/external/mockito-kotlin/gradle/publishing.gradle (revision e074118c0c8cdc51eefcdba5562f40e02347a3ee)
1*e074118cSAndroid Build Coastguard Workerapply plugin: 'maven-publish'
2*e074118cSAndroid Build Coastguard Worker
3*e074118cSAndroid Build Coastguard Workertask javadocJar(type: Jar, dependsOn: javadoc) {
4*e074118cSAndroid Build Coastguard Worker    classifier = 'javadoc'
5*e074118cSAndroid Build Coastguard Worker    from 'build/javadoc'
6*e074118cSAndroid Build Coastguard Worker}
7*e074118cSAndroid Build Coastguard Worker
8*e074118cSAndroid Build Coastguard Workertask sourceJar(type: Jar) {
9*e074118cSAndroid Build Coastguard Worker    from sourceSets.main.allSource
10*e074118cSAndroid Build Coastguard Worker}
11*e074118cSAndroid Build Coastguard Worker
12*e074118cSAndroid Build Coastguard Workerpublishing {
13*e074118cSAndroid Build Coastguard Worker    publications {
14*e074118cSAndroid Build Coastguard Worker        javaLibrary(MavenPublication) {
15*e074118cSAndroid Build Coastguard Worker            artifactId 'mockito-kotlin'
16*e074118cSAndroid Build Coastguard Worker
17*e074118cSAndroid Build Coastguard Worker            from components.java
18*e074118cSAndroid Build Coastguard Worker
19*e074118cSAndroid Build Coastguard Worker            artifact sourceJar {
20*e074118cSAndroid Build Coastguard Worker                classifier "sources"
21*e074118cSAndroid Build Coastguard Worker            }
22*e074118cSAndroid Build Coastguard Worker
23*e074118cSAndroid Build Coastguard Worker            artifact javadocJar
24*e074118cSAndroid Build Coastguard Worker
25*e074118cSAndroid Build Coastguard Worker            pom.withXml {
26*e074118cSAndroid Build Coastguard Worker                def root = asNode()
27*e074118cSAndroid Build Coastguard Worker                root.appendNode('name', 'Mockito-Kotlin')
28*e074118cSAndroid Build Coastguard Worker                root.appendNode('description', 'Using Mockito with Kotlin.')
29*e074118cSAndroid Build Coastguard Worker                root.appendNode('url', 'https://github.com/mockito/mockito-kotlin')
30*e074118cSAndroid Build Coastguard Worker
31*e074118cSAndroid Build Coastguard Worker                def scm = root.appendNode('scm')
32*e074118cSAndroid Build Coastguard Worker                scm.appendNode('url', 'scm:[email protected]:mockito/mockito-kotlin.git')
33*e074118cSAndroid Build Coastguard Worker
34*e074118cSAndroid Build Coastguard Worker                def licenses = root.appendNode('licenses')
35*e074118cSAndroid Build Coastguard Worker                def mitLicense = licenses.appendNode('license')
36*e074118cSAndroid Build Coastguard Worker                mitLicense.appendNode('name', 'MIT')
37*e074118cSAndroid Build Coastguard Worker
38*e074118cSAndroid Build Coastguard Worker                def developers = root.appendNode('developers')
39*e074118cSAndroid Build Coastguard Worker                def nhaarman = developers.appendNode('developer')
40*e074118cSAndroid Build Coastguard Worker                nhaarman.appendNode('id', 'nhaarman')
41*e074118cSAndroid Build Coastguard Worker                nhaarman.appendNode('name', 'Niek Haarman')
42*e074118cSAndroid Build Coastguard Worker            }
43*e074118cSAndroid Build Coastguard Worker        }
44*e074118cSAndroid Build Coastguard Worker    }
45*e074118cSAndroid Build Coastguard Worker
46*e074118cSAndroid Build Coastguard Worker    //useful for testing - running "publish" will create artifacts/pom in a local dir
47*e074118cSAndroid Build Coastguard Worker    repositories { maven { url = "$rootProject.buildDir/repo" } }
48*e074118cSAndroid Build Coastguard Worker}
49*e074118cSAndroid Build Coastguard Worker
50*e074118cSAndroid Build Coastguard Workerclean {
51*e074118cSAndroid Build Coastguard Worker    delete "$rootProject.buildDir/repo"
52*e074118cSAndroid Build Coastguard Worker}
53*e074118cSAndroid Build Coastguard Worker
54*e074118cSAndroid Build Coastguard Worker// Avoid generation of the module metadata so that we don't have to publish an additional file
55*e074118cSAndroid Build Coastguard Worker// and keep the build logic simple.
56*e074118cSAndroid Build Coastguard Workertasks.withType(GenerateModuleMetadata) {
57*e074118cSAndroid Build Coastguard Worker    enabled = false
58*e074118cSAndroid Build Coastguard Worker}
59*e074118cSAndroid Build Coastguard Worker
60*e074118cSAndroid Build Coastguard Worker//fleshes out problems with Maven pom generation when building
61*e074118cSAndroid Build Coastguard Workertasks.build.dependsOn('publishJavaLibraryPublicationToMavenLocal')
62*e074118cSAndroid Build Coastguard Worker
63*e074118cSAndroid Build Coastguard Workerapply plugin: 'signing' //https://docs.gradle.org/current/userguide/signing_plugin.html
64*e074118cSAndroid Build Coastguard Workersigning {
65*e074118cSAndroid Build Coastguard Worker    if (System.getenv("PGP_KEY")) {
66*e074118cSAndroid Build Coastguard Worker        useInMemoryPgpKeys(System.getenv("PGP_KEY"), System.getenv("PGP_PWD"))
67*e074118cSAndroid Build Coastguard Worker        sign publishing.publications.javaLibrary
68*e074118cSAndroid Build Coastguard Worker    }
69*e074118cSAndroid Build Coastguard Worker}