Skip to content

Add Bazel build system with Tier 2 hot-reload#29

Merged
obj-p merged 2 commits intomainfrom
bazel
Mar 21, 2026
Merged

Add Bazel build system with Tier 2 hot-reload#29
obj-p merged 2 commits intomainfrom
bazel

Conversation

@obj-p
Copy link
Owner

@obj-p obj-p commented Mar 21, 2026

Summary

  • BazelBuildSystem: Detects Bazel projects, queries owning swift_library targets, builds via bazel build, locates .swiftmodule artifacts, and collects source files for Tier 2 compilation with hot-reload (literal + cross-file)
  • BuildSystemDetector: Routes to Bazel when BUILD.bazel/MODULE.bazel/WORKSPACE markers are present
  • Fixes: iOS simulator platform flag uses @apple_support (bzlmod module name, not legacy @build_bazel_apple_support)
  • Environment: .mcp.json includes mise shims on PATH; .mise.toml postinstall symlinks bazelisk as bazel
  • Tests: Unit tests for package detection, label construction, label-to-path conversion, and detector priority (SPM > Bazel)

Test plan

  • Integration test: macOS rendering — nav title, summary cards, 8 item rows
  • Integration test: iOS tap item — checkmark toggles
  • Integration test: iOS toggle — completed items hidden
  • Integration test: iOS swipe — summary card pages
  • Integration test: Hot reload — literal edit (navigationTitle)
  • Integration test: Hot reload — cross-file edit (new item in Item.swift)
  • swift test — unit tests pass

🤖 Generated with Claude Code

obj-p and others added 2 commits March 20, 2026 20:25
- BazelBuildSystem: detect Bazel projects, query targets, build, locate
  .swiftmodule artifacts, collect source files for Tier 2 compilation
- BuildSystemDetector: detect Bazel projects via package/project markers
  when explicit projectRoot is provided or via directory walk
- Fix iOS simulator platform flag to use @apple_support (bzlmod name)
- Update .mcp.json to include mise shims on PATH for bazel resolution
- Update .mise.toml postinstall to symlink bazelisk as bazel
- Update README with Tier 2 hot-reload test steps (literal + cross-file)
- Add unit tests for package detection, label construction, and detector

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…detection

- Replace findSwiftModule tuple return with findCompilerFlags returning [String]
- Add shared runBazel helper, eliminating duplicated exit-code checking
- Make projectMarkers internal so BuildSystemDetector references it directly
- BuildSystemDetector only checks project-root markers (not package markers)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@obj-p obj-p merged commit fcc1978 into main Mar 21, 2026
2 checks passed
@obj-p obj-p deleted the bazel branch March 21, 2026 01:11
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