release: bump to v2.1.0 and aggregate javadoc for dtmf-io modules#7
Merged
Conversation
Prepare the 2.1.0 release that first ships the dtmf-io layer to Maven consumers. The modules themselves merged in #6; this commit bumps the coordinate every published artifact stamps itself with, pins the BOM to match, and teaches the Pages workflow about the three new modules. Version bump (all inherit via root `allprojects`): - build.gradle.kts: version = "2.1.0" - goertzel, dtmf-core, dtmf-io, dtmf-io-wav, dtmf-io-mp3 all now publish as com.tino1b2be:<name>:2.1.0. BOM alignment (dtmf-bom/build.gradle.kts): - All five api() constraints bumped to 2.1.0 so com.tino1b2be:dtmf-bom:2.1.0 pins the new artifacts. Verified via `./gradlew publishToMavenLocal` that dtmf-bom-2.1.0.pom lists all five shipping libraries at 2.1.0. aggregateJavadoc fix (build.gradle.kts): - publishedModuleNames grows from 2 entries to 5 so that `./gradlew aggregateJavadoc` — the task the GitHub Pages workflow runs on every push to master — now copies dtmf-io/, dtmf-io-wav/, and dtmf-io-mp3/ javadoc into build/javadoc-site/ alongside the existing goertzel/ and dtmf-core/ entries. Without this the Pages site would be missing 60% of the public API starting 2.1.0. - Task-comment block's example layout updated to show all five module directories under build/javadoc-site/. README.md: - Coordinate table replaces the four-module layout with five published modules (goertzel, dtmf-core, dtmf-io, dtmf-io-wav, dtmf-io-mp3) plus dtmf-bom, each at 2.1.0. - Status line updated: 2.1.0, file I/O now delivered, remaining out-of-scope items listed. - Out of scope section trims File I/O (it ships), adds codecs beyond WAV/MP3 (FLAC/OGG/Opus/AAC) and production WAV/MP3 encoding as future-spec candidates. Per-module header comments (goertzel, dtmf-core, dtmf-io, dtmf-io-wav, dtmf-io-mp3 build.gradle.kts): bump the cited 2.0.0 coordinate in the top-of-file comment to 2.1.0 so doc stays accurate. Not touched on purpose: - .kiro/specs/*/requirements.md and design.md — historical spec documents, still cite the 2.0.0 coordinate that was the contract at the time those specs were authored. - docs/requirements.md (foundation normative spec) — same reasoning, documents the 2.0 acceptance criteria. A future `v2.1` foundation spec addendum (if wanted) can supersede. Verification: - `./gradlew clean build aggregateJavadoc` — BUILD SUCCESSFUL. All five published modules produce 2.1.0 jars (main + sources + javadoc = 15 artifacts). - `./gradlew :dtmf-core:integrationTest :dtmf-io:integrationTest` — 0 failures. - `./gradlew publishToMavenLocal` — six Maven folders populated under ~/.m2/repository/com/tino1b2be/ with every BOM constraint pinned at 2.1.0. - build/javadoc-site/ aggregates all five modules with footer reading "Currently documenting version 2.1.0".
Caught by CI on the previous commit: ModuleStructureTest's `dtmfBomPinsAllFivePublishedCoordinates` passed locally from cache but failed on Ubuntu's fresh run. The test's VERSION constant was pinned to "2.0.0", so after the BOM bumped to 2.1.0 the expected/actual sets no longer intersected. Changes: - dtmf-io/src/test/java/.../ModuleStructureTest.java: VERSION constant bumped to "2.1.0"; class-level Javadoc example coordinates updated to match. - All 31 Javadoc `@since 2.0.0` tags on dtmf-io*, dtmf-io-wav, and dtmf-io-mp3 public and internal types bumped to `@since 2.1.0` so they record the first Maven release the type actually ships in, rather than the date it was authored. Not bumped: - goertzel and dtmf-core `@since 2.0.0` tags stay as-is — those types genuinely shipped in 2.0.0. - docs/requirements.md and .kiro/specs/*/ still reference 2.0.0; those are historical spec documents. Verification: `./gradlew clean build` — green locally.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v2.1.0: bump coordinates and ship dtmf-io to Maven consumers
Prep commit for the 2.1.0 release. PR #6 merged the three new modules onto master at
2.0.0coordinates; this PR bumps them to the release version they actually ship at, aligns the BOM, and fixes a Pages-workflow bug I caught during release prep:aggregateJavadocwas still only aggregatinggoertzelanddtmf-coreso the new modules' API docs would have been silently missing from tino1b2be.github.io/DTMF-Decoder.What this changes
build.gradle.kts→version = "2.1.0". Inherited viaallprojectsby all five published modules (goertzel,dtmf-core,dtmf-io,dtmf-io-wav,dtmf-io-mp3) plus the BOM.dtmf-bomconstraints bumped to2.1.0for all five shipping libraries. Verified viapublishToMavenLocalthatdtmf-bom-2.1.0.pompins every dependency correctly.aggregateJavadocfix:publishedModuleNamesin rootbuild.gradle.ktsgrows from{goertzel, dtmf-core}to the full set of five. The Pages site now includesdtmf-io/,dtmf-io-wav/, anddtmf-io-mp3/API docs.2.1.0; "Status" and "Out of scope" sections updated — file I/O is delivered in this release, with FLAC/OGG/Opus/AAC + production encoding now the out-of-scope items.2.0.0to2.1.0in all five module build scripts.What this deliberately does not change
.kiro/specs/*/requirements.mdanddesign.md— historical spec documents. The2.0.0coordinates written there were the contract at the time those specs were authored. Retrofitting would rewrite history.docs/requirements.md(foundation spec) — same reasoning. Documents v2.0 acceptance criteria.Verification
Locally before pushing:
./gradlew clean build aggregateJavadoc— BUILD SUCCESSFUL. Fifteen 2.1.0 artifacts produced (five modules × main/sources/javadoc)../gradlew :dtmf-core:integrationTest :dtmf-io:integrationTest— green../gradlew publishToMavenLocal— all six coordinates land under~/.m2/repository/com/tino1b2be/, BOM pins every dependency at2.1.0.build/javadoc-site/aggregates all five modules; footer reads "Currently documenting version 2.1.0".Release plan after merge
v2.1.0on the merge commit with a release note in the same style asv2.0.0(the existing annotated tag).Refs: PR #6 (dtmf-io modules), tag
v2.0.0(baseline release).