Impact of final JCenter shutdown on Gradle Plugin Portal

Now that JFrog has confirmed that JCenter will become a permanent redirect to Maven Central, we felt that it was important for the Gradle Plugin Portal users to understand the impact of that decision on the portal and their builds. This post follows our report after JCenter redirected to Maven Central for a day.


This is a companion discussion topic for the original entry at https://blog.gradle.org/portal-jcenter-impact

I’m a bit confused on the statements regarding the usage of the Gradle Plugin Portal as a repository. On the one hand, in this post it’s stated that “builds configured to use the Gradle Plugin Portal as a regular artifact repository [… are] not recommended”, but in the post about JCenter shutdown it’s stated that “[you] should avoid using the Plugin Portal as a repository, except for Gradle plugin projects”.

For a project that is a Gradle plugin, is it fine to have:

repositories {
    gradlePluginPortal()
}

Is it even recommended, as this way it’s possible to ensure that the plugin can be applied without any other repos?

I think what is meant is having it as repository for non-plugin dependencies.
You could use it as sole repository as it redirects to JCenter which forwards to Maven Central and thus have all three repositories with one defined repository.
This is just not recommended.
I think the recommended would be to not have it at all in non-plugin projects, and in plugin projects potentially have MavenCentral first to save the redirect roundtrip and not stress the system needlessly and plugin portal after that for the things only present in plugin portal.

Hey,

Sorry if this was not clear. The answer from Björn is spot on.

Having the portal as a repository when developing a plugin is OK. There again the suggestion from Björn is valid as well.

1 Like