VirtoCommerce.GlobalTool 3.809.0-alpha.230

Prefix Reserved
This is a prerelease version of VirtoCommerce.GlobalTool.
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global VirtoCommerce.GlobalTool --version 3.809.0-alpha.230                
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 VirtoCommerce.GlobalTool --version 3.809.0-alpha.230                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=VirtoCommerce.GlobalTool&version=3.809.0-alpha.230&prerelease                
nuke :add-package VirtoCommerce.GlobalTool --version 3.809.0-alpha.230                

Introduction

The VirtoCommerce Global Tool (vc-build) is the official CLI .NET Core GlobalTool that helps you build, test and deploy releases, create and push NuGet packages, provide package management for projects based on VirtoCommerce, and automate common DevOps tasks. It is powered by nuke.build - a cross-platform build automation system with C# DSL, that provides an approach to embrace existing IDE tooling and state where everyone in a team can manage and change the build scenarios. This allows writing build scenarios in C# and debugging them in Visual Studio. Also, along with cross-platform support, it was the best choice for us to build our own build automation solution on top of this project.

Check out the project source code for the implementation details.

vc-build CLI

The key features:

Build automation

  • build and bundle a module project (both managed and scripted parts)
  • discover and run all the unit tests from the solution
  • create and publish NuGet packages for projects from your solution, this can be helpful if you intend to re-use a module's logic in another project, you will be able to quickly publish the needed version as a NuGet package. In the private or public NuGet registry
  • include targets that allow performing various additional quality checks such as static code analysis (currently we support out-of-the-box integration with SonarCloud)

Packages management

  • install, update, uninstall modules
  • install and update a platform application
  • prepare backend package with specific versions of the platform and modules from the manifest file

The platform cold start optimization and data migration (WIP)

  • platform start optimization (slow run on Azure case)
  • get idempotent SQL scripts for all modules EF migrations with the ability to apply them in a specific order without installed platform and source code (helpful for migration from VirtoCommerce platform version 2 (latest) to version 3)

Before you start

Before you start using VirtoCommerce.GlobalTool, install the following in order to use all its functionality:

  • .NET SDK 5.x
  • Node.js 12.x
  • Git SCM

Installation

Run this command to install VirtoCommerce.GlobalTool on your machine:


dotnet tool install VirtoCommerce.GlobalTool  -g

Updating

Run this command to update VirtoCommerce.GlobalTool to the latest version:


dotnet tool update VirtoCommerce.GlobalTool -g

Getting started

To use VirtoCommerce.GlobalTool by invoke the tool run the following command: vc-build

To get the list of all targets:


vc-build help

Command output:

NUKE Execution Engine version 5.0.2 (Windows,.NETCoreApp,Version=v2.1)

Target with name 'help' does not exist. Available targets are:
  - ChangeVersion
  - Clean
  - ClearTemp
  - Compile
  - CompleteHotfix
  - CompleteRelease
  - Compress
  - GetManifestGit
  - GrabMigrator
  - IncrementMinor
  - IncrementPatch
  - Init
  - InitPlatform
  - Install
  - InstallModules
  - InstallPlatform
  - MassPullAndBuild
  - Pack
  - Publish
  - PublishManifestGit
  - PublishModuleManifest
  - PublishPackages
  - QuickRelease
  - Release
  - Restore
  - SonarQubeEnd
  - SonarQubeStart
  - StartAnalyzer
  - StartHotfix
  - StartRelease
  - SwaggerValidation
  - Test
  - Uninstall
  - Update
  - UpdateManifest
  - ValidateSwaggerSchema
  - WebPackBuild

To get help for the specific target:


vc-build help NameOfTheTarget

Usage examples

Below you can see how the specific target could be used

Compress

The target is used to create a redistributed zip archive for a module or platform. After executing, the resulting zip is placed in artifacts folder. To execute this target, you need to run this command in the root module folder of the cloned from GitHub repository.


vc-build compress

Console output


