Preserve requirements.psd1 and use it for managed dependencies snapshot comparison #670
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.
Potentially fixes #647 without the need to introduce a breaking change.
requirements.psd1
file from the app content to the snapshot directory, so that each snapshot is explicitly associated with the app author intent.requirements.psd1
files in the snapshot and in the app content before looking for specific versions.requirements.psd1
content matches, consider this snapshot acceptable (since this snapshot is the result of applyingSave-Module
, regardless of the module version matching rules implemented internally bySave-Module
).requirements.psd1
because this is an older snapshot, created before rolling out this fix), proceed with looking for specific module versions as usual.As a result, for example, if
requirements.psd1
contains'PnP.PowerShell' = '1.5'
, invokingSave-Module
will still install version 1.5.0. But, since the originalrequirements.psd1
is preserved with the snapshot, the next PowerShell Worker instance will consider this snapshot acceptable and will start using it right away, without creating another one. The problem is solved without introducing a breaking change.