salesforce / salesforce/rules_spring

Implement spring-boot-devtools support

Open
#116 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The devtools feature of Spring Boot is intended to speed up development. Details:

This will take some investigation, but I believe we need to do the following:

  • when building the jar/war packages, we need to exclude devtools by default for security reasons (don't want them in production)
  • have an attribute to include devtools for jar/war (see excludeDevtools property in Maven)
  • have a devtools variant of bazel run that uses the exploded form of the Spring Boot launcher
    • this is key, because devtools does not work when launched from jar, which is how we launch today
  • wire up all the locations that Bazel puts compiled resources into the devtools launcher

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 by reading the linked Spring Boot devtools documentation and the repository's existing Bazel rules for jar/war packaging and the current Bazel run path. Identify how compiled resources are placed and how the Spring Boot launcher is invoked. Done means devtools is excluded from packages by default, can be explicitly included, and a devtools run variant uses the exploded launcher with all compiled resource locations wired in.

Written by the indexing model from the issue text.

Assessment

Tech stack
spring-boot
Domain
backend, build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.