最近、JCenterが間もなく閉鎖されるというニュースがあり、どうすればそこに住み続けることができるのか、別の場所に移動する必要があるとは言われていません。個人的には、MavenCentralは長い間出版してきたので、主な候補になりましたが、昨年はBintrayを通じてそれを行うことに慣れていました。この投稿では、私が出会った水中のものと、公開スクリプトをどのように変更しなければならなかったかについての簡単な情報があります。
この記事には、ネイティブターゲットの公開に関する情報は含まれていません。それでも、この記事の情報がお役に立てば幸いです。
おそらくすでに書いた
確かに、このトピックに関するいくつかの記事(2019年と2021年)がありますが、現時点では、スクリプトの公開に関する情報を含む本格的な記事は1つも見ていません(おそらく、間違った場所を見ただけです)。ほとんどの情報で使用されているのは、記事(登録Sonatype、ドメイン登録、GPGキーの作成とその目的だけでなく)から取得できます。以下は、マルチプラットフォームプロジェクトを公開するためのユニバーサルスクリプトです。
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
}
このスクリプトの例はここにあります。JCenterから移動しているときに、次のエラーが発生しました。
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
ここでは、プロジェクトの並列ビルド(フラグ--parallel
またはorg.gradle.parallel=true
でgradle.properties
)を使用する場合、並列ビルドを無効にするフラグがないと、複数のリポジトリに公開されるため、リリースを閉じて公開できない可能性があるために使用されます。 (これは上記の記事にも書かれています)。
結論の代わりに
図書館の出版は難しいので、頑張ってください。コメント/追加または他の人を助けることができる何か他のものがあるならば、私がこれについてのメモを記事に加えるようにコメントを書いてください。がんばろう。