Baru-baru ini, ada kabar bahwa JCenter akan segera ditutup dan bagaimana kami dapat terus hidup di sana tidak dikatakan kami perlu pindah ke tempat lain. Bagi saya pribadi, MavenCentral sudah menjadi kandidat utama, karena saya sudah lama menerbitkan di sana, meski setahun terakhir ini saya terbiasa melakukannya melalui Bintray. Dalam posting ini, akan ada informasi singkat tentang yang saya temui di bawah air dan bagaimana saya harus mengubah skrip penerbitan saya.
PASAL INI TIDAK MEMILIKI INFORMASI APA PUN TENTANG PUBLIKASI TARGET NATIVE . Meski demikian, semoga informasi dalam artikel ini bermanfaat bagi Anda.
Mungkin udah aja
Memang, ada beberapa artikel tentang topik ini ( 2019 dan 2021 ), tetapi saat ini saya belum melihat satu artikel pun lengkap dengan informasi tentang skrip penerbitan (mungkin, saya hanya melihat di tempat yang salah). Digunakan pada sebagian besar informasi dapat diambil dari sebuah artikel (pendaftaran Sonatype, pendaftaran domain, membuat kunci GPG dan tujuannya dan tidak hanya). Berikut ini adalah skrip universal untuk menerbitkan proyek multiplatform:
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
}
Anda dapat melihat contoh skrip ini di sini . Saat berpindah dari JCenter, saya mengalami kesalahan berikut:
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
di sini digunakan untuk alasan bahwa jika Anda menggunakan pembangunan paralel dari proyek (bendera --parallel
atau org.gradle.parallel=true
di gradle.properties
), maka tanpa bendera menonaktifkan pembangunan paralel, publikasi akan dilakukan ke beberapa repositori, yang mungkin memerlukan ketidakmampuan untuk menutup dan menerbitkan rilis (ini juga ditulis di artikel di atas).
Bukan sebuah kesimpulan
Menerbitkan perpustakaan itu sulit, jadi saya dengan tulus berharap yang terbaik untuk Anda dalam upaya ini. Jika ada komentar / tambahan atau hal lain yang bisa membantu orang lain, tulis di kolom komentar agar saya menambahkan catatan tentang hal ini ke artikel. Semoga berhasil.