Skip to content

Commit

Permalink
Add simplify interactive & update single package
Browse files Browse the repository at this point in the history
  • Loading branch information
BlythMeister committed May 28, 2020
1 parent 322d6b0 commit 90194a6
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 18 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Usage: PaketChain [options]
Options:
-d|--dir <PATH> The path to a root of a repository, defaults to current directory if not provided (Note: <PATH> should be in quotes)
-u|--update Run a paket update
-up|--update-package <PackageName> Run a paket update for a single package
-ua|--update-args <ARGS> Args to pass to paket update (Note: <ARGS> should be in quotes)
-i|--install Run a paket install
-ia|--install-args <ARGS> Args to pass to paket install (Note: <ARGS> should be in quotes)
Expand All @@ -37,6 +38,7 @@ Options:
-r|--restore Run a paket restore
-ra|--restore-args <ARGS> Args to pass to paket restore (Note: <ARGS> should be in quotes)
-s|--simplify Run a paket simplify
-si|--simplify-interactive Run a paket simplify interactive mode
-sa|--simplify-args <ARGS> Args to pass to paket simplify (Note: <ARGS> should be in quotes)
-rd|--redirects Add args for redirects on install/update/add
-ri|--reinstall Delete the lock file and create from scratch
Expand Down
45 changes: 27 additions & 18 deletions src/PaketChain/Runner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -264,38 +264,47 @@ private static void Reinstall(RunnerArgs runnerArgs, string rootDir)

private static void PaketUpdate(RunnerArgs runnerArgs, CancellationToken cancellationToken, string rootDir, PaketInfo paketInfo, AdditionalArgs additionalArgs)
{
if (runnerArgs.Update)
if ((!string.IsNullOrWhiteSpace(runnerArgs.UpdatePackage) || runnerArgs.Update) && runnerArgs.Reinstall)
{
if (runnerArgs.Reinstall)
{
Console.WriteLine("Skipping Update as reinstall install newest versions");
Console.WriteLine("-----------------------------------------------------");
}
else
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "update", $"{additionalArgs.PaketRedirectArgs} {additionalArgs.PaketForceArgs} {additionalArgs.PaketVerboseArgs} {runnerArgs.UpdateArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
}
Console.WriteLine("Skipping Update as reinstall install newest versions");
Console.WriteLine("-----------------------------------------------------");
return;
}

if (!string.IsNullOrWhiteSpace(runnerArgs.UpdatePackage))
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "update", $"{runnerArgs.UpdatePackage} {additionalArgs.PaketRedirectArgs} {additionalArgs.PaketForceArgs} {additionalArgs.PaketVerboseArgs} {runnerArgs.UpdateArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
}
else if (runnerArgs.Update)
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "update", $"{additionalArgs.PaketRedirectArgs} {additionalArgs.PaketForceArgs} {additionalArgs.PaketVerboseArgs} {runnerArgs.UpdateArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
}
}

private static void PaketSimplify(RunnerArgs runnerArgs, CancellationToken cancellationToken, string rootDir, PaketInfo paketInfo, AdditionalArgs additionalArgs)
{
if (runnerArgs.Simplify)
if ((runnerArgs.SimplifyInteractive || runnerArgs.Simplify) && runnerArgs.Reinstall)
{
if (runnerArgs.Reinstall)
{
PaketInstall(runnerArgs, cancellationToken, rootDir, paketInfo, additionalArgs);
}
PaketInstall(runnerArgs, cancellationToken, rootDir, paketInfo, additionalArgs);
}

if (runnerArgs.SimplifyInteractive)
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "simplify", $"--interactive {additionalArgs.PaketVerboseArgs} {runnerArgs.SimplifyArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
}
else if (runnerArgs.Simplify)
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "simplify", $"{additionalArgs.PaketVerboseArgs} {runnerArgs.SimplifyArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
}
}

private static void PaketInstall(RunnerArgs runnerArgs, CancellationToken cancellationToken, string rootDir, PaketInfo paketInfo, AdditionalArgs additionalArgs)
{
if (runnerArgs.Install || runnerArgs.Reinstall || runnerArgs.Simplify)
if (runnerArgs.Install || runnerArgs.Reinstall || runnerArgs.Simplify || runnerArgs.SimplifyInteractive)
{
ConsoleHelper.RunPaketCommand(rootDir, paketInfo.PaketPath, paketInfo.ToolType, "install", $"{additionalArgs.PaketRedirectArgs} {additionalArgs.PaketForceArgs} {additionalArgs.PaketVerboseArgs} {runnerArgs.InstallArgs}", cancellationToken);
Console.WriteLine("-----------------------------------------------------");
Expand All @@ -306,7 +315,7 @@ private static void PaketRestore(RunnerArgs runnerArgs, CancellationToken cancel
{
if (runnerArgs.Restore)
{
if (runnerArgs.Install || runnerArgs.Reinstall || runnerArgs.Simplify)
if (runnerArgs.Install || runnerArgs.Reinstall || runnerArgs.Simplify || runnerArgs.SimplifyInteractive)
{
Console.WriteLine("Skipping Restore as already installed");
Console.WriteLine("-----------------------------------------------------");
Expand Down
6 changes: 6 additions & 0 deletions src/PaketChain/RunnerArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ internal class RunnerArgs
[Option("-u|--update", "Run a paket update", CommandOptionType.NoValue)]
public bool Update { get; }

[Option("-up|--update-package <PackageName>", "Run a paket update for a single package", CommandOptionType.SingleValue)]
public string UpdatePackage { get; }

[Option("-ua|--update-args <ARGS>", "Args to pass to paket update (Note: <ARGS> should be in quotes)", CommandOptionType.SingleValue)]
public string UpdateArgs { get; }

Expand Down Expand Up @@ -56,6 +59,9 @@ internal class RunnerArgs
[Option("-s|--simplify", "Run a paket simplify", CommandOptionType.NoValue)]
public bool Simplify { get; }

[Option("-si|--simplify-interactive", "Run a paket simplify interactive mode", CommandOptionType.NoValue)]
public bool SimplifyInteractive { get; }

[Option("-sa|--simplify-args <ARGS>", "Args to pass to paket simplify (Note: <ARGS> should be in quotes)", CommandOptionType.SingleValue)]
public string SimplifyArgs { get; }

Expand Down

0 comments on commit 90194a6

Please sign in to comment.