salesforce / salesforce/rules_spring

Publish public doc for Spring Boot 3 upgrade of a rules_spring service (e.g. OpenRewrite)

Open
#230 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

boot3 enhancement
Dominant language
Starlark
Stars
257
Forks
58
PR merge metrics
No merged PRs in 30d

Description

We have 100+ rules_spring.springboot() usages inside a Bazel monorepo internally. We have developed tooling for helping with the Boot2 -> Boot3 upgrade.

There are almost always manual fixes to do after the tooling runs, but it can solve most of the upgrade. We rely on a combination of:

  • Docs with a lot of details
  • OpenRewrite procedure (requires generating a pom.xml using pomgen)
  • Various caveman bash scripts that invoke sed a lot

90% of this is not specific to Salesforce. We should provide this to other victims build teams.

Existing docs:

boot_launcher_class attribute change
The top level README explains the boot launcher change necessary.

Javax -> Jakarta package changes
We already have a focused javax->jakarta doc, but there is a lot more to this.

Contributor guide

No contributing guide indexed for this repository

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 with the top-level README and springboot/javax.md, then review the linked OpenRewrite Spring Boot 3 procedure and pomgen requirements. Document the generally applicable Boot 2-to-3 workflow, including the tooling and manual follow-up fixes, and make clear which existing guidance is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
build-system, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.