Browse Source

Move to Cli namespace.

pull/1120/head
Halil ibrahim Kalkan 7 years ago
parent
commit
f1153b6cfd
  1. 1
      framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj
  2. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliOptions.cs
  3. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs
  4. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs
  5. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs
  6. 87
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoTemplateStore.cs
  7. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/DatabaseProvider.cs
  8. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/GithubRepositoryInfo.cs
  9. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildContext.cs
  10. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildContextExtensions.cs
  11. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipeline.cs
  12. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipelineBuilder.cs
  13. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipelineStep.cs
  14. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectResult.cs
  15. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateProjectResultZipStep.cs
  16. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/FileEntryListReadStep.cs
  17. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/NugetReferenceReplaceStep.cs
  18. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromSolutionStep.cs
  19. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs
  20. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs
  21. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/TemplateCodeDeleteStep.cs
  22. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs
  23. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/DownloadInfo.cs
  24. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntry.cs
  25. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs
  26. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryList.cs
  27. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryListExtensions.cs
  28. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Github/GithubRelease.cs
  29. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/IProjectBuilder.cs
  30. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ITemplateInfoProvider.cs
  31. 15
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ITemplateStore.cs
  32. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildArgs.cs
  33. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildResult.cs
  34. 12
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs
  35. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/SolutionName.cs
  36. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateFile.cs
  37. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs
  38. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcApplicationTemplate.cs
  39. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModuleTemplate.cs
  40. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/ServiceTemplate.cs
  41. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Zipping/ZipFileExtensions.cs
  42. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AbpModuleClassFinder.cs
  43. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleClassDependcyAdder.cs
  44. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs
  45. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackageInfo.cs
  46. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NugetPackageInfo.cs
  47. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NugetPackageTarget.cs
  48. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs
  49. 9
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs
  50. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs
  51. 45
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/AbpIoTemplateStore.cs
  52. 9
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ITemplateStore.cs
  53. 8
      framework/src/Volo.Abp.Cli/Volo/Abp/Cli/AbpCliModule.cs

1
framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj

@ -22,6 +22,7 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Http\Volo.Abp.Http.csproj" />
<ProjectReference Include="..\Volo.Abp.IdentityModel\Volo.Abp.IdentityModel.csproj" />
<ProjectReference Include="..\Volo.Abp.Json\Volo.Abp.Json.csproj" />
</ItemGroup>

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliOptions.cs

