Browse Source

Fix: add-module --new can not create angular module properly

resolves https://github.com/abpframework/abp/issues/7006
pull/7162/head
Yunus Emre Kalkan 6 years ago
parent
commit
802c4571c3
  1. 7
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AngularModuleSourceCodeAdder.cs
  2. 33
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs

7
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AngularModuleSourceCodeAdder.cs

@ -39,7 +39,7 @@ namespace Volo.Abp.Cli.ProjectModification
}
catch (Exception e)
{
Logger.LogError("Unable to add angular source code: " + e.Message);
Logger.LogError("Unable to add angular source code: " + e.Message + Environment.NewLine + e.StackTrace);
}
}
@ -127,6 +127,11 @@ namespace Volo.Abp.Cli.ProjectModification
subFolderName = $"/{subFolderName}";
}
if (compilerOptions["paths"][$"{projectPackageName}{subFolderName}"] != null)
{
continue;
}
((JObject) compilerOptions["paths"]).Add(
new JProperty($"{projectPackageName}{subFolderName}",
new JArray(new object[] {publicApi})

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

@ -115,7 +115,7 @@ namespace Volo.Abp.Cli.ProjectModification
await NugetPackageToLocalReferenceConverter.Convert(module, solutionFile);
}
await AddAngularSourceCode(modulesFolderInSolution, solutionFile);
await AddAngularSourceCode(modulesFolderInSolution, solutionFile, module.Name, newTemplate || newProTemplate);
}
else
{
@ -277,7 +277,7 @@ namespace Volo.Abp.Cli.ProjectModification
}
}
private async Task AddAngularSourceCode(string modulesFolderInSolution, string solutionFilePath)
private async Task AddAngularSourceCode(string modulesFolderInSolution, string solutionFilePath, string moduleName, bool newTemplate)
{
var angularPath = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(solutionFilePath)), "angular");
@ -287,6 +287,11 @@ namespace Volo.Abp.Cli.ProjectModification
return;
}
if (newTemplate)
{
MoveAngularFolderInNewTemplate(modulesFolderInSolution, moduleName);
}
await AngularModuleSourceCodeAdder.AddAsync(solutionFilePath, angularPath);
}
@ -304,6 +309,30 @@ namespace Volo.Abp.Cli.ProjectModification
}
}
private static void MoveAngularFolderInNewTemplate(string modulesFolderInSolution, string moduleName)
{
var moduleAngularFolder = Path.Combine(modulesFolderInSolution, moduleName, "angular");
if (!Directory.Exists(moduleAngularFolder))
{
return;
}
var files = Directory.GetFiles(moduleAngularFolder);
var folders = Directory.GetDirectories(moduleAngularFolder);
Directory.CreateDirectory(Path.Combine(moduleAngularFolder, moduleName));
foreach (var file in files)
{
File.Move(file, Path.Combine(moduleAngularFolder, moduleName, Path.GetFileName(file)));
}
foreach (var folder in folders)
{
Directory.Move(folder, Path.Combine(moduleAngularFolder, moduleName, Path.GetFileName(folder)));
}
}
private async Task DownloadSourceCodesToSolutionFolder(ModuleWithMastersInfo module,
string modulesFolderInSolution, string version = null, bool newTemplate = false,
bool newProTemplate = false)

Loading…
Cancel
Save