-
Notifications
You must be signed in to change notification settings - Fork 7
indra publishing gradle plugin
Indra's gradle plugin publishing plugin extends the configuration performed by the standard publishing plugin to be applicable for the unique needs of Gradle plugin publication.
In addition to the standard indra extension applicable to every publication type, this plugin adds the indraPluginPublishing
to allow declaring Gradle plugins in one place for both the built-in plugin descriptor generation and the plugin portal publishing features.
Method | Description |
---|---|
plugin(relativeId, mainClass, displayName[, description[, tags]]) |
Declare a plugin that should have a plugin marker published |
pluginIdBase(base) |
Set the base that the relativeId in plugin IDs should be appended to. Defaults to the project group. |
website(url) |
Provide a website to display next to every plugin in this project. |
bundleTags(tags...) |
Tags to apply to this project's overall plugin bundle. These can be overridden per-plugin as well. |
When publishing to the Gradle Plugin Portal via GitHub Actions, the use of .
s in the (un-changeable) gradle properties used by default means that it is difficult to put the API keys in secrets. To resolve this, the plugin publishing plugin will copy values from these camel-case properties to the dotted properties understood by the plugin portal plugin:
indra-provided property | is equivalent to |
---|---|
pluginPortalApiKey |
gradle.publish.key |
pluginPortalApiSecret |
gradle.publish.secret |
Of course, if these camel-case properties are not set, the original properties will be preserved.