Module: PackageResolved
- Defined in:
- lib/spm_version_updates/package_resolved.rb
Overview
Parsing for ‘Package.resolved` files.
Handles both the v1 format (pins nested under ‘“object”`) and the v2+ format (pins at the top level). This is shared between the Xcode-project source mode and the Swift package manifest source mode.
Defined Under Namespace
Classes: MalformedFileError
Class Method Summary collapse
-
.versions_from(path) ⇒ Hash<String, String>
Extract the resolved version (or revision, when no version is pinned) for every pin in a ‘Package.resolved` file.
Class Method Details
.versions_from(path) ⇒ Hash<String, String>
Extract the resolved version (or revision, when no version is pinned) for every pin in a ‘Package.resolved` file.
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/spm_version_updates/package_resolved.rb', line 28 def self.versions_from(path) contents = load_contents(path) pins = contents["pins"] || contents.dig("object", "pins") || [] pins.to_h { |pin| [ GitOperations.trim_repo_url(pin["location"] || pin["repositoryURL"]), pin.dig("state", "version") || pin.dig("state", "revision"), ] } end |