Releases: clojang/gradldromus
Release v0.3.28
Release v0.3.27
GradlDromus v0.3.27 Release Summary
This diff shows version 0.3.27 of the GradlDromus plugin, representing a significant infrastructure modernization focused on improving the Maven Central publishing workflow and code quality.
Key Changes
Publishing Infrastructure Overhaul
Simplified Release Workflow:
- Removed complex Maven-based workflow - Eliminated the multi-stage
setup-and-generate-pom
job that was causing build complexity - Pure Gradle approach - All build, test, and publishing operations now use Gradle exclusively
- Streamlined job dependencies - Reduced workflow complexity by removing intermediate artifact uploads/downloads
Maven Central Publishing Improvements:
- Updated Sonatype endpoints - Migrated from legacy OSSRH to modern staging API (
https://ossrh-staging-api.central.sonatype.com
) - Enhanced GPG signing - Improved GPG key handling with better error reporting and validation
- Robust credential management - Unified environment variable naming (
MAVEN_CENTRAL_USERNAME
,MAVEN_CENTRAL_TOKEN
) - Automatic publication configuration - Leverages Gradle's plugin publication system instead of manual Maven publication creation
Code Quality & Documentation
Enhanced Javadoc Coverage:
- Added comprehensive JavaDoc comments to all public classes and methods
- Documented parameters, return values, and class purposes
- Improved API documentation for plugin consumers
Better Error Handling:
- Enhanced GPG signing verification with detailed error messages
- Improved signing configuration validation
- More informative logging during CI/CD processes
Build System Modernization
Gradle Configuration Updates:
- Plugin publication integration - Uses
afterEvaluate
to configure auto-generated plugin publications - Conditional signing - Signing only occurs when all GPG credentials are available
- Updated Nexus URLs - Modern Sonatype Central endpoints for better reliability
- Improved credential management - Supports both environment variables and project properties
GitHub Actions Improvements:
- Consolidated workflow steps - Eliminated redundant artifact handling
- Better version management - Centralized version extraction and updating
- Enhanced GPG setup - More robust GPG key import and configuration
- Improved error reporting - Better debugging information for CI failures
Technical Improvements
Publishing Configuration
// Before: Manual Maven publication
publications {
create<MavenPublication>("maven") { ... }
}
// After: Automatic plugin publication configuration
afterEvaluate {
publishing {
publications {
withType<MavenPublication> { ... }
}
}
}
GPG Signing Enhancements
- Agent-based signing - Uses
useGpgCmd()
instead of in-memory keys for better CI compatibility - Validation checks - Verifies GPG key availability before attempting to sign
- Conditional execution - Signing tasks only run when credentials are properly configured
Workflow Simplification
- Removed Maven dependencies - Eliminated Maven cache management and POM generation steps
- Direct Gradle execution - All operations use
./gradlew
commands - Unified environment - Single set of environment variables across all jobs
Breaking Changes
Publishing Configuration:
- Environment variable names standardized (
MAVEN_CENTRAL_*
prefix) - GPG signing approach changed from in-memory to agent-based
- Sonatype URLs updated to new endpoints
Build Process:
- Maven-based intermediate steps removed
- All artifacts now generated directly by Gradle
- Version updates target
build.gradle.kts
instead of separate Gradle files
Benefits
For Maintainers
- Simplified CI/CD - Fewer moving parts and failure points
- Better debugging - More detailed logging and error reporting
- Consistent tooling - Single build system (Gradle) throughout
- Reduced complexity - Eliminated Maven/Gradle hybrid approach
For Users
- More reliable releases - Improved publishing pipeline stability
- Better documentation - Enhanced JavaDoc coverage
- Consistent artifacts - Direct Gradle-generated JARs and publications
For Contributors
- Clearer code - Comprehensive documentation and comments
- Easier setup - Simplified build requirements
- Better tooling - Modern Gradle practices and configurations
Migration Notes
This version represents a maturation of the plugin's infrastructure without changing user-facing functionality. The core plugin behavior remains the same, but the development and release process is significantly more robust and maintainable.
Users upgrading from previous versions should experience no breaking changes in plugin functionality, while maintainers benefit from a much cleaner and more reliable build pipeline.
Full Changelog: v0.3.0...v0.3.27
Release v0.3.26
Release v0.3.25
What's Changed
Commits since v0.3.24:
- Bump version to 0.3.25 and enhance GPG signing configuration for CI environments (fdfaac8)
- Enhance documentation with detailed Javadoc comments for ANSI color utility and terminal output classes (7f1990a)
- Update documentation for release v0.3.24 (a173b0f)
Artifacts
- JAR:
gradldromus-0.3.25.jar
- Sources:
gradldromus-0.3.25-sources.jar
- Javadoc:
gradldromus-0.3.25-javadoc.jar
Release v0.3.24
Release v0.3.23
Release v0.3.22
What's Changed
Commits since v0.3.21:
- Bump version to 0.3.22 and update Nexus publishing configuration for OSSRH Staging API compatibility (7ab8ec7)
- Update documentation for release v0.3.21 (71c3d49)
Artifacts
- JAR:
gradldromus-0.3.22.jar
- Sources:
gradldromus-0.3.22-sources.jar
- Javadoc:
gradldromus-0.3.22-javadoc.jar