SmartCode.CLI 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global SmartCode.CLI --version 1.0.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local SmartCode.CLI --version 1.0.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SmartCode.CLI&version=1.0.0                
nuke :add-package SmartCode.CLI --version 1.0.0                

SmartCode

SmartCode = IDataSource → IBuildTask → IOutput ⇒ Build Everything

Introduction

SmartCode

SmartCode.Db (代码生成器)

Demo

SmartCode

Getting Started

  1. Install from .NET Core Global Tool
dotnet tool install --global SmartCode.CLI --version 1.0.0
  1. 编辑构建配置文件(默认:SmartCode.yml)
  2. 命令行执行SmartCode命令
    • SmartCode
    • 等待提示输入配置文件路径(可选:默认程序根目录下SmartCode.yml文件)
    • 回车执行命令
  3. 等待任务执行结束
  4. 查看输出目录结果

构建配置文件

Module: SmartSql.Starter
Author: Ahoo Wang
DataSource:
  Name: Db
  Paramters:
    DbName: SmartSqlStarterDB
    DbProvider: SqlServer
    ConnectionString: Data Source=.;Initial Catalog=SmartSqlStarterDB;Integrated Security=True
Language: CSharp
TemplateEngine: Razor 
Output: 
  Type: File
  Path: 'E://SmartSql-Starter'

# 构建任务
Build:
  ClearDir:
    Type: Clear
    Paramters:
      Dirs: '.'
  Solution:
    Type: Project
    Template: Sln.cshtml
    Output:
      Path: '.'
      Name: '{{Project.Module}}'
      Extension: '.sln'
  SmartSqlConfig:
    Type: Project
    Template: SqlMapConfig.cshtml
    Output:
      Path: '{{Project.Module}}.API'
      Name: 'SmartSqlMapConfig'
      Extension: '.xml'
  Entity_Project:
    Type: Project
    Template: Proj.cshtml
    Output:
      Path: '{{Project.Module}}.Entity'
      Name: '{{Project.Module}}.Entity'
      Extension: '.csproj'
  Entity:
    Type: Table
    Module: Entity
    Template: Entity.cshtml
    Output:
      Path: '{{Project.Module}}.{{Build.Module}}'
      Extension: '.cs'
    NamingConverter:
      Table:
        Tokenizer:
          Type: Default
          Paramters:
            IgnorePrefix: 'T_'
            Delimiter: '_'
        Converter:
          Type: Default
          Paramters: { }
      View:
        Tokenizer:
          Type: Default
          Paramters:
            IgnorePrefix: 'V_'
            Delimiter: '_'
        Converter:
          Type: Pascal
      Column:
        Tokenizer:
          Type: Default
          Paramters: 
            Delimiter: '_'
        Converter:
          Type: Pascal
  Repository_Project:
    Type: Project
    Template: Proj-Repository.cshtml
    Output:
      Path: '{{Project.Module}}.Repository'
      Name: '{{Project.Module}}.Repository'
      Extension: '.csproj'
  Repository:
    Type: Table
    Module: Repository
    Template: Repository.cshtml
    Output:
      Path: '{{Project.Module}}.{{Build.Module}}'
      Name: 'I{{OutputName}}Repository'
      Extension: .cs
    NamingConverter:
      Table:
        Tokenizer:
          Type: Default
          Paramters:
            IgnorePrefix: 'T_'
            Delimiter: '_'
        Converter:
          Type: Default
      View:
        Tokenizer:
          Type: Default
          Paramters: 
            IgnorePrefix: 'V_'
            Delimiter: '_'
        Converter:
          Type: Default

  SqlMap:
    Type: Table
    Template: SqlMap-SqlServer.cshtml
    Output:
      Path: '{{Project.Module}}.API/Maps'
      Extension: .xml
    IgnoreTables: null
    NamingConverter:
      Table:
        Tokenizer:
          Type: Default
          Paramters: 
            IgnorePrefix: 'T_'
            Delimiter: '_'
        Converter:
          Type: Default
      View:
        Tokenizer:
          Type: Default
          Paramters: 
            IgnorePrefix: 'V_'
            Delimiter: '_'
        Converter:
          Type: Default
      Column:
        Tokenizer:
          Type: Default
          Paramters: 
            IgnorePrefix: 'T_'
            Delimiter: '_'
        Converter:
          Type: Default
参数名 说明
Module 根模块名
Author 作者
DataSource 数据源
Language 语言:CSharp/Java/....
TemplateEngine 模板引擎:目前内置:Razor/Handlebars
Output 输出
Build 任务构建s
DataSource 数据源,Name:Db

属性 Name:Db,使用DbSource插件作为数据源

DbSource.Paramters 接受以下三个参数:

