New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
prefer versions in package.resolved file when one exists and matches the original manifest #6698
Conversation
5911d6c
to
c31a952
Compare
🎉 This looks like something that can greatly improve performance in the common case! One question about a possible nuance: is a hash of the contents of the package manifest enough to detect a change? I'm thinking of when the manifest looks at the environment (as SwiftPM's own manifest does), where the environment can affect what dependencies the package manifest yields. Would it make sense to look at the results of having the last time the package manifest was evaluated (which should almost always be in the cache) and base the origin hash on those dependencies? |
c88c10c
to
2655c9e
Compare
@swift-ci smoke test |
@neonichu @abertelrud this is ready for review |
2655c9e
to
f970fa8
Compare
@swift-ci smoke test |
@swift-ci smoke test windows |
@swift-ci smoke test macOS |
…the original manifest motivation: when a package.resoved file exists the dependencies resolution should stick to it, unless requested otherwise changes: * compute a hash of the source for the package.resolved file and use it to decide if dependecy resolution is required or pacakge.resolved is sufficient * prefer the versions specified in package.resolved by default and no changes in the original manifest are detected * refactor codee flow to make the logic easier to reason about * add and adjust tests
@swift-ci smoke test |
231be1e
to
40fcd02
Compare
@swift-ci smoke test |
@swift-ci smoke test windows |
prefer versions in package.resolved file when one exists and matches the original manifest
motivation: when a package.resolved file exists the dependencies resolution should stick to it, unless requested otherwise
changes: