devondragon / devondragon/SpringUserFramework

Track spring-retry version via BOM instead of pinning in consumer builds

Open
#312 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
191
Forks
44
Avg merge
3h 54m
Merged PRs (30d)
8

Description

Background

PR #311 pinned spring-retry:2.0.12 in the README's required-deps list because Spring Boot's BOM doesn't always manage spring-retry for consumers. This works but has a downside: when Spring Boot eventually starts managing spring-retry in its BOM, consumers with the explicit pin may end up with a version drift or redundant constraint.

Goal

Publish a Gradle platform BOM (or at minimum document a BOM-based approach) so consumers can rely on dependency management rather than explicit version pins for spring-retry.

Options to consider

  1. Publish a ds-spring-user-framework-bom Maven BOM / Gradle platform that declares managed dependency versions.
  2. Use api (instead of compileOnly) for spring-retry so it's transitively available to consumers — though this conflicts with the library's "starters as compileOnly" philosophy.
  3. Wait until Spring Boot's BOM manages spring-retry and remove the pin from the README at that point.

Priority

Low — the explicit version pin in the README is a working solution. This is a clean-up / DX improvement for a future release.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the README's required-deps list and PR #311, then inspect how dependency versions are currently exposed to consumers. Compare publishing a ds-spring-user-framework-bom or Gradle platform with the api and documentation alternatives. Done means one chosen approach is implemented or documented, with the explicit spring-retry pin handled consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring, spring-boot
Domain
build-system, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.