Skip to content

Deduplicate fbuild settings/locations logic and fix cmake cache keying (WP4) - #20

Closed
devin-ai-integration[bot] wants to merge 1 commit into
devin/wp3-help-text-hygienefrom
devin/wp4-fbuild-dedup
Closed

devin-ai-integration[bot] wants to merge 1 commit into
devin/wp3-help-text-hygienefrom
devin/wp4-fbuild-dedup

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 21, 2026 •

Copy link
Copy Markdown
Related Issue(s)
Has Unit Tests (y/n) y
Documentation Included (y/n) n

Change Description

  • builder.py: get_cmake_args()'s needed-settings list derived from Build.CACHE_SETTING_MAP (was a byte-identical duplicate minus PROJECT_SOURCE_DIR); private join/split helper pair for the FPRIME_LIBRARY_LOCATIONS ;-separated form (join at get_cmake_args, splits at _load_settings_from_cache and cmake.get_include_locations); one _read_locations_file helper replacing the near-identical _load_build_cache_locations/_load_source_locations bodies.
  • cmake.py _read_cache: memo now keyed by resolved build_dir and invalidated per-dir in both cmake_refresh_cache branches — previously the memo was returned regardless of which build dir produced it (real bug when one process touches normal + UT caches).

Rationale

Single source of truth for three verified duplications; fixes the latent cross-build-dir cache bug (WP4 of 9, stacked on #19). Emitted cmake args and exception messages unchanged.

Testing/Review Recommendations

New two-dir cache test in test_cmake.py proves per-dir caching. Suite: 161 passed; black clean. The fpp/common.py locs-file split intentionally stays (moves with fpp in WP8).

Future Work

WP5–WP9 of the series.

Pushed by Devin AI

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/bba39c1277854bf8a1fd63a094f20e24
Requested by: @thomas-bc-autobot


Open in Devin Review

@devin-ai-integration

Copy link
Copy Markdown
Author
Original prompt from thomas.boyer.chammard

I want this session to be a large effort to make fprime-tools more maintainable and cleaner code/less technical debt. Please make a plan to study that and deliver a master plan. Allocate subagent to find areas that can be improved, then more subagents to study it in detail and make a plan, then iterate on the plan with other review agents until the review agent and planner agent agree on an approved plan. Once the approved plan is done, have other implementer agents implement the plan, and review agents that build and test the result. Iterate until everyone agrees the code is correct and an improvement. Use subagents, high importance goals:

  • CLI and external APIs should ideally be left unchanged, or backwards compatibility layer left in
  • The less line of code changes, the easier the review. But if lots of LOC for high value simplification, it is ok.

Let’s go! Don’t stop, keep iterating until my goals are met.

@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

…emo per build dir (WP4)

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration
devin-ai-integration Bot force-pushed the devin/wp3-help-text-hygiene branch from 7a84b74 to d7247b3 Compare August 28, 2026 16:31
@devin-ai-integration
devin-ai-integration Bot force-pushed the devin/wp4-fbuild-dedup branch from 071f835 to 0f693d8 Compare August 28, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant