Skip to content

Commit a6d74e1

Browse files
vshakitskiylpil
authored andcommitted
setup handler for outdated command
1 parent a228568 commit a6d74e1

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

compiler-cli/src/dependencies.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use gleam_core::{
1919
error::{FileIoAction, FileKind, ShellCommandFailureReason, StandardIoAction},
2020
hex::{self, HEXPM_PUBLIC_KEY},
2121
io::{HttpClient as _, TarUnpacker, WrappedReader},
22-
manifest::{Base16Checksum, Manifest, ManifestPackage, ManifestPackageSource, Resolved},
22+
manifest::{self, Base16Checksum, Manifest, ManifestPackage, ManifestPackageSource, Resolved},
2323
paths::ProjectPaths,
2424
requirement::Requirement,
2525
};
@@ -214,6 +214,18 @@ fn list_dependencies_tree(
214214
tree
215215
}
216216

217+
pub fn outdated(paths: &ProjectPaths) -> Result<()> {
218+
let (_, manifest) = get_manifest_details(paths)?;
219+
220+
let runtime = tokio::runtime::Runtime::new().expect("Unable to start Tokio async runtime");
221+
let package_fetcher = PackageFetcher::new(runtime.handle().clone());
222+
223+
// compiler-core/src/dependency.rs:118-130
224+
todo!();
225+
226+
Ok(())
227+
}
228+
217229
#[derive(Debug, Clone, Copy)]
218230
pub enum UseManifest {
219231
Yes,

compiler-cli/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,9 @@ enum Dependencies {
403403
/// Download all dependency packages
404404
Download,
405405

406+
/// List all outdated dependencies
407+
Outdated,
408+
406409
/// Update dependency packages to their latest versions
407410
Update(UpdateOptions),
408411

@@ -587,6 +590,11 @@ fn parse_and_run_command() -> Result<(), Error> {
587590
download_dependencies(&paths)
588591
}
589592

593+
Command::Deps(Dependencies::Outdated) => {
594+
let paths = find_project_paths()?;
595+
dependencies::outdated(&paths)
596+
}
597+
590598
Command::Deps(Dependencies::Update(options)) => {
591599
let paths = find_project_paths()?;
592600
dependencies::update(&paths, options.packages)

compiler-core/src/dependency.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,20 @@ pub fn check_for_major_version_updates(
115115
resolve_major_versions(package_fetcher, versions)
116116
}
117117

118+
fn resolve_all_versions(
119+
package_fetcher: &impl PackageFetcher,
120+
versions: PackageVersions,
121+
) -> PackageVersionDiffs {
122+
todo!()
123+
}
124+
125+
pub fn check_for_version_updates(
126+
manifest: &manifest::Manifest,
127+
package_fetcher: &impl PackageFetcher,
128+
) -> PackageVersionDiffs {
129+
todo!()
130+
}
131+
118132
// If the string would parse to an exact version then return the version
119133
fn parse_exact_version(ver: &str) -> Option<Version> {
120134
let version = ver.trim();

0 commit comments

Comments
 (0)