Browse Source

Cli Update Command: Configure for Angular

resolves https://github.com/abpframework/abp/issues/1645
pull/1653/head
Yunus Emre Kalkan 7 years ago
parent
commit
4a0a2ec7b7
  1. 33
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs
  2. 9
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs

33
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

@ -43,18 +43,31 @@ namespace Volo.Abp.Cli.ProjectModification
foreach (var file in fileList)
{
UpdatePackagesInFile(file, out var needsYarnAndGulp);
UpdatePackagesInFile(file, out var packagesUpdated);
if (needsYarnAndGulp)
if (packagesUpdated)
{
RunYarnAndGulp(file);
var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar);
RunYarn(fileDirectory);
if (IsAngularProject(fileDirectory) == false)
{
Thread.Sleep(500);
RunGulp(fileDirectory);
}
}
}
}
protected virtual void UpdatePackagesInFile(string file, out bool needsYarnAndGulp)
private bool IsAngularProject(string fileDirectory)
{
return File.Exists(Path.Combine(fileDirectory, "angular.json"));
}
protected virtual void UpdatePackagesInFile(string file, out bool packagesUpdated)
{
needsYarnAndGulp = false;
packagesUpdated = false;
var fileContent = File.ReadAllText(file);
var packageJson = JObject.Parse(fileContent);
var abpPackages = GetAbpPackagesFromPackageJson(packageJson);
@ -70,7 +83,7 @@ namespace Volo.Abp.Cli.ProjectModification
if (updated)
{
needsYarnAndGulp = true;
packagesUpdated = true;
}
}
@ -122,14 +135,6 @@ namespace Volo.Abp.Cli.ProjectModification
return abpPackages;
}
protected virtual void RunYarnAndGulp(string file)
{
var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar);
RunYarn(fileDirectory);
Thread.Sleep(500);
RunGulp(fileDirectory);
}
protected virtual void RunGulp(string fileDirectory)
{
Logger.LogInformation($"Running Gulp on {fileDirectory}");

9
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackageJsonFileFinder.cs

@ -27,7 +27,14 @@ namespace Volo.Abp.Cli.ProjectModification
{
var directory = Path.GetDirectoryName(path);
return Directory.GetFiles(directory, "*.csproj", searchOption: SearchOption.TopDirectoryOnly).Any();
if (directory == null)
{
return false;
}
return
Directory.GetFiles(directory, "*.csproj", searchOption: SearchOption.TopDirectoryOnly).Any() ||
File.Exists(Path.Combine(directory, "angular.json"));
}
}
}

Loading…
Cancel
Save