Closed westnordost closed 3 years ago
I just moved the osmfeatures library to maven central, here is the gradle of that library, maybe you find this useful: https://github.com/westnordost/osmfeatures/blob/master/library/build.gradle
The problem is maven central is everything but low friction (which is why people were using bintray to start with), so currently I'm leaning towards using jitpack. f-droid is really the under lying problem here because all your dependencies need to be published in one of the small number of places they whitelist (in this case jcenter), not just what you are publishing for third party use.
With low friction you mean that it is complicated to use and update? Yeah, bintray was more convenient. Though it has gotten better. The maven-publish gradle plugin is quite compact now. So my workflow now is to execute gradle publishMavenJavaPublicationToMavenCentralRepository
, then go to https://oss.sonatype.org, login, click on Staging Repositories, select that repository, click on close, wait/refresh, click on release. I don't know if the whole interaction with that website can be avoided, but it was never so much pain in the ass that I actively tried to automate that step. But well, I guess https://github.com/gradle-nexus/publish-plugin doest just that.
Jitpack seems slick, but it is a little weird - who signs the published library? Jitpack itself?
Publishing moved in https://github.com/simonpoole/OpeningHoursParser/commit/a483b4dbd1205ea762bf6c40dbb9eb53ecf69d30
Heads up to @simon04
Bintray is shutting down, see https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter
Here is some useful information from gradle.org:
Also important for anyone using JCenter to date to get dependencies is this security consideration:
Gradle offers a mechanism to defend against this, described in their user guide. In a nutshell:
Execute
gradle --write-verification-metadata sha256 help
to bootstrap checksum verification of dependencies, then after that you can change the repository to fetch dependencies from and gradle will throw an error if the checksum of a dependency now located somewhere else is different.