Skip to content

Commit

Permalink
Cli: Running switch commands in aspnet-core folder should switch angu…
Browse files Browse the repository at this point in the history
…lar project as well if it exist

resolves #5191
  • Loading branch information
yekalkan committed Aug 27, 2020
1 parent d3da53a commit ed0cecb
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ protected virtual async Task<bool> TryUpdatingPackage(
}
}

if (version == currentVersion)
if (string.IsNullOrEmpty(version) || version == currentVersion)
{
return false;
}
Expand Down Expand Up @@ -275,6 +275,12 @@ protected virtual async Task<string> GetLatestVersion(
? versionList.First()
: versionList.FirstOrDefault(v => !SemanticVersion.Parse(v).IsPrerelease);

if (string.IsNullOrEmpty(newVersion))
{
_fileVersionStorage[package.Name] = newVersion;
return newVersion;
}

var newVersionWithPrefix = $"~{newVersion}";

_fileVersionStorage[package.Name] = newVersionWithPrefix;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public async Task SwitchToPreview(CommandLineArgs commandLineArgs)
{
var solutionPath = GetSolutionPath(commandLineArgs);
var solutionFolder = GetSolutionFolder(commandLineArgs);
var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder);

await _nugetPackagesVersionUpdater.UpdateSolutionAsync(
solutionPath,
Expand All @@ -40,42 +41,74 @@ await _npmPackagesUpdater.Update(
solutionFolder,
false,
true);

if (solutionAngularFolder != null)
{
await _npmPackagesUpdater.Update(
solutionAngularFolder,
false,
true);
}
}

public async Task SwitchToNightlyPreview(CommandLineArgs commandLineArgs)
{
var solutionPath = GetSolutionPath(commandLineArgs);
var solutionFolder = GetSolutionFolder(commandLineArgs);
var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder);

_packageSourceManager.Add(solutionFolder, "ABP Nightly", "https://www.myget.org/F/abp-nightly/api/v3/index.json");

await _nugetPackagesVersionUpdater.UpdateSolutionAsync(
solutionPath,
true);
if (solutionPath != null)
{
await _nugetPackagesVersionUpdater.UpdateSolutionAsync(
solutionPath,
true);
}

await _npmPackagesUpdater.Update(
solutionFolder,
true);

if (solutionAngularFolder != null)
{
await _npmPackagesUpdater.Update(
solutionAngularFolder,
true);
}
}

public async Task SwitchToStable(CommandLineArgs commandLineArgs)
{
var solutionPath = GetSolutionPath(commandLineArgs);
var solutionFolder = GetSolutionFolder(commandLineArgs);
var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder);

_packageSourceManager.Remove(solutionFolder, "ABP Nightly");

await _nugetPackagesVersionUpdater.UpdateSolutionAsync(
solutionPath,
false,
false,
true);
if (solutionPath != null)
{
await _nugetPackagesVersionUpdater.UpdateSolutionAsync(
solutionPath,
false,
false,
true);
}

await _npmPackagesUpdater.Update(
solutionFolder,
false,
false,
true);

if (solutionAngularFolder != null)
{
await _npmPackagesUpdater.Update(
solutionAngularFolder,
false,
false,
true);
}
}

private string GetSolutionPath(CommandLineArgs commandLineArgs)
Expand All @@ -99,7 +132,7 @@ private string GetSolutionPath(CommandLineArgs commandLineArgs)
}
}

Logger.LogError("There is no solution or more that one solution in current directory.");
Logger.LogWarning("There is no solution or more that one solution in current directory.");
return null;
}

Expand All @@ -112,6 +145,23 @@ private string GetSolutionFolder(CommandLineArgs commandLineArgs)
?? Directory.GetCurrentDirectory();
}

private string GetSolutionAngularFolder(string solutionFolder)
{
var upperAngularPath = Path.Combine(Directory.GetParent(solutionFolder)?.FullName ?? "", "angular");
if (Directory.Exists(upperAngularPath))
{
return upperAngularPath;
}

var innerAngularPath = Path.Combine(solutionFolder, "angular");
if (Directory.Exists(innerAngularPath))
{
return innerAngularPath;
}

return null;
}

public static class Options
{
public static class SolutionDirectory
Expand Down

0 comments on commit ed0cecb

Please sign in to comment.