@@ -83,9 +83,12 @@ The generation process:
8383
8484** Protected files:** These files are protected from regeneration via ` .openapi-generator-ignore ` :
8585- ` build.gradle ` - Custom Gradle configuration
86+ - ` pom.xml ` - Custom Maven configuration
8687- ` LICENSE ` - MIT license
8788- ` README.md ` - User-friendly documentation
8889- ` CLAUDE.md ` - This file
90+ - ` PUBLISHING.md ` - Publishing documentation
91+ - ` CHANGELOG.md ` - Version history
8992- ` .github/dependabot.yml ` - Dependency management
9093
9194## Architecture
@@ -159,15 +162,61 @@ GitHub Actions workflows:
159162- ** maven.yml** - Maven-based build pipeline
160163- ** publish.yml** - Publishes artifacts to Maven Central and GitHub Packages (triggered on releases)
161164
162- ## Publishing
165+ ## Publishing & Releases
163166
164167See [ PUBLISHING.md] ( PUBLISHING.md ) for detailed instructions on publishing releases to Maven Central and GitHub Packages.
165168
166- Quick overview:
167- 1 . Update version: ` make bump-patch ` (or bump-minor/bump-major)
168- 2 . Push tag: ` make push-tag `
169- 3 . Create GitHub release: ` gh release create v0.0.2 `
170- 4 . Workflow automatically publishes to both registries
169+ ### Release Process
170+
171+ The release process uses Makefile targets to automate version bumping and tagging:
172+
173+ ``` bash
174+ # Check current version
175+ make version
176+
177+ # Bump version (updates pom.xml and build.gradle, creates tag)
178+ make bump-patch # 0.0.1 -> 0.0.2
179+ make bump-minor # 0.0.1 -> 0.1.0
180+ make bump-major # 0.0.1 -> 1.0.0
181+
182+ # Push the tag to trigger release workflow
183+ make push-tag
184+
185+ # Create GitHub release (triggers publish.yml workflow)
186+ gh release create v0.0.2 --title " Release 0.0.2" --notes " Release notes here"
187+ ```
188+
189+ ** Automated workflow:**
190+ 1 . ` make bump-patch ` (or minor/major) - Updates version in both pom.xml and build.gradle, commits, and creates tag
191+ 2 . ` make push-tag ` - Pushes the tag to GitHub
192+ 3 . ` gh release create ` - Creates GitHub release which automatically triggers the publish workflow
193+ 4 . The workflow publishes to both Maven Central and GitHub Packages
194+
195+ ** One-command releases:**
196+ ``` bash
197+ # These combine bump + push-tag
198+ make release-patch # Bump patch and push tag
199+ make release-minor # Bump minor and push tag
200+ make release-major # Bump major and push tag
201+
202+ # Then create the GitHub release
203+ gh release create v0.0.2
204+ ```
205+
206+ ** What happens during publish:**
207+ - Runs all tests
208+ - Signs artifacts with GPG
209+ - Deploys to Maven Central Portal (auto-publishes)
210+ - Deploys to GitHub Packages
211+ - Available in Maven Central within 30 minutes
212+
213+ ### Version Management
214+
215+ Version is tracked in two files (automatically updated by Makefile):
216+ - ` pom.xml ` - Line 7: ` <version>0.0.1</version> `
217+ - ` build.gradle ` - Line 7: ` version = '0.0.1' `
218+
219+ Git tags follow semver format: ` v0.0.1 ` , ` v0.1.0 ` , ` v1.0.0 `
171220
172221## Important Notes
173222
0 commit comments