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}