GSoC 2025 - Maven Central publishing plugin for Gradle with new APIs#
This project aims to develop a new Gradle plugin compatible with the updated Maven Central APIs, simplifying the publishing process through Kotlin DSL extensions and automating essential tasks.
The long-term goal of the project is to provide a reliable Maven Central publishing plugin based on the latest Gradle APIs and Kotlin DSL, standardizing and simplifying publishing process across the Gradle ecosystem to help many open-source developers distribute their libraries more easily.
Team#
Contributor#
Mentors#
Organization#
Technologies#
- Java
- Kotlin
- Gradle
- Maven Central
- Kotlin DSL
Rationale#
Maven Central is a key repository for publishing JVM libraries. It is currently migrating to a new version with a different API, which existing Gradle plugins don’t fully support yet.
Developing a Gradle plugin compatible with the new Maven Central API will help library authors publish smoothly and adapt easily to the changes.
Deliverables#
-
Hierarchical POM Management (Completed 🙂) - Define POM metadata once at the root project level and automatically inherit it across all submodules. - Allow submodules to override specific properties when needed, ensuring flexibility while maintaining consistency. - Minimize repetitive configuration in multi-module projects.
-
Comprehensive POM Validation (Completed 🙂) - Validate POM files for required fields, proper formatting, and compliance with Maven Central standards before publishing. - Proactively prevent common publishing errors and ensure repository compatibility.
-
Automated Artifact Signature Presence Check (Completed 🙂) - Automatically check whether artifact signatures are present during the build process before publishing. - Detect missing signatures early to prevent deployment failures.
-
Plugin Deployment to Gradle Plugin Portal (Completed 🙂) - Provide three plugin variants: - Hierarchical POM management: For build.gradle.kts, For settings.gradle.kts - POM Validation: Validation Plugin
-
User-Friendly Installation & Documentation (Completed 🙂) - Offer detailed installation and usage guides, including a comprehensive README and demo video.
-
Community-Driven Expansion Plans (Planned 🤔) - Plan for additional validation rules, enhanced integration with popular Gradle plugins, and expanded customization options. - Continuously improve the plugin based on community feedback.
-
Open-Source Contribution (Planned 🤔) - Welcome contributions in various forms, including bug reports, feature requests, documentation improvements, and code contributions. - Encourage participation through the GitHub repository.
What's Next#
Community interest and engagement are essential for the long-term success of this project. To achieve this, the plugin should be promoted in various places to actively attract users and contributors.
- Writing Blog Posts: Create blog posts demonstrating how to perform validation before deployment using plugins, helping to highlight their value.
- Promoting on Social Media: Share and promote the plugin on Gradle’s Slack channel as well as other developer communities.
Links#
- Project: GSoC maven-central-publishing-plugin-for-gradle-with-new-apis
- Repository : https://github.com/YongGoose/Maven-Central-utility-plugins-for-Gradle
- Discussion Channel: maven-central on the Gradle Community Slack
- Demo video : GSoC 2025 - Yongjun - Maven Central Publishing