-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Description
swift build can fail from a clean clone because Package.swift still references several local path dependencies that are not present after cloning the repo (for example under packages/... and/or similar local-only directories).
In the earlier reproduction on a fresh macdoc clone, build/setup work ran into missing local package paths and had to be patched around manually. The underlying issue is that the package graph is not fully reproducible from a clean environment.
Why this is a problem
This breaks clean install/build reproducibility:
- a fresh clone cannot reliably build without extra local package directories being prepared first
- contributors / CI / new machines may fail immediately
- the repo implicitly depends on local filesystem state that is not captured in Git
Suggestion
Please consider replacing missing local path-based dependencies with remote package references (url:) wherever possible, including the private/internal packages that are expected to come from GitHub rather than local checkout paths.
Examples of the intended direction:
doc-converter-swiftword-to-md-swiftooxml-swiftmarkdown-swiftmarker-swiftpdf-to-latex-swiftapabib-*packages
If some packages must remain private, they should still be referenced as remote Git dependencies instead of untracked local directories.
Steps to reproduce
git clone https://github.com/PsychQuant/macdoc.git
cd macdoc
swift build -c releaseExpected behavior
A clean clone should build successfully without requiring manual creation/cloning of extra local package directories.