# Simplifying the Plugin-Publish Plugin

DevFeed: [Simplifying the Plugin-Publish Plugin](<https://devfeed.tech/articles/simplifying-the-plugin-publish-plugin-24692.md>)

Original publisher: [Read original article](<https://blog.gradle.org/simplifying-the-plugin-publish-plugin>)

Author: Jozsef Bartok

Published: 2022-07-18T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Development](<https://devfeed.tech/topics/development.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Publishing](<https://devfeed.tech/topics/publishing.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [plugin-development](<https://devfeed.tech/tags/plugin-development.md>), [publication](<https://devfeed.tech/tags/publication.md>)

## AI overview

Gradle Plugin-Publish plugin version 1.0.0 simplifies publishing Gradle plugins by enforcing stronger conventions, reducing duplicate configuration, and clarifying how it integrates with signing and shadowing plugins.

## Source excerpt

Configuring the publication of Gradle plugins to the Portal happens with the help of the Plugin-Publish plugin. The recently released version 1.0.0 of the plugin significantly improves the process by having stronger opinions and a more straightforward configuration. Stronger Conventions Gradle plugin development has a long history and has gradually evolved to use helper plugins to aid you with setting up your plugin project. The most important ones: Gradle Plugin Development plugin (java-gradle-plugin) Maven Publish plugin (maven-publish) The Plugin-Publish plugin shares this long history, and it ended up supporting all the various combinations of helper plugins. This results in too many ways of publishing plugins, and too many configuration options, with some having hard-to-understand semantics depending on the exact setup. For example, publication metadata can be generated via the maven-publish plugin or in other, ad-hoc ways. Depending on this, both plugin and marker GAV coordinates can vary, with surprising effects. Version 1.0.0 of the Plugin-Publish plugin addresses these issues by tightening and enforcing the conventions. The main helper plugins are always auto-applied: maven-publish is always used for generating the publication metadata (Maven POM & Gradle Module Metadata). java-gradle-plugin is always applied and used as a base for plugin definitions; as a consequence, the gradlePlugin block is now mandatory and the pluginBundle block has been trimmed down to remove all duplication. Unambiguous configuration When configuring the publication of plugins, each property of the end result should have a single way of being specified. To ensure that's the case, version 1.0.0 of the Plugin-Publish plugin is removing the pluginBundle.plugins block, as it was duplicating gradlePlugin.plugins. Unfortunately, the duplication is not (yet) perfect, so the pluginBundle.pluginTags map needs to be added to be able to define different tags for plugins published together. The