-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Find alternative to jcenter #94
Comments
Same issue of the Android version of here: |
Hi all, thanks for raising this with me. I was hoping that GitHub will step up and will finally allow us to use its package distribution system without signing in. If that doesn't happen then I'll raise a request to MavenCentral at the beginning of March. |
Do you know of any other alternatives to Bintray/JCenter (other than MavenCentral)? |
Well, I use Jitpack as it's very easy and free. So this is what you get: No need to register. No need to pay. Just one step and that's it. |
Any reason why not MavenCentral? Could help to propose alternative with other design |
@kakawait What are the advantages of using MavenCentral? Is it free? Is it easy ? |
It's free and a bit the de facto standard. |
@kakawait Is there a lot to configure per each new repository and/or update ? |
I'd strongly recommend Maven Central...it's a more professional thing to use than stuff like Jitpack.... |
@kenyee I've seen recommendations for both. Jitpack doesn't seem bad at all. |
Maven isn't bad...Marton wrote up a decent article on the steps: The main issue w/ jitpack is the changeability...e.g., you can release a new version and then within six hours release it again w/ the same version. This is something that is a bit worrisome for a security library obviously... |
Lazysodium for Java has been migrated away from Bintray and is now on MavenCentral 🥳 Please visit the readme on how to install it. The more rigorous steps for submitting a project into the Sonatype repository meant that the groupId had to unfortunately change 😔 That's the only breaking change. |
@gurpreet- Please update the repositories' main websites here and for Android. https://github.com/terl/lazysodium-android#1-install There is even a link to here: https://bintray.com/terl/lazysodium-maven/lazysodium-android/4.3.2 |
@AndroidDeveloperLB I'm still in the progress of moving Lazysodium Android away from Bintray so that's why that hasn't been updated |
@gurpreet- Can you please update me when it's completely ready, and what to write in gradle file (for Android) ? |
@AndroidDeveloperLB Sure, I'll update here. Currently, Azure Pipelines is being a pain even though it is a great CI tool. With Azure Pipelines not building no matter what I try (I think they have a problem), I can't release Lazysodium. I'm switching to GitHub Actions. |
Thanks...well worth it :-) |
Good news. The move to GitHub Actions has been completed for:
All the above repos now support |
Further good news: Lazysodium Android version 5.0.0 has now been moved away from Bintray and is now on MavenCentral! To now use Lazysodium in your projects, ensure you are using |
@gurpreet- Nice. I think the jna one has a more updated version though:
Maybe you should just link to it instead: https://mvnrepository.com/artifact/net.java.dev.jna/jna |
@AndroidDeveloperLB I tried linking to it but some developers complained that the newer versions of JNA broke their builds. Therefore it has remained hardcoded for now. |
@gurpreet- It did? How odd. What was the error? |
Not sure, please open a new issue if you want to investigate that further. I want to keep this issue on the topic of moving away from Bintray |
@gurpreet- OK sorry. Can you at least show the issue they complained about? Maybe if reproduced, it's an error with IDE/gradle. |
@AndroidDeveloperLB please see #103 |
Nice work..thanks :-) |
@gurpreet- Weird. For me those work fine (use canary/beta version of the IDE and the gradle version of it too) :
But then I've noticed some build errors for these imports:
Seems the packages changed a bit. Should be:
|
Now that I have migrated to Maven Central, it's now time to remove jCenter from the projects. Lazysodium JavaThis has been done in the following commits/PRs for Lazysodium Java 72b4cee and is in release Lazysodium AndroidFor Lazysodium Android it is currently a work in progress in this PR terl/lazysodium-android#48. It's blocked due to
There are issues already raised to get it in Maven Central: https://youtrack.jetbrains.com/issue/IDEA-261387, https://youtrack.jetbrains.com/issue/KT-44730 The recommended solution of adding the following is not unreasonable but I would rather not do this:
|
@gurpreet- I think that if you use the canary (or beta) version of the IDE, together with a newer version of gradle, you can avoid jcenter completely. |
I think it's unfeasible to ask developers to upgrade to the latest canary versions of their IDEs. Some crazy people might not even use an IDE and may just use the command line 😄 With jFrog now keeping their jCenter repository open till next year, I've made a decision to keep using jCenter for the trove4j dependency specifically till that linked issue above is resolved. This is available in Lazysodium Android 5.0.1 👍 |
With that being said, I think this issue has now been resolved as everything has been migrated away from jCenter (minus, of course, the above I will keep this issue open for a little while longer. Let me know in here if you see any problems. |
@gurpreet- That's true, but the gradle plugin will get updated to support it officially soon. If people want to avoid jcenter, they can't do it on stable version yet (with or without using your repository). |
Are you planning on uploading other major versions to Maven Central as well? We still require 3.8.0. |
@Salzian If it's urgent, you can use beta/canary versions of Android Studio (with the update gradle plugin, of course) . |
Nevermind, I have misunderstood something. I'll have to triage if 3.8.0 -> 5.0.1 is a drop in replacement anyways and we'll just bump. |
@Salzian I could release older versions of lazysodium but with jCenter being deprecated it would mean that those older libraries that rely on jCenter would go defunct at some point. Version 5 of lazysodium brings a lot of bug fixes anyway. The underlying library resource-loader is constantly improving to load native libraries under all kinds of circumstances in all kinds of environments. In fact, creating a wrapper over Libsodium was the easy part. It's actually the seamless loading of the native libraries (.so, .dll, .dylib) out of (nested) JARs and out of different operating system file structures that has proved to be a huge challenge. It is indeed a drop in replacement. The only thing you will have to do is find and replace the package ID. |
I was not taking into account that a version bump is needed to update the dependencies of lazysodium itself. However the upgrade was easy and painless, only the namespace change was required, nothing has seemed to break since then. We simply bumped the version and are now running on 5.0.1 successfully without jCenter. Thanks for considering anyways! 👍 |
Looks like we're fully migrated now. Closing... |
You may know or not but jcenter/bintray will shutdown on 1st may 2021
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
Maybe publish to sonatype maven central?
The text was updated successfully, but these errors were encountered: