Add support for dotnet upgrade
This commit is contained in:
@@ -72,6 +72,7 @@ pub enum Step {
|
||||
Composer,
|
||||
CustomCommands,
|
||||
Deno,
|
||||
Dotnet,
|
||||
Emacs,
|
||||
Firmware,
|
||||
Flatpak,
|
||||
|
||||
@@ -263,6 +263,7 @@ fn run() -> Result<()> {
|
||||
)))]
|
||||
runner.execute(Step::Atom, "apm", || generic::run_apm(run_type))?;
|
||||
runner.execute(Step::Rustup, "rustup", || generic::run_rustup(&base_dirs, run_type))?;
|
||||
runner.execute(Step::Dotnet, "dotnet", || generic::run_dotnet_upgrade(&ctx))?;
|
||||
runner.execute(Step::Choosenim, "choosenim", || generic::run_choosenim(&ctx))?;
|
||||
runner.execute(Step::Cargo, "cargo", || generic::run_cargo_update(run_type))?;
|
||||
runner.execute(Step::Flutter, "Flutter", || generic::run_flutter_upgrade(run_type))?;
|
||||
|
||||
@@ -298,3 +298,29 @@ pub fn run_composer_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn run_dotnet_upgrade(ctx: &ExecutionContext) -> Result<()> {
|
||||
let dotnet = utils::require("dotnet")?;
|
||||
|
||||
let output = Command::new(dotnet)
|
||||
.args(&["tool", "list", "--global"])
|
||||
.check_output()?;
|
||||
|
||||
let mut packages = output.split('\n').skip(2).filter(|line| !line.is_empty()).peekable();
|
||||
|
||||
if packages.peek().is_none() {
|
||||
return Err(SkipStep(String::from("No dotnet global tools installed")).into());
|
||||
}
|
||||
|
||||
print_separator("Dotnet");
|
||||
|
||||
for package in packages {
|
||||
let package_name = package.split_whitespace().next().unwrap();
|
||||
ctx.run_type()
|
||||
.execute("dotnet")
|
||||
.args(&["tool", "update", package_name, "--global"])
|
||||
.check_run()?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user