diff --git a/docs/en/Apps/VoloDocs.md b/docs/en/Apps/VoloDocs.md index f85aa78bbd..9fe8ff2507 100644 --- a/docs/en/Apps/VoloDocs.md +++ b/docs/en/Apps/VoloDocs.md @@ -23,13 +23,13 @@ https://github.com/abpframework/abp/tree/master/modules/docs You can download the VoloDocs release from the following links: -http://apps.abp.io/VoloDocs/VoloDocs.win-x64.zip - **Windows 64 bit** +https://apps.abp.io/VoloDocs/VoloDocs.win-x64.zip - **Windows 64 bit** -http://apps.abp.io/VoloDocs/VoloDocs.win-x86.zip - **Windows 32 bit** +https://apps.abp.io/VoloDocs/VoloDocs.win-x86.zip - **Windows 32 bit** -http://apps.abp.io/VoloDocs/VoloDocs.osx-x64.zip - **MacOS** +https://apps.abp.io/VoloDocs/VoloDocs.osx-x64.zip - **MacOS** -http://apps.abp.io/VoloDocs/VoloDocs.linux-x64.zip - **Linux** +https://apps.abp.io/VoloDocs/VoloDocs.linux-x64.zip - **Linux** Notice that, all installations are self-contained deployments. It means all the required third-party dependencies along with the version of .NET Core is included. So you don't need to install any .NET Core SDK / Runtime. diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs index 183b39ea5f..b0927cbcc9 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs @@ -27,24 +27,35 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien protected TemplateProjectBuilder TemplateProjectBuilder { get; } public ITemplateInfoProvider TemplateInfoProvider { get; } - - public NewCommand(TemplateProjectBuilder templateProjectBuilder - , ITemplateInfoProvider templateInfoProvider, - ConnectionStringProvider connectionStringProvider, + + public NewCommand( + ConnectionStringProvider connectionStringProvider, SolutionPackageVersionFinder solutionPackageVersionFinder, ICmdHelper cmdHelper, - IInstallLibsService installLibsService, - AngularPwaSupportAdder angularPwaSupportAdder, + IInstallLibsService installLibsService, + CliService cliService, + AngularPwaSupportAdder angularPwaSupportAdder, InitialMigrationCreator initialMigrationCreator, - ThemePackageAdder themePackageAdder, - ILocalEventBus eventBus, - IBundlingService bundlingService) - : base(connectionStringProvider, solutionPackageVersionFinder, cmdHelper, installLibsService, angularPwaSupportAdder, initialMigrationCreator, themePackageAdder, eventBus, bundlingService) + ThemePackageAdder themePackageAdder, + ILocalEventBus eventBus, + IBundlingService bundlingService, + ITemplateInfoProvider templateInfoProvider, + TemplateProjectBuilder templateProjectBuilder) : + base(connectionStringProvider, + solutionPackageVersionFinder, + cmdHelper, + installLibsService, + cliService, + angularPwaSupportAdder, + initialMigrationCreator, + themePackageAdder, + eventBus, + bundlingService) { - TemplateProjectBuilder = templateProjectBuilder; TemplateInfoProvider = templateInfoProvider; + TemplateProjectBuilder = templateProjectBuilder; } - + public async Task ExecuteAsync(CommandLineArgs commandLineArgs) { var projectName = NamespaceHelper.NormalizeNamespace(commandLineArgs.Target); @@ -74,7 +85,7 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien Logger.LogInformation("Tiered: yes"); } - var projectArgs = GetProjectBuildArgs(commandLineArgs, template, projectName); + var projectArgs = await GetProjectBuildArgsAsync(commandLineArgs, template, projectName); var result = await TemplateProjectBuilder.BuildAsync( projectArgs @@ -159,5 +170,4 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien { return "Generate a new solution based on the ABP startup templates."; } - } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs index 83c4ed1dd3..646d8d4c08 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs @@ -31,6 +31,7 @@ public abstract class ProjectCreationCommandBase public SolutionPackageVersionFinder SolutionPackageVersionFinder { get; } public ICmdHelper CmdHelper { get; } public IInstallLibsService InstallLibsService { get; } + public CliService CliService { get; } public AngularPwaSupportAdder AngularPwaSupportAdder { get; } public InitialMigrationCreator InitialMigrationCreator { get; } public ILocalEventBus EventBus { get; } @@ -43,6 +44,7 @@ public abstract class ProjectCreationCommandBase SolutionPackageVersionFinder solutionPackageVersionFinder, ICmdHelper cmdHelper, IInstallLibsService installLibsService, + CliService cliService, AngularPwaSupportAdder angularPwaSupportAdder, InitialMigrationCreator initialMigrationCreator, ThemePackageAdder themePackageAdder, @@ -54,6 +56,7 @@ public abstract class ProjectCreationCommandBase SolutionPackageVersionFinder = solutionPackageVersionFinder; CmdHelper = cmdHelper; InstallLibsService = installLibsService; + CliService = cliService; AngularPwaSupportAdder = angularPwaSupportAdder; InitialMigrationCreator = initialMigrationCreator; EventBus = eventBus; @@ -62,7 +65,7 @@ public abstract class ProjectCreationCommandBase Logger = NullLogger.Instance; } - protected ProjectBuildArgs GetProjectBuildArgs(CommandLineArgs commandLineArgs, string template, string projectName) + protected async Task GetProjectBuildArgsAsync(CommandLineArgs commandLineArgs, string template, string projectName) { var version = commandLineArgs.Options.GetOrNull(Options.Version.Short, Options.Version.Long); @@ -75,6 +78,15 @@ public abstract class ProjectCreationCommandBase if (preview) { Logger.LogInformation("Preview: yes"); + + var cliVersion = await CliService.GetCurrentCliVersionAsync(typeof(CliService).Assembly); + + if (!cliVersion.IsPrerelease) + { + throw new CliUsageException( + "You can only create a new preview solution with preview CLI version." + + " Update your ABP CLI to the preview version."); + } } var pwa = commandLineArgs.Options.ContainsKey(Options.ProgressiveWebApp.Short);