Skip to content

Releases: clojang/gradldromus

Release v0.3.28

27 Jul 04:20
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.27:

  • Added new make targets. (33872e1)
  • Bump version to 0.3.28 and refactor logging in CleanTerminalPrinter to use java.util.logging (1c418ec)

Artifacts

  • JAR: gradldromus-0.3.28.jar
  • Sources: gradldromus-0.3.28-sources.jar
  • Javadoc: gradldromus-0.3.28-javadoc.jar

Release v0.3.27

26 Jul 19:13
Compare
Choose a tag to compare

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

26 Jul 19:06
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.25:

  • Bump version to 0.3.26 and update publication configuration in build script (41d49b6)
  • Update documentation for release v0.3.25 (ffe48da)

Artifacts

  • JAR: gradldromus-0.3.26.jar
  • Sources: gradldromus-0.3.26-sources.jar
  • Javadoc: gradldromus-0.3.26-javadoc.jar

Release v0.3.25

26 Jul 18:56
Compare
Choose a tag to compare

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

26 Jul 18:47
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.23:

  • Bump version to 0.3.24 and enhance GPG key import process in release workflow (d4628eb)
  • Update documentation for release v0.3.23 (5c78755)

Artifacts

  • JAR: gradldromus-0.3.24.jar
  • Sources: gradldromus-0.3.24-sources.jar
  • Javadoc: gradldromus-0.3.24-javadoc.jar

Release v0.3.23

26 Jul 18:37
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.22:

  • Bump version to 0.3.23 and update signing configuration for GPG key integration (84914cb)
  • Update documentation for release v0.3.22 (b80a582)

Artifacts

  • JAR: gradldromus-0.3.23.jar
  • Sources: gradldromus-0.3.23-sources.jar
  • Javadoc: gradldromus-0.3.23-javadoc.jar

Release v0.3.22

26 Jul 17:51
Compare
Choose a tag to compare

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

Release v0.3.21

26 Jul 17:23
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.20:

  • Bump version to 0.3.21 and update release workflow for NVD API key integration (6d5516c)
  • Update documentation for release v0.3.20 (b05d904)

Artifacts

  • JAR: gradldromus-0.3.21.jar
  • Sources: gradldromus-0.3.21-sources.jar
  • Javadoc: gradldromus-0.3.21-javadoc.jar

Release v0.3.20

26 Jul 10:46
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.19:

  • Bump version to 0.3.20 and update repository name in release workflow (251c4d7)
  • Update documentation for release v0.3.19 (67cacf0)

Artifacts

  • JAR: gradldromus-0.3.20.jar
  • Sources: gradldromus-0.3.20-sources.jar
  • Javadoc: gradldromus-0.3.20-javadoc.jar

Release v0.3.19

26 Jul 10:30
Compare
Choose a tag to compare

What's Changed

Commits since v0.3.18:

  • Bump version to 0.3.19 and update publishing configuration for plugin publication (f54e8a1)
  • Update documentation for release v0.3.18 (4713e9f)

Artifacts

  • JAR: gradldromus-0.3.19.jar
  • Sources: gradldromus-0.3.19-sources.jar
  • Javadoc: gradldromus-0.3.19-javadoc.jar