Plugin marker artifact fixes deployed to Plugin Portal


(Marc Philipp) #1

This is a quick heads-up that we found and fixed a bug on the Plugin Portal that may affect plugin resolution for a minority of plugin users.

If you are mirroring the plugin portal, you will want to re-sync if you use one of the plugins listed below.

While most plugins are released using the same version for the plugin and the main artifact, these versions can be configured separately in the plugin-publish plugin. When using such a plugin in a buildscript via Gradle’s plugins DSL, Gradle relies on plugin marker artifacts to resolve the plugin ID into a Maven coordinate.

For example, the sample org.samples.examples.goodbye plugin in version 1.2 was deployed to the Plugin Portal with a Maven artifact version of 0.9. Before the fix we’ve just deployed, the Plugin Portal generated the following plugin marker artifact POM:

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.samples.examples.goodbye</groupId>
  <artifactId>org.samples.examples.goodbye.gradle.plugin</artifactId>
  <version>1.2</version>
  <packaging>pom</packaging>
  <dependencies>
    <dependency>
      <groupId>gradle.plugin.test.foobar</groupId>
      <artifactId>example-plugin</artifactId>
      <version>1.2</version>
    </dependency>
  </dependencies>
</project>

Now, it correctly references the 0.9 version of the main artifact:

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.samples.examples.goodbye</groupId>
  <artifactId>org.samples.examples.goodbye.gradle.plugin</artifactId>
  <version>1.2</version>
  <packaging>pom</packaging>
  <dependencies>
    <dependency>
      <groupId>gradle.plugin.test.foobar</groupId>
      <artifactId>example-plugin</artifactId>
      <version>0.9</version>
    </dependency>
  </dependencies>
</project>

Only users who use one of the following plugin IDs via the plugins DSL are affected:

  • aws.util.lambda
  • bigdora.docker
  • bigdora.github
  • com.athaydes.osgi-run
  • com.bigdora.docker
  • com.bigdora.github
  • com.buddybuild.androidinterceptor
  • com.buddybuild.bbandroidinterceptor
  • com.buddybuild.bbjunitinterceptor
  • com.buddybuild.bbsdkmanager
  • com.buddybuild.sdkmanager
  • com.dubems.paystack
  • com.github.saadfarooq.featuresets
  • com.github.themrmilchmann.kraton
  • com.iperlane.reflection-access
  • com.jfz.plugin.pin
  • com.lxj.copykts
  • com.marklogic.ml-gradle
  • com.mime.houyi.hellodsl
  • com.oskip.jooq
  • com.radioafricagroup.plugins.flyway
  • com.radioafricagroup.plugins.rules
  • com.sohu.steamer.pluginmaker
  • com.spindrift.run-assembler
  • com.zx.test
  • cover.coverage.plugin
  • cover.properties.plugin
  • cover.publishing.plugin
  • de.acetous.dependency-compliance
  • de.dplatz.clear
  • de.esailors.gradle.plugins.phraseapp
  • earth.cube.github
  • ezy.plugin.launchericon
  • ga.csys.c4u.tooling.c4u-singleproject-defaults-gradle
  • io.github.groovylang.groovydoc
  • io.townsq.aws-lambda-provisioning
  • io.townsq.s3-maven
  • io.vrap.rmf.codegen-plugin
  • me.s2marine.shine.ide-gradle-plugin
  • net.anshulverma.gradle.fileupload
  • net.hiease.eva
  • net.researchgate.releaseMats
  • org.cedar.dockerplugin
  • org.example303.greeting
  • org.example.greeting
  • org.example.mendchilgee
  • org.gosu-lang.gosu
  • org.hapjs.buildtest
  • org.jbake.site
  • org.noerp.gradle
  • org.patuf.gradle-release-plugin
  • org.robin.example.greeting
  • org.samples.examples.goodbye
  • org.samples.examples.goodbye2
  • org.samples.examples.helloworld
  • ru.endlesscode.gradle.bukkit
  • seek.aws
  • seek.cloudformation

Please let us know if you have any questions.