diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 999028f8..68ff57e7 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -6,6 +6,9 @@ updates:
- "/processor"
schedule:
interval: "weekly"
+ labels:
+ - "dependencies"
+ - "java"
groups:
# Group all library dependencies together (excluding plugins)
dependencies:
diff --git a/.github/release.yml b/.github/release.yml
new file mode 100644
index 00000000..7a8a287f
--- /dev/null
+++ b/.github/release.yml
@@ -0,0 +1,59 @@
+changelog:
+ exclude:
+ labels:
+ - ignore-for-release
+ - pipeline
+ authors:
+ # Exclude bots from being mentioned as contributors
+ - dependabot
+ - dependabot[bot]
+
+ categories:
+ - title: 🚀 Features
+ labels:
+ - enhancement
+
+ - title: 🐛 Bug Fixes
+ labels:
+ - bug
+
+ - title: 📚 Documentation
+ labels:
+ - documentation
+
+ - title: 🔧 Maintenance
+ labels:
+ - maintenance
+ - refactor
+
+ - title: Other Changes
+ labels:
+ - "*"
+
+footer: |
+ ---
+
+ ## 📦 Maven Central
+
+ This release is available on Maven Central:
+
+ **Core Module:**
+ ```xml
+
+ io.github.java-helpers
+ simple-builders-core
+ $RESOLVED_VERSION
+
+ ```
+ 🔗 [View on Maven Central](https://central.sonatype.com/artifact/io.github.java-helpers/simple-builders-core/$RESOLVED_VERSION)
+
+ **Processor Module:**
+ ```xml
+
+ io.github.java-helpers
+ simple-builders-processor
+ $RESOLVED_VERSION
+ provided
+
+ ```
+ 🔗 [View on Maven Central](https://central.sonatype.com/artifact/io.github.java-helpers/simple-builders-processor/$RESOLVED_VERSION)
diff --git a/.github/workflows/maven-central-release.yml b/.github/workflows/maven-central-release.yml
index 1d60e598..83285e49 100644
--- a/.github/workflows/maven-central-release.yml
+++ b/.github/workflows/maven-central-release.yml
@@ -133,10 +133,28 @@ jobs:
PRERELEASE_FLAG="--prerelease"
fi
- # Create draft release with auto-generated notes
+ # Generate release notes and replace version placeholder
+ gh api repos/java-helpers/simple-builders/releases/generate-notes \
+ -f tag_name="v$VERSION" \
+ -f target_commitish="main" \
+ --jq '.body' > release_notes.md
+
+ # Replace version placeholder in generated notes
+ sed -i "s/\$RESOLVED_VERSION/$VERSION/g" release_notes.md
+
+ # Create draft release with custom notes and attach artifacts
gh release create "v$VERSION" \
--title "Release $VERSION" \
--draft \
- --generate-notes \
- $PRERELEASE_FLAG
+ --notes-file release_notes.md \
+ $PRERELEASE_FLAG \
+ core/target/simple-builders-core-${VERSION}.jar \
+ core/target/simple-builders-core-${VERSION}-sources.jar \
+ core/target/simple-builders-core-${VERSION}-javadoc.jar \
+ processor/target/simple-builders-processor-${VERSION}.jar \
+ processor/target/simple-builders-processor-${VERSION}-sources.jar \
+ processor/target/simple-builders-processor-${VERSION}-javadoc.jar
+
+ # Clean up
+ rm -f release_notes.md
fi