Skip to content

Commit e8b7114

Browse files
vshakitskiylpil
authored andcommitted
move resolving version from manifest logic into new function
1 parent 6753ea1 commit e8b7114

File tree

1 file changed

+18
-25
lines changed

1 file changed

+18
-25
lines changed

compiler-core/src/dependency.rs

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,21 @@ where
6565
*/
6666
pub type PackageVersionDiffs = HashMap<String, (Version, Version)>;
6767

68+
/// Get the resolved versions of the direct dependencies
69+
fn resolve_versions_from_manifest(manifest: &manifest::Manifest) -> PackageVersions {
70+
manifest
71+
.packages
72+
.iter()
73+
.filter(|manifest_package| {
74+
manifest
75+
.requirements
76+
.iter()
77+
.any(|(required_pkg, _)| manifest_package.name == *required_pkg)
78+
})
79+
.map(|manifest_pkg| (manifest_pkg.name.to_string(), manifest_pkg.version.clone()))
80+
.collect()
81+
}
82+
6883
fn resolve_major_versions(
6984
package_fetcher: &impl PackageFetcher,
7085
versions: PackageVersions,
@@ -98,20 +113,7 @@ pub fn check_for_major_version_updates(
98113
manifest: &manifest::Manifest,
99114
package_fetcher: &impl PackageFetcher,
100115
) -> PackageVersionDiffs {
101-
// get the resolved versions of the direct dependencies to check for major
102-
// version updates.
103-
let versions = manifest
104-
.packages
105-
.iter()
106-
.filter(|manifest_package| {
107-
manifest
108-
.requirements
109-
.iter()
110-
.any(|(required_pkg, _)| manifest_package.name == *required_pkg)
111-
})
112-
.map(|manifest_pkg| (manifest_pkg.name.to_string(), manifest_pkg.version.clone()))
113-
.collect();
114-
116+
let versions = resolve_versions_from_manifest(manifest);
115117
resolve_major_versions(package_fetcher, versions)
116118
}
117119

@@ -142,21 +144,12 @@ fn resolve_all_versions(
142144
.collect()
143145
}
144146

147+
/// Check for version updates for direct dependencies.
145148
pub fn check_for_version_updates(
146149
manifest: &manifest::Manifest,
147150
package_fetcher: &impl PackageFetcher,
148151
) -> PackageVersionDiffs {
149-
// get all hex packages from the manifest
150-
let versions = manifest
151-
.packages
152-
.iter()
153-
.filter(|manifest_package| {
154-
// only check for version updates for hex packages
155-
matches!(manifest_package.source, manifest::ManifestPackageSource::Hex { .. })
156-
})
157-
.map(|manifest_pkg| (manifest_pkg.name.to_string(), manifest_pkg.version.clone()))
158-
.collect();
159-
152+
let versions = resolve_versions_from_manifest(manifest);
160153
resolve_all_versions(package_fetcher, versions)
161154
}
162155

0 commit comments

Comments
 (0)