Plugins anwenden und veröffentlichen
Lernen Sie, benutzerdefinierte Plugins auf Projekte anzuwenden und sie in einem lokalen oder entfernten Repository zu veröffentlichen.
Plugins anwenden und veröffentlichen ist eine kostenlose Groovy & Gradle: JVM Automation and Build Engineering-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Groovy & Gradle: JVM Automation and Build Engineering-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Groovy & Gradle: JVM Automation and Build Engineering-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Reusing Your Gradle Plugins
So you've learned to create custom Gradle plugins. Great! But how do you actually use them in different projects, and how can you share them with others?
This lesson explores how to apply your custom plugins to a Gradle project and how to publish them to a local or remote repository for wider use.
Plugin Application Review
Before diving into custom plugins, let's quickly recall how you apply standard plugins.
- Most plugins are applied using the
plugins { id 'plugin-id' }block in yourbuild.gradlefile. - This method is preferred for its declarative nature and better tooling support.
- It works for plugins from Gradle Plugin Portal, local
buildSrcplugins, and published plugins.
Applying Script Plugins
You can define build logic directly within your build.gradle or include it from another script. This is the simplest form of reusing logic.
Below, a custom task myCustomTask is defined. It's available to your build script just like any other task.
task myCustomTask {
doLast {
println "Hello from my custom task!"
}
}
task executeMyTask {
dependsOn myCustomTask
doLast {
println "Main build script finished after custom task."
}
}
// To run: gradle executeMyTaskPlugins from buildSrc
For more complex, project-specific plugins, Gradle automatically compiles and makes available any plugins defined in the buildSrc directory.
If you create a plugin in buildSrc/src/main/groovy/com/example/MyPlugin.groovy, it can be applied directly by its ID:
- Define plugin:
buildSrc/src/main/groovy/my.project.plugin.gradle - Apply plugin:
plugins { id 'my.project.plugin' }
Gradle ensures buildSrc is built before your main project, making its plugins ready for use.
Why Publish Plugins?
While buildSrc is great for single-project or monorepo plugins, what if you want to share your plugin across completely separate projects, or even with the community?
This is where publishing comes in. Publishing makes your plugin available in a repository, just like any other library you use (e.g., from Maven Central).
- Local: Share within your machine for personal use.
- Remote: Share within your organization (Artifactory, Nexus) or globally (Gradle Plugin Portal, Maven Central).
Publishing with maven-publish
Gradle's maven-publish plugin is the standard way to publish your plugin artifacts to Maven-compatible repositories.
By applying this plugin, you gain access to a publishing block in your build.gradle, where you'll define the details of what gets published and how.
It also introduces tasks like publishToMavenLocal and publish.
plugins {
id 'java-library' // Or 'groovy' for Groovy plugins
id 'maven-publish'
}
group = 'com.coddykit.example'
version = '1.0.0'
// Applying maven-publish plugin
// This is part of setting up for publication.
// No direct output from this snippet alone.Defining Publication Details
Inside the publishing block, you configure the details of your artifact: its name, what components to include (like JARs), and where it should go.
A "publication" defines a set of artifacts and their metadata (group, artifact ID, version).
plugins {
id 'java-library'
id 'maven-publish'
}
group = 'com.coddykit.example'
version = '1.0.0'
publishing {
publications {
maven(MavenPublication) {
// The artifact ID is usually derived from project name,
// but can be explicitly set.
artifactId 'my-groovy-plugin'
from components.java // Publish the Java library component
}
}
}
// This defines how the plugin will be published.
// No direct output from this snippet alone.Publishing to Maven Local
After configuring your publication, you can publish your plugin to your local Maven repository. This is great for local testing and development.
Gradle provides a task for each publication you define (e.g., publishMavenPublicationToMavenLocal if your publication is named maven).
plugins {
id 'java-library'
id 'maven-publish'
}
group = 'com.coddykit.example'
version = '1.0.0'
publishing {
publications {
maven(MavenPublication) { // 'maven' is the publication name
artifactId 'my-groovy-plugin'
from components.java
}
}
repositories {
mavenLocal() // Explicitly declare mavenLocal for publishing
}
}
// To publish: gradle publishMavenPublicationToMavenLocal
// This command will build your plugin and place its artifacts
// into your local Maven cache (~/.m2/repository).Applying a Published Plugin
To use a plugin you've published to mavenLocal() in another project, you need two things:
- Declare
mavenLocal(): AddmavenLocal()to thepluginManagement.repositoriesblock in your consuming project'ssettings.gradle. - Apply by ID and Version: Use the
plugins { id '...' version '...' }block in your consuming project'sbuild.gradle.
This tells Gradle to look for the plugin in your local Maven repository.
// settings.gradle (consuming project)
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
}
}
// build.gradle (consuming project)
plugins {
id 'com.coddykit.example.my-groovy-plugin' version '1.0.0'
// Replace 'com.coddykit.example.my-groovy-plugin' with your plugin's actual ID
}
// This code snippet shows how to apply a published plugin.
// It assumes the plugin has been published and is available locally.Publishing Remotely
To share your plugin beyond your local machine, you publish it to a remote repository. This could be:
- Company Artifactory/Nexus: For internal team use.
- Gradle Plugin Portal: For public plugins, requiring the
com.gradle.plugin-publishplugin. - Maven Central: The largest public repository.
The configuration in the publishing.repositories block specifies the URL and credentials for these remote destinations.
plugins {
id 'maven-publish'
// id 'com.gradle.plugin-publish' // For Gradle Plugin Portal
}
publishing {
publications {
maven(MavenPublication) { /* ... */ }
}
repositories {
maven {
name = "myCompanyRepo"
url = uri("https://your.company.repo/releases")
credentials {
username = project.properties.get("repoUsername")
password = project.properties.get("repoPassword")
}
}
}
}
// This snippet shows how to define a remote repository.
// Credentials should be managed securely, not hardcoded.Plugin Application Check
Time to test your understanding of applying and publishing plugins.
Recap: Apply & Publish
You've learned how to make your custom Gradle plugins truly reusable!
- You can apply simple script plugins using
apply from:. - Plugins in
buildSrcare automatically available by ID. - The
maven-publishplugin allows you to define and publish your plugin artifacts. - Publishing to
mavenLocal()is great for local testing. - To use a published plugin, configure
mavenLocal()insettings.gradleand apply it by ID and version. - Remote repositories enable sharing plugins across teams or publicly.
Now you can build powerful, shareable build logic!
Lerne Groovy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 12
- Lektionen
- 48
Häufig gestellte Fragen
Ist die Lektion „Plugins anwenden und veröffentlichen“ kostenlos?
Ja — der vollständige Text von „Plugins anwenden und veröffentlichen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Groovy & Gradle: JVM Automation and Build Engineering-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Groovy & Gradle: JVM Automation and Build Engineering-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Plugins anwenden und veröffentlichen“?
Lernen Sie, benutzerdefinierte Plugins auf Projekte anzuwenden und sie in einem lokalen oder entfernten Repository zu veröffentlichen. Du übst Groovy & Gradle: JVM Automation and Build Engineering mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Groovy & Gradle: JVM Automation and Build Engineering zu starten?
Keine Vorkenntnisse erforderlich. Groovy & Gradle: JVM Automation and Build Engineering auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Plugins anwenden und veröffentlichen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Groovy & Gradle: JVM Automation and Build Engineering-Lektion Code schreiben und ausführen?
Ja. Jede Groovy & Gradle: JVM Automation and Build Engineering-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Gradle-Plugins verstehen
- Binär-Plugins entwickeln
- Plugins anwenden und veröffentlichen
- Plugin-Erweiterungen und konfigurierbare DSLs