fix: migrate occtkit deps from OCCTSwiftTools/AIS to OCCTSwiftInteraction - #123
Merged
Conversation
…tion Per OCCTSwiftInteraction's docs/MIGRATION.md: OCCTSwiftTools, OCCTSwiftAIS and OCCTSwiftCADKit merged into one package (SecondMouseAU/ecosystem#42, #43). The old repos are archived, not deleted, but SwiftPM enforces target-name uniqueness across the whole transitive graph before any per-consumer product pruning, so any consumer needing both this repo and OCCTSwiftInteraction in the same graph hit a hard resolution error, not a version-range conflict. Replaces the two occtDep("OCCTSwiftTools", ...) / occtDep("OCCTSwiftAIS", ...) entries with occtDep("OCCTSwiftInteraction", from: "0.1.0"), and repoints the occtkit target's two product dependencies at package: "OCCTSwiftInteraction". Module names are unchanged (import OCCTSwiftTools / import OCCTSwiftAIS still work), so no source changes elsewhere in the repo were needed. Unblocks OCCTMCP#182. Fixes #122 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Regenerated Package.resolved from an isolated, sibling-free clone so it records genuine remote pins (occtswiftinteraction@0.1.0, no more stray occtswifttools/occtswiftais top-level pins) rather than this checkout's local sibling-substituted state, per the lesson in okf/decisions/occtswift-3.0.0-floor-bump-blocked-on-cohort-releases.md. Updated CLAUDE.md, README.md, docs/guides/architecture.md, and okf/index.md to describe OCCTSwiftTools/OCCTSwiftAIS as vended by OCCTSwiftInteraction, and added an okf/log.md entry. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (6 files)
Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 246K · Output: 3.7K · Cached: 388.8K |
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.
What & why
OCCTSwiftTools,OCCTSwiftAIS, andOCCTSwiftCADKitmerged into one package,OCCTSwiftInteraction(SecondMouseAU/ecosystem#42, #43), released as v0.1.0. The old repos arearchived, not deleted (their tags still resolve), but SwiftPM enforces target-name uniqueness
across the entire transitive package graph before any per-consumer product pruning, so a graph
containing both this repo (still pinning the old
OCCTSwiftTools/OCCTSwiftAIS) and anythingdepending on
OCCTSwiftInteractiondirectly fails outright with a hard resolution error, not aversion-range conflict. This blocked OCCTMCP#182 from repinning, since OCCTMCP depends on both
packages.
Per
OCCTSwiftInteraction'sdocs/MIGRATION.md, this is a manifest-only change: replaced the twoocctDep("OCCTSwiftTools", ...)/occtDep("OCCTSwiftAIS", ...)entries with oneocctDep("OCCTSwiftInteraction", from: "0.1.0"), and repointed theocctkittarget's two productdependencies at
package: "OCCTSwiftInteraction". Module names are unchanged (import OCCTSwiftTools/import OCCTSwiftAISstill work, since each target kept its identity inside themerged package), so no other source changes were needed.
Also regenerated
Package.resolvedfrom an isolated, sibling-free clone (per the lesson inokf/decisions/occtswift-3.0.0-floor-bump-blocked-on-cohort-releases.md, a stale-but-manifest-compatible lockfile is invisible until something fails to compile against it) rather than via this
checkout's usual local sibling substitution, which would have produced a lockfile missing real
remote pins. Updated
CLAUDE.md,README.md,docs/guides/architecture.md, andokf/index.mdto describe the new package, and added an
okf/log.mdentry.Verified:
swift buildandswift build --build-testsclean (both with local siblingsubstitution and from a sibling-free clone forcing real remote resolution),
swift test(12/12),Scripts/recipe-check.sh(7/7 recipes match reference output),Scripts/policy-check.sh,Scripts/verb-check.sh, andScripts/comment-ratio-check.shall pass.Closes #122
Checklist
and verb behavior are all unchanged) so no new unit test applies; verified instead via the
full existing test/recipe suite from a real remote resolution, per above.
Notes for the reviewer
A release (tag +
gh release) is a separate follow-up step needed to actually unblock OCCTMCP#182and the other wave-2/3 consumers in
OCCTSwiftInteraction's migration table; not included in thisPR.
🤖 Generated with Claude Code