Skip to content

Latest commit

 

History

History
88 lines (74 loc) · 3.28 KB

File metadata and controls

88 lines (74 loc) · 3.28 KB
layout home
title javachanges
titleTemplate false
description File-based release planning, changelog generation, and CI/CD publishing workflows for Maven and Gradle repositories.
hero
name text tagline image actions
javachanges
Release planning for Java repositories
File-based changesets, generated changelogs, and CI-friendly workflows for Maven and Gradle repositories.
src alt
/logo-horizontal.svg
javachanges logo
theme text link
brand
Get Started
/getting-started
theme text link
alt
GitHub
features
title details
File-based release intent
Keep release intent in versioned `.changesets/*.md` files using an official Changesets-style package map instead of ad-hoc spreadsheets or chat messages.
title details
Maven and Gradle workflows
Plan versions from Maven `revision` or Gradle `gradle.properties`, generate changelogs, and work cleanly with monorepos and single-module repositories.
title details
Automation-ready
Integrate with GitHub Actions, GitLab CI/CD, Maven Central publishing, and environment-variable sync flows.

javachanges

javachanges is a release-planning CLI for Maven and Gradle repositories.

The workflow is intentionally simple:

  1. contributors record intended changes in .changesets/*.md
  2. CI or maintainers inspect a generated release plan
  3. the plan updates the root version and changelog
  4. CI publishes with Maven deploy or Gradle-native publishing tasks

The tool stays file-centric. It does not require a database or a hosted service.

Release flow at a glance

flowchart TD
  A[Write .changesets files] --> B[Review status and release plan]
  B --> C[Apply plan]
  C --> D[Update version and changelog]
  D --> E[Choose publish path]
  E --> F[GitHub Actions release flow]
  E --> G[Gradle or Maven publish flow]
Loading

Core ideas

  • Keep release intent in versioned files.
  • Review release plans before publishing.
  • Generate changelogs from structured Changesets-compatible metadata.
  • Avoid shell-heavy release logic where possible.

What the CLI assumes

  • a Maven repository with a root pom.xml, or a Gradle repository with gradle.properties
  • Maven <modules>, Gradle include(...) entries, or a single root artifact/project
  • a root Maven revision or Gradle version property used for versioning
  • a .changesets/ directory to store release notes-in-progress

Guides