@ -7,6 +7,10 @@ namespace Volo.Abp.Cli
{
public Dictionary<string, Type> Commands { get; }
public string AbpIoWwwUrlRoot { get; set; } = "https://abp.io/";
public string AbpIoAccountUrlRoot { get; set; } = "https://account.abp.io/";
public CliOptions()
{
Commands = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase);

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs

@ -5,9 +5,9 @@ using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using System.Threading.Tasks;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.ProjectModification;
using Volo.Abp.Cli.Utils;
using Volo.Abp.DependencyInjection;
using Volo.Abp.ProjectModification;
namespace Volo.Abp.Cli.Commands
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs

@ -5,9 +5,9 @@ using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.ProjectModification;
using Volo.Abp.Cli.Utils;
using Volo.Abp.DependencyInjection;
using Volo.Abp.ProjectModification;
namespace Volo.Abp.Cli.Commands
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs

@ -4,9 +4,9 @@ using Ionic.Zip;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.ProjectBuilding;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.DependencyInjection;
using Volo.Abp.ProjectBuilding;
using Volo.Abp.ProjectBuilding.Building;
namespace Volo.Abp.Cli.Commands
{

87
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoTemplateStore.cs

@ -0,0 +1,87 @@
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http;
using Volo.Abp.IO;
using Volo.Abp.Json;
using Volo.Abp.Threading;
namespace Volo.Abp.Cli.ProjectBuilding
{
public class AbpIoTemplateStore : ITemplateStore, ITransientDependency
{
public ILogger<AbpIoTemplateStore> Logger { get; set; }
protected CliOptions Options { get; }
protected IJsonSerializer JsonSerializer { get; }
protected ICancellationTokenProvider CancellationTokenProvider { get; }
public AbpIoTemplateStore(
IOptions<CliOptions> options,
IJsonSerializer jsonSerializer,
ICancellationTokenProvider cancellationTokenProvider)
{
JsonSerializer = jsonSerializer;
CancellationTokenProvider = cancellationTokenProvider;
Options = options.Value;
Logger = NullLogger<AbpIoTemplateStore>.Instance;
}
public async Task<TemplateFile> GetAsync(
string name,
string version,
DatabaseProvider databaseProvider,
string projectName)
{
var localCacheFolder = Path.Combine(CliPaths.TemplateCache, version);
DirectoryHelper.CreateIfNotExists(localCacheFolder);
var localCacheFile = Path.Combine(localCacheFolder, name + ".zip");
if (File.Exists(localCacheFile))
{
Logger.LogInformation("Using cached template: " + name + ", version: " + version);
return new TemplateFile(File.ReadAllBytes(localCacheFile));
}
Logger.LogInformation("Downloading template: " + name + ", version: " + version);
using (var client = new System.Net.Http.HttpClient())
{
client.Timeout = TimeSpan.FromMinutes(5);
var downloadUrl = Options.AbpIoWwwUrlRoot + "api/download/template/";
var serializedPostDataAsString = JsonSerializer.Serialize(new
{
name = name,
version = version,
databaseProvider = databaseProvider,
projectName = projectName
});
var responseMessage = await client.PostAsync(
downloadUrl,
new StringContent(serializedPostDataAsString, Encoding.UTF8, MimeTypes.Application.Json),
CancellationTokenProvider.Token
);
if (!responseMessage.IsSuccessStatusCode)
{
throw new Exception("Remote server returns error! HTTP status code: " + responseMessage.StatusCode);
}
var fileContent = await responseMessage.Content.ReadAsByteArrayAsync();
File.WriteAllBytes(localCacheFile, fileContent);
return new TemplateFile(fileContent);
}
}
}
}

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/DatabaseProvider.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/DatabaseProvider.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public enum DatabaseProvider
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/GithubRepositoryInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/GithubRepositoryInfo.cs

@ -1,6 +1,6 @@
using System;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public class GithubRepositoryInfo
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectBuildContext.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildContext.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public class ProjectBuildContext
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectBuildContextExtensions.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildContextExtensions.cs

@ -1,8 +1,8 @@
using System;
using System.Linq;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public static class ProjectBuildContextExtensions
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectBuildPipeline.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipeline.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public class ProjectBuildPipeline
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectBuildPipelineBuilder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipelineBuilder.cs

@ -1,6 +1,6 @@
using Volo.Abp.ProjectBuilding.Building.Steps;
using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public static class ProjectBuildPipelineBuilder
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectBuildPipelineStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectBuildPipelineStep.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public abstract class ProjectBuildPipelineStep
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/ProjectResult.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ProjectResult.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public class ProjectResult
{

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/CreateProjectResultZipStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateProjectResultZipStep.cs

@ -1,8 +1,8 @@
using Ionic.Zip;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.ProjectBuilding.Zipping;
using Volo.Abp.Cli.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Zipping;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class CreateProjectResultZipStep : ProjectBuildPipelineStep
{

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/FileEntryListReadStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/FileEntryListReadStep.cs

@ -1,9 +1,9 @@
using System.IO;
using Ionic.Zip;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.ProjectBuilding.Zipping;
using Volo.Abp.Cli.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Zipping;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class FileEntryListReadStep : ProjectBuildPipelineStep
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/NugetReferenceReplaceStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/NugetReferenceReplaceStep.cs

@ -2,9 +2,9 @@
using System.IO;
using System.Linq;
using HtmlAgilityPack;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class NugetReferenceReplaceStep : ProjectBuildPipelineStep
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/RemoveProjectFromSolutionStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromSolutionStep.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Linq;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class RemoveProjectFromSolutionStep : ProjectBuildPipelineStep
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/SolutionRenameStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs

@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class SolutionRenameStep : ProjectBuildPipelineStep
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs

@ -1,7 +1,7 @@
using System;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class SwitchEntityFrameworkCoreToMongoDbStep : ProjectBuildPipelineStep
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/Steps/TemplateCodeDeleteStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/TemplateCodeDeleteStep.cs

@ -1,6 +1,6 @@
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Building.Steps
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class TemplateCodeDeleteStep : ProjectBuildPipelineStep
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Building/TemplateInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using JetBrains.Annotations;
namespace Volo.Abp.ProjectBuilding.Building
namespace Volo.Abp.Cli.ProjectBuilding.Building
{
public abstract class TemplateInfo
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/DownloadInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/DownloadInfo.cs

@ -1,9 +1,9 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
[Table("Downloads")]
public class DownloadInfo : CreationAuditedAggregateRoot<int>

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Files/FileEntry.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntry.cs

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Volo.Abp.ProjectBuilding.Files
namespace Volo.Abp.Cli.ProjectBuilding.Files
{
public class FileEntry
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Files/FileEntryExtensions.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Volo.Abp.ProjectBuilding.Files
namespace Volo.Abp.Cli.ProjectBuilding.Files
{
public static class FileEntryExtensions
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Files/FileEntryList.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryList.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Volo.Abp.ProjectBuilding.Files
namespace Volo.Abp.Cli.ProjectBuilding.Files
{
public class FileEntryList : List<FileEntry>
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Files/FileEntryListExtensions.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryListExtensions.cs

@ -1,7 +1,7 @@
using System;
using Ionic.Zip;
namespace Volo.Abp.ProjectBuilding.Files
namespace Volo.Abp.Cli.ProjectBuilding.Files
{
public static class FileEntryListExtensions
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Github/GithubRelease.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Github/GithubRelease.cs

@ -1,7 +1,7 @@
using System;
using Newtonsoft.Json;
namespace Volo.Abp.ProjectBuilding.Github
namespace Volo.Abp.Cli.ProjectBuilding.Github
{
[JsonObject]
public class GithubRelease

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/IProjectBuilder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/IProjectBuilder.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public interface IProjectBuilder
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ITemplateInfoProvider.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ITemplateInfoProvider.cs

@ -1,6 +1,6 @@
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public interface ITemplateInfoProvider
{

15
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ITemplateStore.cs

@ -0,0 +1,15 @@
using System.Threading.Tasks;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.Cli.ProjectBuilding
{
public interface ITemplateStore
{
Task<TemplateFile> GetAsync(
string name,
string version,
DatabaseProvider databaseProvider,
string projectName
);
}
}

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ProjectBuildArgs.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildArgs.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class ProjectBuildArgs
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ProjectBuildResult.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildResult.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class ProjectBuildResult
{

12
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ProjectBuilder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuilder.cs

@ -1,11 +1,10 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Cli;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.Utils;
using Volo.Abp.DependencyInjection;
using Volo.Abp.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class ProjectBuilder : IProjectBuilder, ITransientDependency
{
@ -34,7 +33,12 @@ namespace Volo.Abp.ProjectBuilding
var version = VersionHelper.Version;
var templateFile = await TemplateStore.GetAsync(args.TemplateName, version);
var templateFile = await TemplateStore.GetAsync(
args.TemplateName,
version,
args.DatabaseProvider,
args.SolutionName.FullName
);
var context = new ProjectBuildContext(
templateInfo,

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/SolutionName.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/SolutionName.cs

@ -1,6 +1,6 @@
using System;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class SolutionName
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/TemplateFile.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateFile.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class TemplateFile
{

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/TemplateInfoProvider.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs

@ -1,9 +1,9 @@
using System;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Templates;
using Volo.Abp.DependencyInjection;
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.ProjectBuilding.Templates;
namespace Volo.Abp.ProjectBuilding
namespace Volo.Abp.Cli.ProjectBuilding
{
public class TemplateInfoProvider : ITemplateInfoProvider, ITransientDependency
{

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Templates/MvcApplicationTemplate.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcApplicationTemplate.cs

@ -1,8 +1,8 @@
using System.Collections.Generic;
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.ProjectBuilding.Building.Steps;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
namespace Volo.Abp.ProjectBuilding.Templates
namespace Volo.Abp.Cli.ProjectBuilding.Templates
{
public class MvcApplicationTemplate : TemplateInfo
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Templates/MvcModuleTemplate.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModuleTemplate.cs

@ -1,6 +1,6 @@
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding.Templates
namespace Volo.Abp.Cli.ProjectBuilding.Templates
{
public class MvcModuleTemplate : TemplateInfo
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Templates/ServiceTemplate.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/ServiceTemplate.cs

@ -1,6 +1,6 @@
using Volo.Abp.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.ProjectBuilding.Templates
namespace Volo.Abp.Cli.ProjectBuilding.Templates
{
public class ServiceTemplate : TemplateInfo
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/Zipping/ZipFileExtensions.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Zipping/ZipFileExtensions.cs

@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using Ionic.Zip;
using Volo.Abp.ProjectBuilding.Files;
using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.ProjectBuilding.Zipping
namespace Volo.Abp.Cli.ProjectBuilding.Zipping
{
public static class ZipFileExtensions
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/AbpModuleClassFinder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AbpModuleClassFinder.cs

@ -5,7 +5,7 @@ using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class AbpModuleClassFinder : ITransientDependency
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/ModuleClassDependcyAdder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleClassDependcyAdder.cs

@ -3,7 +3,7 @@ using System.IO;
using System.Linq;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class ModuleClassDependcyAdder : ITransientDependency
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/ModuleInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class ModuleInfo
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/NpmPackageInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackageInfo.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class NpmPackageInfo
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/NugetPackageInfo.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NugetPackageInfo.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class NugetPackageInfo
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/NugetPackageTarget.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NugetPackageTarget.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public enum NugetPackageTarget : byte
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/ProjectNpmPackageAdder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs

@ -6,7 +6,7 @@ using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IO;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class ProjectNpmPackageAdder : ITransientDependency
{

9
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/ProjectNugetPackageAdder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs

@ -1,6 +1,4 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using System;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
@ -8,12 +6,13 @@ using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Volo.Abp.Cli;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IO;
using Volo.Abp.Json;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class ProjectNugetPackageAdder : ITransientDependency
{

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectModification/SolutionModuleAdder.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs

@ -7,12 +7,10 @@ using System.Threading.Tasks;
using JetBrains.Annotations;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Newtonsoft.Json;
using Volo.Abp.Cli;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Json;
namespace Volo.Abp.ProjectModification
namespace Volo.Abp.Cli.ProjectModification
{
public class SolutionModuleAdder : ITransientDependency
{

45
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/AbpIoTemplateStore.cs

@ -1,45 +0,0 @@
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.Cli;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IO;
namespace Volo.Abp.ProjectBuilding
{
public class AbpIoTemplateStore : ITemplateStore, ITransientDependency
{
public ILogger<AbpIoTemplateStore> Logger { get; set; }
public AbpIoTemplateStore()
{
Logger = NullLogger<AbpIoTemplateStore>.Instance;
}
public async Task<TemplateFile> GetAsync(string templateName, string version)
{
var localCacheFolder = Path.Combine(CliPaths.TemplateCache, version);
DirectoryHelper.CreateIfNotExists(localCacheFolder);
var localCacheFile = Path.Combine(localCacheFolder, templateName + ".zip");
if (File.Exists(localCacheFile))
{
Logger.LogInformation("Using cached template: " + templateName + ", version: " + version);
return new TemplateFile(File.ReadAllBytes(localCacheFile));
}
Logger.LogInformation("Downloading template: " + templateName + ", version: " + version);
using (var client = new System.Net.Http.HttpClient())
{
client.Timeout = TimeSpan.FromMinutes(5);
var downloadUrl = "https://abp.io/downloads/templates/" + version + "/" + templateName + ".zip";
var fileContents = await client.GetByteArrayAsync(downloadUrl);
File.WriteAllBytes(localCacheFile, fileContents);
return new TemplateFile(fileContents);
}
}
}
}

9
framework/src/Volo.Abp.Cli.Core/Volo/Abp/ProjectBuilding/ITemplateStore.cs

@ -1,9 +0,0 @@
using System.Threading.Tasks;
namespace Volo.Abp.ProjectBuilding
{
public interface ITemplateStore
{
Task<TemplateFile> GetAsync(string templateInfoName, string version);
}
}

8
framework/src/Volo.Abp.Cli/Volo/Abp/Cli/AbpCliModule.cs

@ -11,7 +11,13 @@ namespace Volo.Abp.Cli
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
#if DEBUG
Configure<CliOptions>(options =>
{
options.AbpIoWwwUrlRoot = "https://localhost:44328/";
options.AbpIoAccountUrlRoot = "https://localhost:44333/";
});
#endif
}
}
}
Loading…
Cancel
Save