Add support for dotnet upgrade
This commit is contained in:
@@ -72,6 +72,7 @@ pub enum Step {
|
|||||||
Composer,
|
Composer,
|
||||||
CustomCommands,
|
CustomCommands,
|
||||||
Deno,
|
Deno,
|
||||||
|
Dotnet,
|
||||||
Emacs,
|
Emacs,
|
||||||
Firmware,
|
Firmware,
|
||||||
Flatpak,
|
Flatpak,
|
||||||
|
|||||||
@@ -263,6 +263,7 @@ fn run() -> Result<()> {
|
|||||||
)))]
|
)))]
|
||||||
runner.execute(Step::Atom, "apm", || generic::run_apm(run_type))?;
|
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::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::Choosenim, "choosenim", || generic::run_choosenim(&ctx))?;
|
||||||
runner.execute(Step::Cargo, "cargo", || generic::run_cargo_update(run_type))?;
|
runner.execute(Step::Cargo, "cargo", || generic::run_cargo_update(run_type))?;
|
||||||
runner.execute(Step::Flutter, "Flutter", || generic::run_flutter_upgrade(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(())
|
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