Missing properties in POM files of plugins.gradle.org/m2

Today Kotlin 2.4.0 was released. We use Renovate as an Dependency Automation tool. Usually Renovate detects Kotlin updates inside it’s monorepo default rule by looking up the SCM url inside the POM.

But it seems like on Gradle Plugin Portal this information is missing, which results into creating two PRs for the same Kotlin version update (one for the Kotlin runtime deps and one for the Gradle plugins).

POM on Gradle plugin portal:

<project
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.jetbrains.kotlin.plugin.serialization</groupId>
	<artifactId>org.jetbrains.kotlin.plugin.serialization.gradle.plugin</artifactId>
	<version>2.4.0</version>
	<packaging>pom</packaging>
	<dependencies>
		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-serialization</artifactId>
			<version>2.4.0</version>
		</dependency>
	</dependencies>
</project>

POM for the same dependency on MavenCentral:

<project
	xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.jetbrains.kotlin.plugin.serialization</groupId>
	<artifactId>org.jetbrains.kotlin.plugin.serialization.gradle.plugin</artifactId>
	<version>2.4.0</version>
	<packaging>pom</packaging>
	<name>Kotlin compiler plugin for kotlinx.serialization library</name>
	<description>Kotlin compiler plugin for kotlinx.serialization library</description>
	<url>https://kotlinlang.org/</url>
	<licenses>
		<license>
			<name>Apache-2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>Kotlin Team</name>
			<organization>JetBrains</organization>
			<organizationUrl>https://www.jetbrains.com</organizationUrl>
		</developer>
	</developers>
	<scm>
		<connection>scm:git:https://github.com/JetBrains/kotlin.git</connection>
		<developerConnection>scm:git:https://github.com/JetBrains/kotlin.git</developerConnection>
		<url>https://github.com/JetBrains/kotlin</url>
	</scm>
	<dependencies>
		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-serialization</artifactId>
			<version>2.4.0</version>
		</dependency>
	</dependencies>
</project>

I would assume this is not an issue on Jetbrains side, since this used to work and older POMs also do not contain these information.

Was there some behavior changed for the plugins.gradle.org Maven repository?

Hello,

POM files under the plugin marker coordinates (<pluginId>:<pluginId>.gradle.plugin:<version> have been historically generated by the Gradle Plugin Portal and are currently not part of the publishing to it.

We have a longstanding issue to resolve this: Gradle should allow pom.xml customization for Gradle Plugin Portal artifacts · Issue #212 · gradle/plugin-portal-requests · GitHub

We have not been able to get to it and it would need to be done in a compatible way with existing plugins, future ones using the current system and whatever the new system would end up being.