From 679c4dbd3c5b7f77e361760f802e1a0febcaa7d3 Mon Sep 17 00:00:00 2001 From: Iwan Eising Date: Mon, 17 Aug 2026 23:02:03 +0400 Subject: [PATCH] fix(hexagonal-spring-rules): give module its own semantic-release tag namespace hexagonal-spring-rules had no explicit tagFormat, so it fell back to semantic-release's default "v${version}" - the same format sedr-library uses explicitly. Both projects tagged releases into the same namespace, interleaving their version counters (e.g. v0.4.0/v0.4.1 from hexagonal-spring-rules, v0.4.2-v0.4.7 from sedr-library continuing that same counter, v0.5.0 back to hexagonal-spring-rules). Scopes hexagonal-spring-rules to "hexagonal-spring-rules-v${version}", matching the convention already used by api-detector-core and geo-tracker-lens-pack. Also fixes build.gradle's local-dev version resolver, which searched GitHub releases for tag prefixes ("architecture-validator-hexagonal-spring-rules-v" / "spring-rules-v") that never actually matched any tag being created. A hexagonal-spring-rules-v0.5.0 tag is seeded on the commit that was the last real release under the old shared scheme, so numbering continues from there instead of restarting at 0.0.1. Co-Authored-By: Claude Sonnet 5 --- hexagonal-spring-rules/build.gradle | 5 ++--- hexagonal-spring-rules/release.config.js | 8 ++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/hexagonal-spring-rules/build.gradle b/hexagonal-spring-rules/build.gradle index 0a75663..203c990 100644 --- a/hexagonal-spring-rules/build.gradle +++ b/hexagonal-spring-rules/build.gradle @@ -37,14 +37,13 @@ def resolveVersion = { def proc = cmd.execute() proc.waitForOrKill(10_000) def tag = proc.text.readLines() - .findAll { it.startsWith('architecture-validator-hexagonal-spring-rules-v') || it.startsWith('spring-rules-v') } + .findAll { it.startsWith('hexagonal-spring-rules-v') } .sort() .last() if (tag) { def v = tag - .replaceFirst(/^architecture-validator-hexagonal-spring-rules-v/, '') - .replaceFirst(/^spring-rules-v/, '') + .replaceFirst(/^hexagonal-spring-rules-v/, '') logger.lifecycle('[hexagonal-spring-rules] version from GitHub release: ' + v) return v } diff --git a/hexagonal-spring-rules/release.config.js b/hexagonal-spring-rules/release.config.js index 6c8cfdb..285d71d 100644 --- a/hexagonal-spring-rules/release.config.js +++ b/hexagonal-spring-rules/release.config.js @@ -4,6 +4,14 @@ module.exports = { branches: ["main"], + // Scoped to this module's own tag namespace so its version history is independent of the + // other modules in this repo. Previously this had no explicit tagFormat, which meant it fell + // back to semantic-release's default "v${version}" - the same format sedr-library used + // explicitly, so the two projects' tags collided and their version counters became + // interleaved. A "hexagonal-spring-rules-v0.5.0" tag is seeded on the commit that was the + // last real release under the old shared scheme, so numbering continues from there instead + // of restarting. + tagFormat: "hexagonal-spring-rules-v${version}", plugins: [ ["@semantic-release/commit-analyzer", { preset: 'angular',