Vor kurzem gab es Neuigkeiten, dass JCenter bald geschlossen sein wird und wie wir dort weiterleben können, heißt nicht, dass wir woanders hin müssen. Für mich persönlich ist MavenCentral der Hauptkandidat geworden, da ich dort schon lange publiziere, obwohl ich mich im letzten Jahr daran gewöhnt habe, dies über Bintray zu tun. In diesem Beitrag finden Sie kurze Informationen zu den Unterwasser-Skripten, die ich getroffen habe, und wie ich meine Veröffentlichungsskripte ändern musste.
DIESER ARTIKEL HAT KEINE INFORMATIONEN ÜBER DIE VERÖFFENTLICHUNG VON NATIVEN ZIELEN . Trotzdem hoffe ich, dass die Informationen im Artikel für Sie nützlich sind.
Wahrscheinlich schon geschrieben
Es gibt zwar mehrere Artikel zu diesem Thema ( 2019 und 2021 ), aber im Moment habe ich keinen einzigen vollständigen Artikel mit Informationen zum Veröffentlichen von Skripten gesehen (wahrscheinlich habe ich nur an der falschen Stelle gesucht). Gebrauchte auf die meisten Informationen können aus einem Artikel entnommen werden (Anmeldung Sonatype, Domain - Registrierung, Erstellen von GPG - Schlüssel und seinen Zweck und nicht nur). Das folgende ist ein universelles Skript zum Veröffentlichen eines Multiplattform-Projekts:
apply plugin: 'maven-publish'
apply plugin: 'signing'
task javadocsJar(type: Jar) { // , javadocs
classifier = 'javadoc'
}
publishing {
publications.all {
artifact javadocsJar
pom {
description = " "
name = "${project.name}"
url = "https://github.com/Owner/Project" // , github
scm {
developerConnection = "scm:git:[fetch=]/* .git */[push=]/* */"
url = "/* */"
}
developers {
developer {
id = "ID "
name = " "
email = "email "
}
}
licenses {
license {
name = " "
url = " LICENSE "
}
}
}
repositories {
// Maven Central
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')
}
}
}
}
}
signing {
useGpgCmd()
sign publishing.publications
}
Ein Beispiel für dieses Skript finden Sie hier . Beim Umzug von JCenter sind folgende Fehler aufgetreten:
maven url
uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
publishing.publications ( , Java ( Android) )
gradle SONATYPE_USER
SONATYPE_PASSWORD
. :
~/.gradle/gradle.properties
( CI )
, . :
$ ./gradlew --no-parallel publishAllPublicationsToSonatypeRepository
--no-parallel
Hier wird es aus dem Grund verwendet, dass, wenn Sie das parallele Erstellen des Projekts (Flag --parallel
oder org.gradle.parallel=true
In gradle.properties
) verwenden, die Veröffentlichung ohne das Flag zum Deaktivieren des parallelen Erstellens in mehreren Repositorys erfolgt, was dazu führen kann, dass Releases nicht geschlossen und veröffentlicht werden können (Dies wurde auch in den obigen Artikeln beschrieben).
Anstelle einer Schlussfolgerung
Die Veröffentlichung einer Bibliothek ist schwierig, daher wünsche ich Ihnen von Herzen alles Gute für dieses Unterfangen. Wenn es Kommentare / Ergänzungen oder etwas anderes gibt, das anderen helfen kann, schreiben Sie in die Kommentare, damit ich dem Artikel einen Hinweis dazu hinzufüge. Alles Gute.