Skip to content

Commit

Permalink
0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
zhk0603 committed Apr 13, 2020
1 parent b07be1b commit 8ca4379
Show file tree
Hide file tree
Showing 17 changed files with 80 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/cli/AbpVueCli/AbpVueCli.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29926.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbpVueCli", "AbpVueCli\AbpVueCli.csproj", "{3E946C73-B4BE-4D5B-8C68-030C052F0E60}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AbpVueCli", "AbpVueCli\AbpVueCli.csproj", "{3E946C73-B4BE-4D5B-8C68-030C052F0E60}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
11 changes: 8 additions & 3 deletions src/cli/AbpVueCli/AbpVueCli/AbpVueCli.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@
<AssemblyName>AbpVue</AssemblyName>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackAsTool>true</PackAsTool>
<AssemblyVersion>0.1.0.0</AssemblyVersion>
<FileVersion>0.1.0.0</FileVersion>
<Version>0.1.0</Version>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<FileVersion>0.2.0.0</FileVersion>
<Version>0.2.0</Version>
<Description>AbpVue 通过读取 OpenApi 文档自动生成页面、模型、接口等,帮助你快速开发vue应用程序。</Description>
<Copyright>赵坤</Copyright>
<PackageProjectUrl>https://github.com/zhk0603/abp-vue</PackageProjectUrl>
<RepositoryUrl>https://github.com/zhk0603/abp-vue/tree/master/src/cli/AbpVueCli</RepositoryUrl>
<PackageTags>abpvue vue helper generator</PackageTags>
</PropertyGroup>