参数名 说明
DbName 数据库名称
DbProvider 数据驱动提供者:MySql,MariaDB,PostgreSql,SqlServer,Oracle,SQLite
ConnectionString 连接字符串
Build 任务构建
参数名 说明
Type 构建类型,Clear:用于清理目录s/文件s,Project:用于构建单文件,如:解决方案文件/项目文件,Table: 用于构建以数据表为基础的文件,如:Entity,Repository文件
Module 构建模块名
TemplateEngine 模板引擎,可选,默认使用根模块引擎
Template 模板文件
Output 输出
IncludeTables 包括表名s
IgnoreTables 忽略表名s
NamingConverter 命名转换器
Paramters 自定义构建参数
NamingConverter 命名转换
属性 说明
类型 Table/View/Column
Tokenizer 分词器
Converter 转换器:Camel/Pascal/None
NamingConverter.Tokenizer 分词器
属性 说明
Type Default
Paramters.IgnorePrefix 忽略前缀字符
Paramters.Delimiter 分隔符
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
3.0.1 2,492 6/16/2022
3.0.0 1,938 3/3/2022
2.4.0-preview.1 149 6/15/2022
2.4.0-preview.0 176 5/7/2022
2.3.7 1,915 3/3/2022
2.3.6 2,636 6/10/2020
2.3.5 2,016 4/29/2020
2.3.4 1,957 3/27/2020
2.3.3 1,682 3/27/2020
2.3.2 1,884 3/11/2020
2.3.1 2,066 3/11/2020
2.3.0 1,930 3/11/2020
2.2.95 1,851 2/17/2020
2.2.94 1,838 2/14/2020
2.2.93 1,958 2/14/2020
2.2.92 1,872 11/18/2019
2.2.90 2,005 11/12/2019
2.2.88 2,022 10/30/2019
2.2.86 1,912 10/23/2019
2.2.85 1,988 10/22/2019
2.2.84 1,787 10/22/2019
2.2.83 2,059 10/22/2019
2.2.82 1,880 10/21/2019
2.2.81 1,803 10/21/2019
2.2.80 1,674 10/21/2019
2.2.70 1,981 8/21/2019
2.2.68 1,973 8/5/2019
2.2.66 1,844 7/29/2019
2.2.65 1,844 7/22/2019
2.2.62 1,753 7/19/2019
2.2.60 2,133 7/19/2019
2.2.58 2,004 7/10/2019
2.2.57 2,054 7/8/2019
2.2.56 1,848 6/28/2019
2.2.55 2,007 6/11/2019
2.2.53 2,001 6/10/2019
2.2.52 2,135 6/4/2019
2.2.50 1,984 6/3/2019
2.2.48 1,896 5/23/2019
2.2.46 1,794 5/23/2019
2.2.45 2,909 5/7/2019
2.2.44 2,021 5/6/2019
2.2.42 2,149 4/30/2019
2.2.40 2,040 4/30/2019
2.2.38 2,235 4/30/2019
2.2.36 1,698 4/29/2019
2.2.30 1,985 4/26/2019
2.2.25 2,095 4/26/2019
2.2.22 1,892 4/25/2019
2.2.20 1,937 4/24/2019
2.2.10 1,970 4/23/2019
2.2.8 1,966 4/23/2019
2.2.2 2,028 4/18/2019
2.2.0 1,708 4/16/2019
2.1.10 1,686 4/16/2019
2.1.9 2,058 4/11/2019
2.1.8 1,838 4/10/2019
2.1.6 1,767 4/10/2019
2.1.5 2,186 4/1/2019
2.1.3 1,887 3/29/2019
2.1.2 1,732 3/25/2019
2.1.1 2,007 3/22/2019
2.1.0 1,873 3/22/2019
2.0.5 2,076 2/27/2019
2.0.4 2,352 12/17/2018
2.0.2 2,118 12/14/2018
2.0.0 102,741 12/14/2018
1.18.2 115,098 11/22/2018
1.18.1 15,467 11/16/2018
1.16.20 12,705 11/16/2018
1.16.19 12,254 11/16/2018
1.16.18 6,743 11/14/2018
1.16.16 3,590 11/7/2018
1.16.15 2,135 11/4/2018
1.16.13 8,994 11/4/2018
1.16.12 4,193 11/1/2018
1.16.6 10,372 10/31/2018
1.16.2 10,969 10/31/2018
1.16.1 46,630 10/31/2018
1.16.0 2,241 10/30/2018
1.12.0 2,057 10/30/2018
1.9.0 2,245 10/27/2018
1.8.1 2,699 10/26/2018
1.8.0 2,905 10/25/2018
1.7.6 3,198 10/24/2018
1.7.5 3,052 10/24/2018
1.7.2 3,431 10/22/2018
1.7.1 2,801 10/21/2018
1.6.9 2,366 10/20/2018
1.6.8.1 2,778 10/20/2018
1.6.8 3,083 10/20/2018
1.6.2 2,249 10/19/2018
1.5.0 2,301 10/18/2018
1.4.6 2,367 10/18/2018
1.3.9 2,297 10/17/2018
1.3.8 2,375 10/17/2018
1.3.6 2,128 10/15/2018
1.3.4 2,501 10/11/2018
1.3.0 2,193 10/9/2018
1.2.0 2,065 10/8/2018
1.1.0 2,499 10/7/2018
1.0.0 2,402 10/7/2018