apply plugin: 'maven-publish' apply plugin: 'signing' apply plugin: 'org.jetbrains.dokka' task androidSourcesJar(type: Jar) { archiveClassifier.set('sources') if (project.plugins.findPlugin("com.android.library")) { from android.sourceSets.main.java.srcDirs from android.sourceSets.main.kotlin.srcDirs } else { from sourceSets.main.java.srcDirs from sourceSets.main.kotlin.srcDirs } } tasks.withType(dokkaHtmlPartial.getClass()).configureEach { pluginsMapConfiguration.set( ["org.jetbrains.dokka.base.DokkaBase": """{ "separateInheritedMembers": true}"""] ) } task javadocJar(type: Jar, dependsOn: dokkaJavadoc) { archiveClassifier.set('javadoc') from dokkaJavadoc.outputDirectory } artifacts { archives androidSourcesJar archives javadocJar } group = PUBLISH_GROUP_ID version = PUBLISH_VERSION afterEvaluate { publishing { publications { release(MavenPublication) { groupId PUBLISH_GROUP_ID artifactId PUBLISH_ARTIFACT_ID version PUBLISH_VERSION if (project.plugins.findPlugin("com.android.library")) { from components.release } else { from components.java } artifact androidSourcesJar artifact javadocJar pom { name = PUBLISH_ARTIFACT_ID description = 'Simple implementation to store object in tree structure.' url = 'https://github.com/AdrianKuta/Tree-Data-Structure' licenses { license { name = 'MIT License' url = 'https://www.mit.edu/~amini/LICENSE.md' } } developers { developer { name = 'Adrian Kuta' email = 'adrian.kuta93@gmail.com' } } // Version control info, if you're using GitHub, follow the format as seen here scm { connection = 'scm:git:github.com/AdrianKuta/Tree-Data-Structure.git' developerConnection = 'scm:git:ssh://github.com/AdrianKuta/Tree-Data-Structure.git' url = 'https://github.com/AdrianKuta/Tree-Data-Structure/tree/master' } } } } } } signing { useInMemoryPgpKeys( rootProject.ext["signing.keyId"], rootProject.ext["signing.key"], rootProject.ext["signing.password"], ) sign publishing.publications }