═══════════════════════════════════════
Target             Status      Duration
───────────────────────────────────────
Clean              Executed        0:00
Restore            Executed        0:07
Compile            Executed        0:06
WebPackBuild       Executed        0:00
Test               Executed        0:05
Publish            Executed        0:01
Compress           Executed        0:01
───────────────────────────────────────
Total                              0:23
═══════════════════════════════════════

StartRelease, CompleteRelease, QuickRelease, StartHotfix, CompleteHotfix

Used to automate the routine operations with release branches

StartRelease:
  • creates and pushes the new branch release/version from dev
CompleteRelease:
  • merges release/version into master and pushes
  • merges into dev branch, increments version's minor and pushes
QuickRelease:
  • triggers StartRelease and then CompleteRelease
StartHotfix:
  • increments version's patch in master
  • creates and pushes the new branch hotfix/version
CompleteHotfix:
  • merges hotfix branch into master
  • adds tag and pushes

Packages management

The vc-build provides the set of targets that allow you to easily install, uninstall, and update platform dependencies by simple CLI commands execution.

Install
vc-build install (with no args)
vc-build install -platform -version <version>
vc-build install -module <module> -version <version>
vc-build install -module <module>:<version>

This command downloads and install into the current folder the platform or modules with versions that are passed as the command parameters or defined in vc-package.json.

vc-package.json - file is used to maintain the list of installed modules with their versions. This allows vc-build to easily restore the platform with the modules when on a different machine, such as a build server, without all those packages.

  • vc-build install (with no args)

This target downloads and install into the current folder the platform and modules with versions described in vc-package.json. If vc-package.json is not found in the local folder, by default the command will download and install the latest platform and modules versions that are marked with the commerce group.

By default, install target will install all modules listed as dependencies in vc-package.json.

Examples:

vc-build install 
  • vc-build install -platform -version <version>

Fetch and install the platform with the specific version. If the platform with specified version does not exist in the registry, then this will fail. If no version is specified, the latest platform version will be installed.

Examples:

vc-build install -platform
vc-build install -platform -version 3.55.0
  • vc-build install -module -version <version>

Install the specified version of the module. This will fail if the version has not been published to the registry. If no version is specified, the latest module version will be installed. You can also install multiple modules with a single command by specifying multiple modules with their versions as arguments.

If the module to be installed has dependencies, their latest versions will be installed along with it.

This command also modified the vc-package.json with the installed dependencies after successful command execution.

Examples:

vc-build install -module VirtoCommerce.Cart
vc-build install -module VirtoCommerce.Cart -version 3.12.0
vc-build install -module VirtoCommerce.Cart:3.12.0 VirtoCommerce.Core:3.20.0
Update
vc-build update (with no args)
vc-build update -platform -version <version>
vc-build update -module <module> -version <version>

This command will update the platform and all modules listed to the version specified by <version>, respecting semver. If <version> is not specified the component will updated to the latest version. If no args are specified, the platform and all modules in the specified location will be updated.

This command also updated the installed dependencies versions in the vc-package.json

Examples:

vc-build update
vc-build update -platform
vc-build update -platform -version 3.14.0
vc-build update -module VirtoCommerce.Cart
vc-build update -module VirtoCommerce.Cart -version 3.30.0
Uninstall
vc-build uninstall -module <module>

This uninstalls a module and completely removes all modules that depend on it. It also removes uninstalled modules from your vc-package.json.

Examples:

vc-build uninstall -module VirtoCommerce.Cart
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows 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.810.0-alpha.236 77 3 days ago
3.810.0-alpha.235 889 17 days ago
3.810.0-alpha.234 141 22 days ago
3.810.0-alpha.233 88 23 days ago
3.809.0 3,109 23 days ago
3.809.0-alpha.231 101 25 days ago
3.809.0-alpha.230 558 a month ago
3.809.0-alpha.229 101 a month ago
3.808.0 2,684 a month ago
3.808.0-alpha.227 2,172 4 months ago
3.808.0-alpha.225 66 4 months ago
3.807.0 6,491 4 months ago
3.807.0-alpha.224 4,365 4 months ago
3.807.0-alpha.223 114 4 months ago
3.806.0 2,812 4 months ago
3.806.0-alpha.222 101 5 months ago
3.806.0-alpha.221 166 5 months ago
3.805.0 3,424 5 months ago
3.805.0-alpha.220 88 5 months ago
3.805.0-alpha.219 99 5 months ago
3.805.0-alpha.218 96 5 months ago
3.805.0-alpha.217 93 5 months ago
3.804.0 5,902 7 months ago
3.804.0-alpha.215 280 7 months ago
3.804.0-alpha.214 99 7 months ago
3.804.0-alpha.213 103 7 months ago
3.803.0 1,639 7 months ago
3.803.0-alpha.212 790 7 months ago
3.803.0-alpha.211 65 7 months ago
3.803.0-alpha.210 65 7 months ago
3.803.0-alpha.209 58 7 months ago
3.803.0-alpha.208 78 7 months ago
3.803.0-alpha.206 162 9 months ago
3.802.0 6,443 9 months ago
3.802.0-alpha.205 428 9 months ago
3.802.0-alpha.204 131 9 months ago
3.802.0-alpha.203 149 5/10/2024
3.801.0 3,358 5/10/2024
3.801.0-alpha.202 112 5/8/2024
3.801.0-alpha.201 56 5/2/2024
3.801.0-alpha.200 44 5/2/2024
3.800.0 3,831 4/15/2024
3.800.0-alpha.197 98 4/15/2024
3.800.0-alpha.196 1,456 4/11/2024
3.800.0-alpha.195 146 4/10/2024
3.800.0-alpha.194 132 4/9/2024
3.800.0-alpha.193 100 4/9/2024
3.800.0-alpha.192 172 4/3/2024
3.800.0-alpha.190 90 3/29/2024
3.800.0-alpha.189 102 3/29/2024
3.800.0-alpha.188 244 3/26/2024
3.800.0-alpha.187 128 3/25/2024
3.800.0-alpha.186 87 3/25/2024
3.800.0-alpha.185 146 3/21/2024
3.800.0-alpha.184 91 3/21/2024
3.800.0-alpha.183 89 3/20/2024
3.800.0-alpha.182 84 3/19/2024
3.800.0-alpha.181 99 3/15/2024
3.800.0-alpha.180 89 3/12/2024
3.800.0-alpha.179 93 3/12/2024
3.800.0-alpha.178 104 3/11/2024
3.800.0-alpha.177 94 3/7/2024
3.800.0-alpha.176 127 2/22/2024
3.800.0-alpha.175 107 2/22/2024
3.21.5 5,703 3/12/2024
3.21.4 412 3/11/2024
3.21.3 575 3/6/2024
3.21.2 826 3/1/2024
3.21.1 963 2/23/2024
3.21.0 788 2/20/2024
3.21.0-alpha.173 88 2/20/2024
3.20.0 4,867 1/25/2024
3.20.0-alpha.171 341 1/24/2024
3.20.0-alpha.170 91 1/12/2024
3.20.0-alpha.169 94 1/11/2024
3.20.0-alpha.168 105 1/9/2024
3.20.0-alpha.167 101 12/26/2023
3.19.0 3,499 12/8/2023
3.19.0-alpha.165 96 12/7/2023
3.19.0-alpha.164 126 11/14/2023
3.19.0-alpha.163 84 11/13/2023
3.19.0-alpha.162 119 10/26/2023
3.19.0-alpha.161 142 10/4/2023
3.18.0 6,073 10/3/2023
3.18.0-alpha.159 143 10/3/2023
3.17.0 412 10/3/2023
3.17.0-alpha.157 122 9/22/2023
3.17.0-alpha.156 135 9/14/2023
3.17.0-alpha.155 121 9/13/2023
3.17.0-alpha.153 130 9/8/2023
3.16.0 4,074 8/24/2023
3.16.0-alpha.150 113 8/24/2023
3.16.0-alpha.149 101 8/24/2023
3.16.0-alpha.148 124 8/22/2023
3.16.0-alpha.147 108 8/22/2023
3.16.0-alpha.146 117 8/21/2023
3.15.0 9,467 8/8/2023
3.15.0-alpha.144 101 8/8/2023
3.15.0-alpha.143 142 8/7/2023
3.15.0-alpha.142 142 8/7/2023
3.15.0-alpha.141 160 7/10/2023
3.15.0-alpha.140 308 7/6/2023
3.15.0-alpha.139 149 7/6/2023
3.15.0-alpha.138 128 7/6/2023
3.15.0-alpha.137 121 6/15/2023
3.15.0-alpha.136 204 4/17/2023
3.14.0 9,816 4/17/2023
3.14.0-alpha.135 6,855 4/12/2023
3.14.0-alpha.134 226 4/6/2023
3.14.0-alpha.133 206 4/3/2023
3.13.0 1,447 4/3/2023
3.13.0-alpha.131 737 3/31/2023
3.13.0-alpha.130 224 3/29/2023
3.13.0-alpha.129 214 3/29/2023
3.13.0-alpha.128 370 3/24/2023
3.13.0-alpha.127 212 2/22/2023
3.13.0-alpha.126 2,038 2/21/2023
3.13.0-alpha.125 172 2/16/2023
3.12.0 4,168 2/16/2023
3.12.0-alpha.122 158 2/15/2023
3.12.0-alpha.121 204 2/8/2023
3.12.0-alpha.120 240 1/30/2023
3.12.0-alpha.118 199 1/20/2023
3.11.1 6,546 1/20/2023
3.11.0 572 1/19/2023
3.11.0-alpha.116 190 1/19/2023
3.11.0-alpha.113 182 1/18/2023
3.11.0-alpha.112 198 1/18/2023
3.11.0-alpha.111 180 1/18/2023
3.11.0-alpha.110 174 1/17/2023
3.11.0-alpha.109 203 1/16/2023
3.11.0-alpha.108 177 1/16/2023
3.11.0-alpha.107 208 1/13/2023
3.11.0-alpha.106 182 12/22/2022
3.11.0-alpha.105 161 12/21/2022
3.10.1 3,158 12/22/2022
3.10.0 2,203 12/21/2022
3.10.0-alpha.104 170 12/20/2022
3.10.0-alpha.103 172 12/20/2022
3.10.0-alpha.102 184 12/12/2022
3.10.0-alpha.101 163 12/12/2022
3.10.0-alpha.100 160 12/6/2022
3.10.0-alpha.99 2,913 12/1/2022
3.10.0-alpha.98 169 12/1/2022
3.10.0-alpha.96 147 11/29/2022
3.9.0 2,560 11/29/2022
3.9.0-alpha.95 155 11/28/2022
3.9.0-alpha.94 148 11/28/2022
3.8.0 15,650 10/24/2022
3.7.0 806 10/17/2022
3.7.0-alpha.92 225 9/26/2022
3.7.0-alpha.91 290 8/29/2022
3.7.0-alpha.90 182 8/24/2022
3.7.0-alpha.89 182 8/19/2022
3.6.0 4,313 8/19/2022
3.6.0-alpha.88 3,637 8/17/2022
3.6.0-alpha.87 189 8/12/2022
3.6.0-alpha.85 194 8/12/2022
3.6.0-alpha.84 197 7/21/2022
3.5.0 2,053 7/21/2022
3.5.0-alpha.83 199 7/21/2022
3.5.0-alpha.80 215 5/26/2022
3.4.1 4,525 5/27/2022
3.4.0 1,191 5/26/2022
3.4.0-alpha.76 200 5/26/2022
3.4.0-alpha.75 219 5/25/2022
3.3.0 2,063 4/26/2022
3.3.0-alpha.73 233 4/26/2022
3.3.0-alpha.72 228 4/20/2022
3.3.0-alpha.71 219 4/14/2022
3.3.0-alpha.70 276 4/14/2022
3.3.0-alpha.69 290 4/6/2022
3.3.0-alpha.67 193 4/5/2022
3.3.0-alpha.66 213 3/31/2022
3.2.0 2,222 3/31/2022
3.2.0-alpha.55 218 3/31/2022
3.2.0-alpha.54 210 3/30/2022
3.2.0-alpha.53 222 3/23/2022
3.2.0-alpha.52 214 2/25/2022
3.1.0 1,631 2/25/2022
3.1.0-alpha.51 218 2/25/2022
3.1.0-alpha.50 591 2/7/2022
3.1.0-alpha.49 219 2/3/2022
3.1.0-alpha.48 221 2/1/2022
3.1.0-alpha.47 239 2/1/2022
3.1.0-alpha.46 218 2/1/2022
3.1.0-alpha.45 222 1/31/2022
3.1.0-alpha.44 227 1/28/2022
3.0.0 2,263 1/28/2022
3.0.0-alpha.43 225 1/28/2022
3.0.0-alpha.42 231 1/28/2022
2.6.0-alpha.41 214 1/26/2022
2.6.0-alpha.40 220 1/25/2022
2.6.0-alpha.39 214 1/21/2022
2.5.1 5,630 2/2/2022
2.5.0 1,596 1/21/2022
2.5.0-alpha.38 208 1/21/2022
2.5.0-alpha.37 221 1/20/2022
2.5.0-alpha.36 232 1/18/2022
2.5.0-alpha.35 214 1/13/2022
2.4.0 696 1/13/2022
2.4.0-alpha.34 210 1/13/2022
2.4.0-alpha.33 219 1/12/2022
2.3.0 508 1/12/2022
2.3.0-alpha.32 204 1/12/2022
2.3.0-alpha.31 205 12/28/2021
2.2.0 647 12/28/2021
2.2.0-alpha.30 215 12/27/2021
2.2.0-alpha.29 1,177 12/20/2021
2.2.0-alpha.28 230 12/17/2021
2.2.0-alpha.27 227 12/17/2021
2.2.0-alpha.26 204 12/17/2021
2.2.0-alpha.25 243 12/15/2021
2.1.0 1,225 10/1/2021
2.1.0-alpha.24 248 12/15/2021
2.1.0-alpha.22 305 12/14/2021
2.1.0-alpha.21 242 12/8/2021
2.1.0-alpha.20 211 11/29/2021
2.1.0-alpha.19 230 11/29/2021
2.1.0-alpha.18 225 11/29/2021
2.1.0-alpha.17 3,154 11/26/2021
2.1.0-alpha.15 224 9/30/2021
2.1.0-alpha.14 381 9/29/2021
2.1.0-alpha.12 231 9/23/2021
2.1.0-alpha.11 258 9/22/2021
2.1.0-alpha.10 248 9/22/2021
2.1.0-alpha.9 229 9/3/2021
2.0.0 3,251 8/20/2021
2.0.0-beta0011 310 8/20/2021
2.0.0-beta0010 426 7/22/2021
2.0.0-beta0009 326 7/22/2021
2.0.0-beta0008 353 7/22/2021
2.0.0-beta0007 675 7/13/2021
2.0.0-beta0006 342 7/13/2021
2.0.0-beta0005 378 7/7/2021
2.0.0-beta0004 346 7/6/2021
2.0.0-beta0003 349 7/1/2021
2.0.0-beta0002 322 7/1/2021
2.0.0-beta0001 492 6/24/2021
2.0.0-alpha.38 242 8/20/2021
2.0.0-alpha.37 256 8/19/2021
2.0.0-alpha.36 261 8/19/2021
2.0.0-alpha.35 220 8/19/2021
2.0.0-alpha.34 233 8/18/2021
2.0.0-alpha.33 236 8/17/2021
2.0.0-alpha.32 234 8/16/2021
2.0.0-alpha.30 228 8/13/2021
2.0.0-alpha.28 237 8/13/2021
2.0.0-alpha.26 229 8/5/2021
2.0.0-alpha.20 295 8/2/2021
2.0.0-alpha.19 695 7/22/2021
2.0.0-alpha.16 235 7/22/2021
2.0.0-alpha.7 232 8/20/2021
1.7.5 17,263 5/28/2021
1.7.4 2,102 5/26/2021
1.7.3 607 5/26/2021
1.7.3-beta0005 497 5/21/2021
1.7.3-beta0004 354 5/21/2021
1.7.3-beta0003 362 5/20/2021
1.7.3-beta0002 334 5/20/2021
1.7.3-beta0001 339 5/20/2021
1.7.2 853 5/18/2021
1.7.2-beta0015 326 5/17/2021
1.7.2-beta0014 314 5/14/2021
1.7.2-beta0013 277 5/14/2021
1.7.2-beta0012 284 5/14/2021
1.7.2-beta0011 299 5/14/2021
1.7.2-beta0010 288 5/13/2021
1.7.2-beta0009 513 5/12/2021
1.7.2-beta0008 301 5/12/2021
1.7.2-beta0007 436 5/7/2021
1.7.2-beta0006 461 5/5/2021
1.7.2-beta0005 295 5/5/2021
1.7.2-beta0004 374 5/4/2021
1.7.2-beta0003 297 5/4/2021
1.7.2-beta0002 301 5/4/2021
1.7.2-beta0001 294 5/4/2021
1.7.1 1,228 4/30/2021
1.7.1-beta0002 450 4/29/2021
1.7.1-beta0001 340 4/29/2021
1.7.0 724 4/21/2021
1.7.0-beta0001 293 4/16/2021
1.6.0 627 4/12/2021
1.6.0-beta0001 860 4/9/2021
1.5.2 516 4/6/2021
1.5.2-beta0012 425 4/5/2021
1.5.2-beta0011 313 4/2/2021
1.5.2-beta0010 628 3/25/2021
1.5.2-beta0009 329 3/25/2021
1.5.2-beta0008 347 3/23/2021
1.5.2-beta0007 355 3/23/2021
1.5.2-beta0006 661 3/4/2021
1.5.2-beta0005 579 2/18/2021
1.5.2-beta0004 334 2/18/2021
1.5.2-beta0003 326 2/18/2021
1.5.2-beta0002 327 2/18/2021
1.5.2-beta0001 315 2/18/2021
1.5.1 2,686 1/26/2021
1.5.0 555 1/25/2021
1.4.19-beta0002 431 1/19/2021
1.4.19-beta0001 286 1/13/2021
1.4.18 3,794 11/3/2020
1.4.17 1,057 10/21/2020
1.4.16 620 10/19/2020
1.4.15 1,116 10/5/2020
1.4.14 583 10/5/2020
1.4.13 817 9/25/2020
1.4.12 603 9/25/2020
1.4.11 602 9/24/2020
1.4.10 581 9/24/2020
1.4.9 574 9/24/2020
1.4.8 687 9/22/2020
1.4.7 607 9/22/2020
1.4.6 867 9/11/2020
1.4.5 576 9/10/2020
1.4.4 686 9/9/2020
1.4.3 607 9/7/2020
1.4.2 684 9/4/2020
1.4.1 642 9/3/2020
1.4.0 685 8/31/2020
1.3.7 709 8/21/2020
1.3.6 622 8/19/2020
1.3.5 896 8/13/2020
1.3.4 692 8/5/2020
1.3.3 619 8/5/2020
1.3.2 598 8/4/2020
1.3.1 586 8/4/2020
1.3.0 694 7/22/2020
1.2.0 622 7/9/2020
1.1.1 638 6/26/2020
1.1.0 627 6/25/2020
1.0.2 671 6/18/2020
1.0.1 638 6/11/2020
1.0.0 2,910 6/8/2020