Add JBang-based Maven release automation script #2473
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces a comprehensive 2-click release automation solution for Apache Maven using JBang, designed specifically for Java developers.
Features
Complete Release Workflow
start-vote
→publish
(orcancel
if needed)Commands
setup
: One-time environment validation and configurationstart-vote <version>
: Prepare and stage release, generate vote email (Click 1)publish <version>
: Publish release after successful vote (Click 2)cancel <version>
: Cancel release and clean up all staging artifactshelp
: Built-in command documentationTechnical Implementation
Benefits for Maven Developers
Usage
Environment Variables
Required:
APACHE_USERNAME
: Apache LDAP usernameGPG_KEY_ID
: GPG key ID for signingOptional (for email automation):
GMAIL_USERNAME
: Gmail addressGMAIL_APP_PASSWORD
: Gmail app passwordSecurity
Files Added
src/scripts/Release.java
- Complete JBang release automation scriptsrc/scripts/README.md
- Comprehensive documentationTesting
The script has been tested with:
Future Enhancements
Note: This is a draft PR for review and feedback. The script provides a modern, maintainable alternative to shell-based release automation that's more familiar to Maven developers.
Pull Request opened by Augment Code with guidance from the PR author