chore(project): convert MeshtasticTests, Watch App, and Widgets to buildable folders (#2085 by @laconicman)#2101
Merged
Merged
Conversation
Part of #2026. Replaces the classic group (75 file refs, 75 build files; -307/+4 lines) with an Xcode 16 synchronized folder on the MeshtasticTests target. Restores three test files that were on disk but had lost target membership to pbxproj conflict resolution: NodeBackupManagerTests (dropped by #1898), ChannelEntityTests and CompactViewTests (never registered). Full test target: 2227 tests run; the only failures also reproduce on unconverted main.
Part of #2026. Synchronized folder on the watch target; Info.plist and the entitlements file are membership exceptions (both are referenced by build settings, not as bundle resources).
…gets Part of #2026. Files owned by both the app and WidgetsExtension move to a top-level Shared/ synchronized folder attached to both targets (BatteryLevel, MeshActivityAttributes, Assets.xcassets from Widgets/, plus Constants.swift from Meshtastic/Extensions — the main tree's only cross-target file). Widgets/ becomes homogeneous and converts to a synchronized folder on WidgetsExtension alone. Per-target exclusion sets cannot express selective sharing (a path listed in any exception set leaves implicit sync for every attached target), so folder layout is the mechanism: one folder, one target set. Verified by symbol checks on both built products.
…files ride the synced folder
…torTests The synchronized MeshtasticTests folder already compiles it; the leftover explicit entry produced a duplicate-build-file warning.
Contributor
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. 💤 Files selected but had no reviewable changes (13)
⛔ Files ignored due to path filters (6)
⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (13)
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands #2085 by @laconicman with the merge conflict against current main resolved. All commits and authorship are theirs; see #2085 for the full write-up and discussion.
What this adds on top of #2085
project.pbxprojwas the only conflict): kept the PR's restructuring, re-registered the app-target sources main gained since the PR's base (site planner, event firmware, air quality, firmware update notifier/game, message search,uklocalization), and dropped main's explicit test-file registrations — the synchronizedMeshtasticTestsfolder now picks those up automatically, which is the point of the conversion.PMTilesExtractorTests.swiftthat produced a duplicate-build-file warning alongside the synced folder (the one substantive CodeRabbit finding).Verification on the merged result
MeshtasticTestssuite runs — including the three test files chore(project): convert MeshtasticTests and Watch App to buildable folders #2085 resurrects (NodeBackupManagerTests,ChannelEntityTests,CompactViewTests, all on disk but compiled into no target on main today) and every test added by recently merged PRs, picked up by the synced folder with no pbxproj edits. Every failure observed also reproduces identically on unmodified main on the same machine (snapshot references, a knownallCasescount from the protobuf sync) or passes standalone (timing-sensitive tests under full-suite load) — nothing attributable to this change.MeshtasticandMeshtastic Watch Appschemes build.BatteryIcon,MeshActivityAttributes) present in both the app and WidgetsExtension binaries; widget-only types (WidgetsLiveActivity) only in the appex.Shared/relocations are 100% similarity renames.Merging this auto-marks #2085 as merged since it carries its commits.
Closes #2085