Open josemgu91 opened 3 years ago
Is there an alternate place where we can point maven now that bintray is down?
Maybe jitpack will be the solution for temporary. FYI, here is the configuration snippet for Gradle.
repositories {
mavenCentral()
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.kevin-wayne:algs4:master-SNAPSHOT'
}
Maven can also work with jitpack.
Sounds great! As far as I've seen, JitPack works with GitHub Releases or Git tags, so I think it'd be easier to just create the tags or GitHub Releases and rely on JitPack instead.
Why not just publish to Maven Central and call it good, instead of nonstandard repos that may go away any day?
If someone wants to volunteer to setup a Maven Central library, make me a co-admin, and setup a workflow to keep it relatively up-to-date, I'm happy to endorse/link from here. I haven't used Maven.
@kevin-wayne Part of the process to publish to Maven Central requires setting up a temporary redirect rule for the domain the package is published under. It appears that this repo is currently using edu.princeton
. If you don’t have the admin access to that domain, another domain will need to be chosen. I believe com.github.something
is also a common choice, but I don’t know what the process for that is. Presumably admin/collaborator access to the GitHub repository.
I’m familiar with the publishing process and have published my own OSS to Maven Central. I can help with this process, but as I mentioned, will most likely need to be granted collaborator access. I’ll take a look and post back with more information this week.
Note that the domain is only for Maven, the code can continue to use the existing package, although I’ll say that can be pretty confusing.
I'd like to keep the edu.princeton.cs.algs4 package name. I don't have admin access to edu.princeton
but do have access to algs4.cs.princeton.edu
website (e.g., to setup a temporary redirect rule).
IMHO, algs4.cs.princeton.edu
seems too specific for a group id, since it can only be used for this repo, and nothing else. I found this Sonatype ticket, which uses io.github.<username>
, and the verification process seems to be creating a new repo under the same user account. If you choose to do that, the group id will be io.github.kevin-wayne
or com.github.kevin-wayne
.
Whichever option you choose, please create a Sonatype JIRA ticket by cloning from the ticket I linked to above. Once verification is complete, you'll be given a username/password, using which we will be able to publish to Maven Central. There's a fair bit of plumbing needed to do that automatically from GitHub, but I can help with that, and no external support should be needed for that.
@kevin-wayne Why not just keep it simple and using jitpack
instead of publishing to Maven Central library.
Jitpack
runs steadily for years and works seamlessly with github repojar
package up-to-date to codebase, OR just to stay some specific version if you wish[^1]FYI:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.kevin-wayne</groupId>
<artifactId>algs4</artifactId>
<version>-SNAPSHOT</version>
</dependency>
[^1]: requires a version tag or commit id
Is there a solution meanwhile? It seems the package is not available anymore, I've included it like this in gradle for around 4 year now:
// https://mvnrepository.com/artifact/edu.princeton.cs/algs4
implementation("edu.princeton.cs:algs4:1.0.4")
Bintray service will be shutdown in May 1st 2021: Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter
Is there any plan to publish the library in Maven Central or another repository?