<ItemGroup>
Expand Down
13 changes: 12 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/ApiCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace AbpVueCli.Commands
{
public class ApiCommand : CommandBase
{
public ApiCommand(IServiceProvider serviceProvider) : base(serviceProvider, "api", "api")
public ApiCommand(IServiceProvider serviceProvider) : base(serviceProvider, "api", "只生成API层的文件")
{
AddArgument(new Argument<string>("module") { Description = "模块名称" });
AddArgument(new Argument<string>("modulePrefix") { Description = "模块api路径的前缀" });
Expand All @@ -22,6 +22,11 @@ public ApiCommand(IServiceProvider serviceProvider) : base(serviceProvider, "api
Argument = new Argument<string>()
});

AddOption(new Option(new[] { "--no-overwrite" }, "指定不覆盖现有文件")
{
Argument = new Argument<bool>()
});

Handler = CommandHandler.Create((GenerateCommandOptionBasic options) => Run(options));

}
Expand All @@ -39,6 +44,12 @@ private async Task Run(GenerateCommandOptionBasic options)
step.ValueExpression =
new JavaScriptExpression<GenerateCommandOptionBasic>($"({options.ToJson()})");
})
.Then<SetVariable>(
step =>
{
step.VariableName = "Overwrite";
step.ValueExpression = new JavaScriptExpression<bool>("!Option.NoOverwrite");
})
.Then<ProjectFinderStep>()
.Then<ProjectInfoProviderStep>()
.Then<OpenApiDocumentProviderStep>()
Expand Down
13 changes: 12 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/CreateCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace AbpVueCli.Commands
{
public class CreateCommand : CommandBase
{
public CreateCommand(IServiceProvider serviceProvider) : base(serviceProvider, "create", "create")
public CreateCommand(IServiceProvider serviceProvider) : base(serviceProvider, "create", "只生成Create视图文件")
{
AddArgument(new Argument<string>("module") { Description = "模块名称" });
AddArgument(new Argument<string>("modulePrefix") { Description = "模块api路径的前缀" });
Expand All @@ -22,6 +22,11 @@ public CreateCommand(IServiceProvider serviceProvider) : base(serviceProvider, "
Argument = new Argument<string>()
});

AddOption(new Option(new[] { "--no-overwrite" }, "指定不覆盖现有文件")
{
Argument = new Argument<bool>()
});

Handler = CommandHandler.Create((GenerateCommandOptionBasic options) => Run(options));
}

Expand All @@ -37,6 +42,12 @@ private async Task Run(GenerateCommandOptionBasic options)
step.VariableName = "Option";
step.ValueExpression = new JavaScriptExpression<GenerateCommandOptionBasic>($"({options.ToJson()})");
})
.Then<SetVariable>(
step =>
{
step.VariableName = "Overwrite";
step.ValueExpression = new JavaScriptExpression<bool>("!Option.NoOverwrite");
})
.Then<ProjectFinderStep>()
.Then<ProjectInfoProviderStep>()
.Then<OpenApiDocumentProviderStep>()
Expand Down
13 changes: 12 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/CrudCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace AbpVueCli.Commands
{
public class CrudCommand : CommandBase
{
public CrudCommand(IServiceProvider serviceProvider) : base(serviceProvider, "crud", "crud")
public CrudCommand(IServiceProvider serviceProvider) : base(serviceProvider, "crud", "根据指定的模块生成CRUD的相关文件")
{
AddArgument(new Argument<string>("module") {Description = "模块名称"});
AddArgument(new Argument<string>("modulePrefix") {Description = "模块api路径的前缀"});
Expand All @@ -23,6 +23,11 @@ public CrudCommand(IServiceProvider serviceProvider) : base(serviceProvider, "cr
Argument = new Argument<string>()
});

AddOption(new Option(new[] { "--no-overwrite" }, "指定不覆盖现有文件")
{
Argument = new Argument<bool>()
});

Handler = CommandHandler.Create((GenerateCommandOptionBasic options) => Run(options));
}

Expand All @@ -38,6 +43,12 @@ private async Task Run(GenerateCommandOptionBasic options)
step.VariableName = "Option";
step.ValueExpression = new JavaScriptExpression<GenerateCommandOptionBasic>($"({options.ToJson()})");
})
.Then<SetVariable>(
step =>
{
step.VariableName = "Overwrite";
step.ValueExpression = new JavaScriptExpression<bool>("!Option.NoOverwrite");
})
.Then<ProjectFinderStep>()
.Then<ProjectInfoProviderStep>()
.Then<OpenApiDocumentProviderStep>()
Expand Down
21 changes: 16 additions & 5 deletions src/cli/AbpVueCli/AbpVueCli/Commands/EditCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,21 @@ namespace AbpVueCli.Commands
{
public class EditCommand : CommandBase
{
public EditCommand(IServiceProvider serviceProvider) : base(serviceProvider, "edit", "edit")
public EditCommand(IServiceProvider serviceProvider) : base(serviceProvider, "edit", "只生成Edit视图文件")
{
AddArgument(new Argument<string>("module") { Description = "模块名称" });
AddArgument(new Argument<string>("modulePrefix") { Description = "模块api路径的前缀" });
AddArgument(new Argument<string>("modulePrefix") { Description = "api接口路径的前缀" });

AddOption(new Option(new string[] { "-d", "--directory" }, "项目目录")
AddOption(new Option(new string[] { "-d", "--directory" }, "项目目录")
{
Argument = new Argument<string>()
});

AddOption(new Option(new[] { "--no-overwrite" }, "指定不覆盖现有文件")
{
Argument = new Argument<bool>()
});

Handler = CommandHandler.Create((GenerateCommandOptionBasic options) => Run(options));
}

Expand All @@ -35,8 +40,15 @@ private async Task Run(GenerateCommandOptionBasic options)
.Then<SetVariable>(step =>
{
step.VariableName = "Option";
step.ValueExpression = new JavaScriptExpression<GenerateCommandOptionBasic>($"({options.ToJson()})");
step.ValueExpression =
new JavaScriptExpression<GenerateCommandOptionBasic>($"({options.ToJson()})");
})
.Then<SetVariable>(
step =>
{
step.VariableName = "Overwrite";
step.ValueExpression = new JavaScriptExpression<bool>("!Option.NoOverwrite");
})
.Then<ProjectFinderStep>()
.Then<ProjectInfoProviderStep>()
.Then<OpenApiDocumentProviderStep>()
Expand All @@ -48,6 +60,5 @@ private async Task Run(GenerateCommandOptionBasic options)
return builder.Build();
});
}

}
}
2 changes: 1 addition & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/GenerateCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace AbpVueCli.Commands
public class GenerateCommand : CommandBase
{
public GenerateCommand(IServiceProvider serviceProvider) : base(
serviceProvider, "generate", "generate")
serviceProvider, "generate", "生成文件")
{
AddCommand<CrudCommand>();
AddCommand<ApiCommand>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ public class GenerateCommandOptionBasic
public string ModulePrefix { get; set; }
public string Module { get; set; }
public string Directory { get; set; }
public bool NoOverwrite { get; set; }
}
}
2 changes: 1 addition & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/InitCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace AbpVueCli.Commands
{
public class InitCommand : CommandBase
{
public InitCommand(IServiceProvider serviceProvider) : base(serviceProvider, "init", "")
public InitCommand(IServiceProvider serviceProvider) : base(serviceProvider, "init", "初始化项目,添加AbpVue运行时需要的文件")
{
AddOption(new Option(new string[] {"-o", "--openApiAddr"}, "接口地址。")
{
Expand Down
2 changes: 1 addition & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/ListCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace AbpVueCli.Commands
{
public class ListCommand : CommandBase
{
public ListCommand(IServiceProvider serviceProvider) : base(serviceProvider, "list", "list")
public ListCommand(IServiceProvider serviceProvider) : base(serviceProvider, "list", "只生成List视图文件")
{
AddArgument(new Argument<string>("module") { Description = "模块名称" });
AddArgument(new Argument<string>("modulePrefix") { Description = "模块api路径的前缀" });
Expand Down
2 changes: 1 addition & 1 deletion src/cli/AbpVueCli/AbpVueCli/Commands/ModelCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace AbpVueCli.Commands
{
public class ModelCommand : CommandBase
{
public ModelCommand(IServiceProvider serviceProvider) : base(serviceProvider, "model", "model")
public ModelCommand(IServiceProvider serviceProvider) : base(serviceProvider, "model", "只生成Model层的文件")
{
AddArgument(new Argument<string>("module") { Description = "模块名称" });
AddArgument(new Argument<string>("modulePrefix") { Description = "模块api路径的前缀" });
Expand Down
4 changes: 3 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,9 @@ static async Task Main(string[] args)
"edit",
"tenant",
"/api/multi-tenancy/tenants",
"-d", @"D:\Workspaces\01.github\zhk0603\abp-vue\src\vue"
"-d", @"D:\Workspaces\01.github\zhk0603\abp-vue\src\vue",

"--no-overwrite"
};
#endif

Expand Down
3 changes: 2 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Steps/GenerateApiStep.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public class GenerateApiStep : Step
throw new DirectoryNotFoundException($"Template group directory {tempDir} does not exist.");
var targetDirectory = Path.Combine(context.GetVariable<string>("ProjectDirectory"), "src", "api");

await GenerateFiles(tempDir, targetDirectory, modelInfo, true);
var overwrite = context.GetVariable<bool>("Overwrite");
await GenerateFiles(tempDir, targetDirectory, modelInfo, overwrite);

return Done();
}
Expand Down
3 changes: 2 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Steps/GenerateCreateViewStep.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ protected override async Task<ActivityExecutionResult> OnExecuteAsync(WorkflowEx
Properties = apiSchema.Properties
};

await GenerateFiles(tempDir, targetDirectory, model, true);
var overwrite = context.GetVariable<bool>("Overwrite");
await GenerateFiles(tempDir, targetDirectory, model, overwrite);

return Done();
}
Expand Down
4 changes: 3 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Steps/GenerateEditViewStep.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ protected override async Task<ActivityExecutionResult> OnExecuteAsync(WorkflowEx
Properties = apiSchema.Properties
};

await GenerateFiles(tempDir, targetDirectory, model, true);
var overwrite = context.GetVariable<bool>("Overwrite");

await GenerateFiles(tempDir, targetDirectory, model, overwrite);

return Done();
}
Expand Down
3 changes: 2 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Steps/GenerateListViewStep.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ protected override async Task<ActivityExecutionResult> OnExecuteAsync(WorkflowEx
ListProperty = GetListProperty(getListApi, modelInfo.ProjectInfo)
};

await GenerateFiles(tempDir, targetDirectory, model, true);
var overwrite = context.GetVariable<bool>("Overwrite");
await GenerateFiles(tempDir, targetDirectory, model, overwrite);

return Done();
}
Expand Down
3 changes: 2 additions & 1 deletion src/cli/AbpVueCli/AbpVueCli/Steps/GenerateModelStep.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ protected override async Task<ActivityExecutionResult> OnExecuteAsync(WorkflowEx
RequestBodySchema = apiSchema
};

await GenerateFiles(tempDir, targetDirectory, model, true);
var overwrite = context.GetVariable<bool>("Overwrite");
await GenerateFiles(tempDir, targetDirectory, model, overwrite);

return Done();
}
Expand Down

0 comments on commit 8ca4379

Please sign in to comment.