Bintray is shutting down; What should I do?

As you may have heard, JFrog has announced the shutdown of their Bintray and JCenter services. This has a direct effect on the Gradle plugin ecosystem. Currently there are two ways to publish a Gradle plugin:

  • Old way: deploy the artifacts to a Bintray repository
  • New way: via the Gradle plugin publish plugin

After Bintray shuts down, the old way to publish plugins will no longer be available. On April 1 2021, we will completely disable publishing through Bintray. If your plugin is already available via the Plugin Portal but was published only through Bintray, you must "reclaim" your plugin in order to publish new versions.

This must be done once for each plugin.

Once your plugin has been reclaimed, you can publish new versions as per the normal process.

Required steps

First, you need an account on the plugin portal. To create a new account you can use the signup page, or you can log in with your GitHub account.

Then, you need to contact us via email. please send a plugin reclaim request via our contact page .

Please include:

  1. The ID of the plugin(s);
  2. Supporting evidence that you are the owner of the plugin.

Examples of supporting evidence are:

  • The plugin source code on GitHub under your account;
  • The Bintray plugin package under your account.

If you are unable to provide evidence of ownership, please let us know and we will work with you to reclaim the plugin.

Replace the bintray plugin with the Gradle publish plugin

Publishing a plugin bia Bintray is usually done with the com.jfrog.bintray plugin:

plugins {
  id "com.jfrog.bintray" version "1.8.5"
}

bintray {
  user = 'bintray-user'
  key = 'bintray-access-key'
  pkg {
    name = 'gradle-plugin'
    repo = 'repo'
    version {
      name = "1.0.0"
      desc = 'Plugin description'
      attributes = ['gradle-plugin': "myPluginId:myPluginGroupId:gradle-plugin"]
    }
  }
}
    

This code should be removed and replaced with the Gradle plugin publish plugin:

plugins {
  id 'java-gradle-plugin'
  id "com.gradle.plugin-publish" version "0.19.0"
}

gradlePlugin {
  plugins {
    myPlugin {
      id = 'myPluginId'
      implementationClass = 'my.plugin.Implementation'
    }
  }
}

pluginBundle {
  website = 'https://github.com/user/gradle-plugin-repo'
  vcsUrl = 'https://github.com/user/gradle-plugin-repo'
  description = 'Plugin description'

  plugins {
    myPlugin {
      displayName = 'Gradle Plugin'
    }
  }
}