mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-09-07 19:26:54 +00:00
one more potential ix of publishing scripts drop new configs of publish scripts revert publish scripts and update gradle properties
126 lines
5.4 KiB
Groovy
126 lines
5.4 KiB
Groovy
apply plugin: 'maven-publish'
|
|
|
|
task javadocsJar(type: Jar) {
|
|
archiveClassifier = 'javadoc'
|
|
}
|
|
|
|
publishing {
|
|
publications.all {
|
|
artifact javadocsJar
|
|
|
|
pom {
|
|
description = "It is set of projects with micro tools for avoiding of routines coding"
|
|
name = "${project.name}"
|
|
url = "https://github.com/InsanusMokrassar/MicroUtils/"
|
|
|
|
scm {
|
|
developerConnection = "scm:git:[fetch=]https://github.com/InsanusMokrassar/MicroUtils.git[push=]https://github.com/InsanusMokrassar/MicroUtils.git"
|
|
url = "https://github.com/InsanusMokrassar/MicroUtils.git"
|
|
}
|
|
|
|
developers {
|
|
|
|
developer {
|
|
id = "InsanusMokrassar"
|
|
name = "Aleksei Ovsiannikov"
|
|
email = "ovsyannikov.alexey95@gmail.com"
|
|
}
|
|
|
|
|
|
developer {
|
|
id = "000Sanya"
|
|
name = "Syrov Aleksandr"
|
|
email = "000sanya.000sanya@gmail.com"
|
|
}
|
|
|
|
}
|
|
|
|
licenses {
|
|
|
|
license {
|
|
name = "Apache Software License 2.0"
|
|
url = "https://github.com/InsanusMokrassar/MicroUtils/blob/master/LICENSE"
|
|
}
|
|
|
|
}
|
|
}
|
|
repositories {
|
|
if ((project.hasProperty('GITHUBPACKAGES_USER') || System.getenv('GITHUBPACKAGES_USER') != null) && (project.hasProperty('GITHUBPACKAGES_PASSWORD') || System.getenv('GITHUBPACKAGES_PASSWORD') != null)) {
|
|
maven {
|
|
name = "GithubPackages"
|
|
url = uri("https://maven.pkg.github.com/InsanusMokrassar/MicroUtils")
|
|
|
|
credentials {
|
|
username = project.hasProperty('GITHUBPACKAGES_USER') ? project.property('GITHUBPACKAGES_USER') : System.getenv('GITHUBPACKAGES_USER')
|
|
password = project.hasProperty('GITHUBPACKAGES_PASSWORD') ? project.property('GITHUBPACKAGES_PASSWORD') : System.getenv('GITHUBPACKAGES_PASSWORD')
|
|
}
|
|
|
|
}
|
|
}
|
|
if ((project.hasProperty('INMONEXUS_USER') || System.getenv('INMONEXUS_USER') != null) && (project.hasProperty('INMONEXUS_PASSWORD') || System.getenv('INMONEXUS_PASSWORD') != null)) {
|
|
maven {
|
|
name = "InmoNexus"
|
|
url = uri("https://nexus.inmo.dev/repository/maven-releases/")
|
|
|
|
credentials {
|
|
username = project.hasProperty('INMONEXUS_USER') ? project.property('INMONEXUS_USER') : System.getenv('INMONEXUS_USER')
|
|
password = project.hasProperty('INMONEXUS_PASSWORD') ? project.property('INMONEXUS_PASSWORD') : System.getenv('INMONEXUS_PASSWORD')
|
|
}
|
|
|
|
}
|
|
}
|
|
if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) {
|
|
maven {
|
|
name = "sonatype"
|
|
url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
|
|
|
|
credentials {
|
|
username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER')
|
|
password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD')
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (project.hasProperty("signing.gnupg.keyName")) {
|
|
apply plugin: 'signing'
|
|
|
|
signing {
|
|
useGpgCmd()
|
|
|
|
sign publishing.publications
|
|
}
|
|
|
|
task signAll {
|
|
tasks.withType(Sign).forEach {
|
|
dependsOn(it)
|
|
}
|
|
}
|
|
|
|
// Workaround to make android sign operations depend on signing tasks
|
|
project.getTasks().withType(AbstractPublishToMaven.class).configureEach {
|
|
def signingTasks = project.getTasks().withType(Sign.class)
|
|
mustRunAfter(signingTasks)
|
|
}
|
|
// Workaround to make test tasks use sign
|
|
project.getTasks().withType(Sign.class).configureEach { signTask ->
|
|
def withoutSign = (signTask.name.startsWith("sign") ? signTask.name.minus("sign") : signTask.name)
|
|
def pubName = withoutSign.endsWith("Publication") ? withoutSign.substring(0, withoutSign.length() - "Publication".length()) : withoutSign
|
|
// These tasks only exist for native targets, hence findByName() to avoid trying to find them for other targets
|
|
|
|
// Task ':linkDebugTest<platform>' uses this output of task ':sign<platform>Publication' without declaring an explicit or implicit dependency
|
|
def debugTestTask = tasks.findByName("linkDebugTest$pubName")
|
|
if (debugTestTask != null) {
|
|
signTask.mustRunAfter(debugTestTask)
|
|
}
|
|
// Task ':compileTestKotlin<platform>' uses this output of task ':sign<platform>Publication' without declaring an explicit or implicit dependency
|
|
def testTask = tasks.findByName("compileTestKotlin$pubName")
|
|
if (testTask != null) {
|
|
signTask.mustRunAfter(testTask)
|
|
}
|
|
}
|
|
}
|