VirtoCommerce.GlobalTool 3.800.0-alpha.192

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.800.0-alpha.192                
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.800.0-alpha.192                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=VirtoCommerce.GlobalTool&version=3.800.0-alpha.192&prerelease                
nuke :add-package VirtoCommerce.GlobalTool --version 3.800.0-alpha.192                

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.808.0-alpha.227 269 11/19/2024
3.808.0-alpha.225 56 11/18/2024
3.807.0 4,185 11/18/2024
3.807.0-alpha.224 3,494 11/12/2024
3.807.0-alpha.223 98 10/29/2024
3.806.0 2,795 10/29/2024
3.806.0-alpha.222 90 10/23/2024
3.806.0-alpha.221 144 10/7/2024
3.805.0 3,385 10/7/2024
3.805.0-alpha.220 73 10/4/2024
3.805.0-alpha.219 89 10/3/2024
3.805.0-alpha.218 80 10/3/2024
3.805.0-alpha.217 83 10/3/2024
3.804.0 5,897 8/26/2024
3.804.0-alpha.215 275 8/21/2024
3.804.0-alpha.214 94 8/21/2024
3.804.0-alpha.213 97 8/12/2024
3.803.0 1,619 8/12/2024
3.803.0-alpha.212 785 8/1/2024
3.803.0-alpha.211 60 7/31/2024
3.803.0-alpha.210 60 7/31/2024
3.803.0-alpha.209 53 7/31/2024
3.803.0-alpha.208 68 7/30/2024
3.803.0-alpha.206 156 6/6/2024
3.802.0 6,436 6/6/2024
3.802.0-alpha.205 421 5/29/2024
3.802.0-alpha.204 111 5/28/2024
3.802.0-alpha.203 133 5/10/2024
3.801.0 3,347 5/10/2024
3.801.0-alpha.202 105 5/8/2024
3.801.0-alpha.201 45 5/2/2024
3.801.0-alpha.200 32 5/2/2024
3.800.0 3,436 4/15/2024
3.800.0-alpha.197 92 4/15/2024
3.800.0-alpha.196 1,449 4/11/2024
3.800.0-alpha.195 140 4/10/2024
3.800.0-alpha.194 126 4/9/2024
3.800.0-alpha.193 89 4/9/2024
3.800.0-alpha.192 160 4/3/2024
3.800.0-alpha.190 83 3/29/2024
3.800.0-alpha.189 95 3/29/2024
3.800.0-alpha.188 242 3/26/2024
3.800.0-alpha.187 122 3/25/2024
3.800.0-alpha.186 86 3/25/2024
3.800.0-alpha.185 140 3/21/2024
3.800.0-alpha.184 90 3/21/2024
3.800.0-alpha.183 83 3/20/2024
3.800.0-alpha.182 83 3/19/2024
3.800.0-alpha.181 97 3/15/2024
3.800.0-alpha.180 88 3/12/2024
3.800.0-alpha.179 92 3/12/2024
3.800.0-alpha.178 98 3/11/2024
3.800.0-alpha.177 88 3/7/2024
3.800.0-alpha.176 119 2/22/2024
3.800.0-alpha.175 99 2/22/2024
3.21.5 5,606 3/12/2024
3.21.4 411 3/11/2024
3.21.3 573 3/6/2024
3.21.2 824 3/1/2024
3.21.1 962 2/23/2024
3.21.0 781 2/20/2024
3.21.0-alpha.173 81 2/20/2024
3.20.0 4,866 1/25/2024
3.20.0-alpha.171 340 1/24/2024
3.20.0-alpha.170 90 1/12/2024
3.20.0-alpha.169 92 1/11/2024
3.20.0-alpha.168 104 1/9/2024
3.20.0-alpha.167 100 12/26/2023
3.19.0 3,498 12/8/2023
3.19.0-alpha.165 95 12/7/2023
3.19.0-alpha.164 125 11/14/2023
3.19.0-alpha.163 83 11/13/2023
3.19.0-alpha.162 118 10/26/2023
3.19.0-alpha.161 141 10/4/2023
3.18.0 6,031 10/3/2023
3.18.0-alpha.159 142 10/3/2023
3.17.0 411 10/3/2023
3.17.0-alpha.157 121 9/22/2023
3.17.0-alpha.156 134 9/14/2023
3.17.0-alpha.155 120 9/13/2023
3.17.0-alpha.153 129 9/8/2023
3.16.0 4,065 8/24/2023
3.16.0-alpha.150 112 8/24/2023
3.16.0-alpha.149 100 8/24/2023
3.16.0-alpha.148 123 8/22/2023
3.16.0-alpha.147 107 8/22/2023
3.16.0-alpha.146 116 8/21/2023
3.15.0 9,463 8/8/2023
3.15.0-alpha.144 97 8/8/2023
3.15.0-alpha.143 137 8/7/2023
3.15.0-alpha.142 132 8/7/2023
3.15.0-alpha.141 159 7/10/2023
3.15.0-alpha.140 302 7/6/2023
3.15.0-alpha.139 148 7/6/2023
3.15.0-alpha.138 127 7/6/2023
3.15.0-alpha.137 118 6/15/2023
3.15.0-alpha.136 199 4/17/2023
3.14.0 9,671 4/17/2023
3.14.0-alpha.135 6,845 4/12/2023
3.14.0-alpha.134 217 4/6/2023
3.14.0-alpha.133 197 4/3/2023
3.13.0 1,438 4/3/2023
3.13.0-alpha.131 733 3/31/2023
3.13.0-alpha.130 220 3/29/2023
3.13.0-alpha.129 210 3/29/2023
3.13.0-alpha.128 361 3/24/2023
3.13.0-alpha.127 207 2/22/2023
3.13.0-alpha.126 2,028 2/21/2023
3.13.0-alpha.125 167 2/16/2023
3.12.0 4,163 2/16/2023
3.12.0-alpha.122 148 2/15/2023
3.12.0-alpha.121 199 2/8/2023
3.12.0-alpha.120 235 1/30/2023
3.12.0-alpha.118 194 1/20/2023
3.11.1 6,361 1/20/2023
3.11.0 562 1/19/2023
3.11.0-alpha.116 185 1/19/2023
3.11.0-alpha.113 177 1/18/2023
3.11.0-alpha.112 193 1/18/2023
3.11.0-alpha.111 170 1/18/2023
3.11.0-alpha.110 169 1/17/2023
3.11.0-alpha.109 197 1/16/2023
3.11.0-alpha.108 171 1/16/2023
3.11.0-alpha.107 202 1/13/2023
3.11.0-alpha.106 171 12/22/2022
3.11.0-alpha.105 150 12/21/2022
3.10.1 3,142 12/22/2022
3.10.0 2,040 12/21/2022
3.10.0-alpha.104 164 12/20/2022
3.10.0-alpha.103 166 12/20/2022
3.10.0-alpha.102 173 12/12/2022
3.10.0-alpha.101 157 12/12/2022
3.10.0-alpha.100 149 12/6/2022
3.10.0-alpha.99 2,907 12/1/2022
3.10.0-alpha.98 163 12/1/2022
3.10.0-alpha.96 141 11/29/2022
3.9.0 2,554 11/29/2022
3.9.0-alpha.95 149 11/28/2022
3.9.0-alpha.94 138 11/28/2022
3.8.0 14,586 10/24/2022
3.7.0 800 10/17/2022
3.7.0-alpha.92 214 9/26/2022
3.7.0-alpha.91 279 8/29/2022
3.7.0-alpha.90 171 8/24/2022
3.7.0-alpha.89 174 8/19/2022
3.6.0 4,104 8/19/2022
3.6.0-alpha.88 3,626 8/17/2022
3.6.0-alpha.87 182 8/12/2022
3.6.0-alpha.85 187 8/12/2022
3.6.0-alpha.84 186 7/21/2022
3.5.0 2,046 7/21/2022
3.5.0-alpha.83 192 7/21/2022
3.5.0-alpha.80 204 5/26/2022
3.4.1 4,518 5/27/2022
3.4.0 1,180 5/26/2022
3.4.0-alpha.76 193 5/26/2022
3.4.0-alpha.75 211 5/25/2022
3.3.0 2,051 4/26/2022
3.3.0-alpha.73 225 4/26/2022
3.3.0-alpha.72 220 4/20/2022
3.3.0-alpha.71 211 4/14/2022
3.3.0-alpha.70 268 4/14/2022
3.3.0-alpha.69 278 4/6/2022
3.3.0-alpha.67 181 4/5/2022
3.3.0-alpha.66 201 3/31/2022
3.2.0 2,206 3/31/2022
3.2.0-alpha.55 206 3/31/2022
3.2.0-alpha.54 194 3/30/2022
3.2.0-alpha.53 206 3/23/2022
3.2.0-alpha.52 205 2/25/2022
3.1.0 1,622 2/25/2022
3.1.0-alpha.51 209 2/25/2022
3.1.0-alpha.50 582 2/7/2022
3.1.0-alpha.49 210 2/3/2022
3.1.0-alpha.48 207 2/1/2022
3.1.0-alpha.47 226 2/1/2022
3.1.0-alpha.46 205 2/1/2022
3.1.0-alpha.45 209 1/31/2022
3.1.0-alpha.44 218 1/28/2022
3.0.0 2,254 1/28/2022
3.0.0-alpha.43 216 1/28/2022
3.0.0-alpha.42 218 1/28/2022
2.6.0-alpha.41 205 1/26/2022
2.6.0-alpha.40 206 1/25/2022
2.6.0-alpha.39 205 1/21/2022
2.5.1 5,499 2/2/2022
2.5.0 1,587 1/21/2022
2.5.0-alpha.38 199 1/21/2022
2.5.0-alpha.37 212 1/20/2022
2.5.0-alpha.36 223 1/18/2022
2.5.0-alpha.35 205 1/13/2022
2.4.0 687 1/13/2022
2.4.0-alpha.34 201 1/13/2022
2.4.0-alpha.33 206 1/12/2022
2.3.0 499 1/12/2022
2.3.0-alpha.32 195 1/12/2022
2.3.0-alpha.31 196 12/28/2021
2.2.0 638 12/28/2021
2.2.0-alpha.30 202 12/27/2021
2.2.0-alpha.29 1,164 12/20/2021
2.2.0-alpha.28 221 12/17/2021
2.2.0-alpha.27 214 12/17/2021
2.2.0-alpha.26 195 12/17/2021
2.2.0-alpha.25 234 12/15/2021
2.1.0 1,212 10/1/2021
2.1.0-alpha.24 239 12/15/2021
2.1.0-alpha.22 296 12/14/2021
2.1.0-alpha.21 233 12/8/2021
2.1.0-alpha.20 202 11/29/2021
2.1.0-alpha.19 221 11/29/2021
2.1.0-alpha.18 212 11/29/2021
2.1.0-alpha.17 3,141 11/26/2021
2.1.0-alpha.15 214 9/30/2021
2.1.0-alpha.14 372 9/29/2021
2.1.0-alpha.12 222 9/23/2021
2.1.0-alpha.11 249 9/22/2021
2.1.0-alpha.10 235 9/22/2021
2.1.0-alpha.9 220 9/3/2021
2.0.0 3,238 8/20/2021
2.0.0-beta0011 301 8/20/2021
2.0.0-beta0010 414 7/22/2021
2.0.0-beta0009 314 7/22/2021
2.0.0-beta0008 345 7/22/2021
2.0.0-beta0007 663 7/13/2021
2.0.0-beta0006 334 7/13/2021
2.0.0-beta0005 370 7/7/2021
2.0.0-beta0004 338 7/6/2021
2.0.0-beta0003 341 7/1/2021
2.0.0-beta0002 314 7/1/2021
2.0.0-beta0001 484 6/24/2021
2.0.0-alpha.38 232 8/20/2021
2.0.0-alpha.37 247 8/19/2021
2.0.0-alpha.36 252 8/19/2021
2.0.0-alpha.35 211 8/19/2021
2.0.0-alpha.34 220 8/18/2021
2.0.0-alpha.33 227 8/17/2021
2.0.0-alpha.32 221 8/16/2021
2.0.0-alpha.30 219 8/13/2021
2.0.0-alpha.28 228 8/13/2021
2.0.0-alpha.26 217 8/5/2021
2.0.0-alpha.20 287 8/2/2021
2.0.0-alpha.19 687 7/22/2021
2.0.0-alpha.16 227 7/22/2021
2.0.0-alpha.7 223 8/20/2021
1.7.5 17,247 5/28/2021
1.7.4 2,091 5/26/2021
1.7.3 595 5/26/2021
1.7.3-beta0005 485 5/21/2021
1.7.3-beta0004 338 5/21/2021
1.7.3-beta0003 354 5/20/2021
1.7.3-beta0002 326 5/20/2021
1.7.3-beta0001 327 5/20/2021
1.7.2 845 5/18/2021
1.7.2-beta0015 318 5/17/2021
1.7.2-beta0014 306 5/14/2021
1.7.2-beta0013 266 5/14/2021
1.7.2-beta0012 276 5/14/2021
1.7.2-beta0011 291 5/14/2021
1.7.2-beta0010 280 5/13/2021
1.7.2-beta0009 505 5/12/2021
1.7.2-beta0008 293 5/12/2021
1.7.2-beta0007 427 5/7/2021
1.7.2-beta0006 451 5/5/2021
1.7.2-beta0005 286 5/5/2021
1.7.2-beta0004 365 5/4/2021
1.7.2-beta0003 285 5/4/2021
1.7.2-beta0002 292 5/4/2021
1.7.2-beta0001 285 5/4/2021
1.7.1 1,218 4/30/2021
1.7.1-beta0002 438 4/29/2021
1.7.1-beta0001 331 4/29/2021
1.7.0 711 4/21/2021
1.7.0-beta0001 279 4/16/2021
1.6.0 615 4/12/2021
1.6.0-beta0001 848 4/9/2021
1.5.2 505 4/6/2021
1.5.2-beta0012 413 4/5/2021
1.5.2-beta0011 301 4/2/2021
1.5.2-beta0010 618 3/25/2021
1.5.2-beta0009 319 3/25/2021
1.5.2-beta0008 337 3/23/2021
1.5.2-beta0007 343 3/23/2021
1.5.2-beta0006 651 3/4/2021
1.5.2-beta0005 569 2/18/2021
1.5.2-beta0004 324 2/18/2021
1.5.2-beta0003 316 2/18/2021
1.5.2-beta0002 317 2/18/2021
1.5.2-beta0001 305 2/18/2021
1.5.1 2,676 1/26/2021
1.5.0 545 1/25/2021
1.4.19-beta0002 421 1/19/2021
1.4.19-beta0001 276 1/13/2021
1.4.18 3,784 11/3/2020
1.4.17 1,047 10/21/2020
1.4.16 610 10/19/2020
1.4.15 1,106 10/5/2020
1.4.14 573 10/5/2020
1.4.13 807 9/25/2020
1.4.12 593 9/25/2020
1.4.11 592 9/24/2020
1.4.10 571 9/24/2020
1.4.9 564 9/24/2020
1.4.8 677 9/22/2020
1.4.7 597 9/22/2020
1.4.6 857 9/11/2020
1.4.5 566 9/10/2020
1.4.4 676 9/9/2020
1.4.3 597 9/7/2020
1.4.2 641 9/4/2020
1.4.1 632 9/3/2020
1.4.0 675 8/31/2020
1.3.7 699 8/21/2020
1.3.6 612 8/19/2020
1.3.5 886 8/13/2020
1.3.4 682 8/5/2020
1.3.3 609 8/5/2020
1.3.2 588 8/4/2020
1.3.1 576 8/4/2020
1.3.0 684 7/22/2020
1.2.0 611 7/9/2020
1.1.1 628 6/26/2020
1.1.0 617 6/25/2020
1.0.2 660 6/18/2020
1.0.1 627 6/11/2020
1.0.0 2,899 6/8/2020