VirtoCommerce.GlobalTool 3.807.0

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

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. 
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 79 11/19/2024
3.808.0-alpha.225 39 11/18/2024
3.807.0 1,139 11/18/2024
3.807.0-alpha.224 1,183 11/12/2024
3.807.0-alpha.223 91 10/29/2024
3.806.0 2,773 10/29/2024
3.806.0-alpha.222 78 10/23/2024
3.806.0-alpha.221 115 10/7/2024
3.805.0 3,359 10/7/2024
3.805.0-alpha.220 69 10/4/2024
3.805.0-alpha.219 75 10/3/2024
3.805.0-alpha.218 71 10/3/2024
3.805.0-alpha.217 69 10/3/2024
3.804.0 5,876 8/26/2024
3.804.0-alpha.215 261 8/21/2024
3.804.0-alpha.214 85 8/21/2024
3.804.0-alpha.213 93 8/12/2024
3.803.0 1,585 8/12/2024
3.803.0-alpha.212 776 8/1/2024
3.803.0-alpha.211 51 7/31/2024
3.803.0-alpha.210 46 7/31/2024
3.803.0-alpha.209 44 7/31/2024
3.803.0-alpha.208 63 7/30/2024
3.803.0-alpha.206 152 6/6/2024
3.802.0 6,416 6/6/2024
3.802.0-alpha.205 417 5/29/2024
3.802.0-alpha.204 67 5/28/2024
3.802.0-alpha.203 124 5/10/2024
3.801.0 3,328 5/10/2024
3.801.0-alpha.202 91 5/8/2024
3.801.0-alpha.201 41 5/2/2024
3.801.0-alpha.200 28 5/2/2024
3.800.0 3,267 4/15/2024
3.800.0-alpha.197 83 4/15/2024
3.800.0-alpha.196 1,435 4/11/2024
3.800.0-alpha.195 131 4/10/2024
3.800.0-alpha.194 117 4/9/2024
3.800.0-alpha.193 85 4/9/2024
3.800.0-alpha.192 156 4/3/2024
3.800.0-alpha.190 79 3/29/2024
3.800.0-alpha.189 91 3/29/2024
3.800.0-alpha.188 233 3/26/2024
3.800.0-alpha.187 118 3/25/2024
3.800.0-alpha.186 82 3/25/2024
3.800.0-alpha.185 136 3/21/2024
3.800.0-alpha.184 81 3/21/2024
3.800.0-alpha.183 79 3/20/2024
3.800.0-alpha.182 74 3/19/2024
3.800.0-alpha.181 93 3/15/2024
3.800.0-alpha.180 79 3/12/2024
3.800.0-alpha.179 88 3/12/2024
3.800.0-alpha.178 94 3/11/2024
3.800.0-alpha.177 84 3/7/2024
3.800.0-alpha.176 115 2/22/2024
3.800.0-alpha.175 90 2/22/2024
3.21.5 5,555 3/12/2024
3.21.4 403 3/11/2024
3.21.3 565 3/6/2024
3.21.2 816 3/1/2024
3.21.1 954 2/23/2024
3.21.0 752 2/20/2024
3.21.0-alpha.173 73 2/20/2024
3.20.0 4,854 1/25/2024
3.20.0-alpha.171 336 1/24/2024
3.20.0-alpha.170 86 1/12/2024
3.20.0-alpha.169 88 1/11/2024
3.20.0-alpha.168 100 1/9/2024
3.20.0-alpha.167 96 12/26/2023
3.19.0 3,478 12/8/2023
3.19.0-alpha.165 91 12/7/2023
3.19.0-alpha.164 121 11/14/2023
3.19.0-alpha.163 79 11/13/2023
3.19.0-alpha.162 114 10/26/2023
3.19.0-alpha.161 137 10/4/2023
3.18.0 5,988 10/3/2023
3.18.0-alpha.159 138 10/3/2023
3.17.0 399 10/3/2023
3.17.0-alpha.157 117 9/22/2023
3.17.0-alpha.156 130 9/14/2023
3.17.0-alpha.155 112 9/13/2023
3.17.0-alpha.153 125 9/8/2023
3.16.0 4,054 8/24/2023
3.16.0-alpha.150 107 8/24/2023
3.16.0-alpha.149 95 8/24/2023
3.16.0-alpha.148 119 8/22/2023
3.16.0-alpha.147 103 8/22/2023
3.16.0-alpha.146 112 8/21/2023
3.15.0 9,455 8/8/2023
3.15.0-alpha.144 92 8/8/2023
3.15.0-alpha.143 132 8/7/2023
3.15.0-alpha.142 127 8/7/2023
3.15.0-alpha.141 144 7/10/2023
3.15.0-alpha.140 297 7/6/2023
3.15.0-alpha.139 134 7/6/2023
3.15.0-alpha.138 118 7/6/2023
3.15.0-alpha.137 109 6/15/2023
3.15.0-alpha.136 190 4/17/2023
3.14.0 9,618 4/17/2023
3.14.0-alpha.135 6,840 4/12/2023
3.14.0-alpha.134 211 4/6/2023
3.14.0-alpha.133 187 4/3/2023
3.13.0 1,418 4/3/2023
3.13.0-alpha.131 722 3/31/2023
3.13.0-alpha.130 206 3/29/2023
3.13.0-alpha.129 195 3/29/2023
3.13.0-alpha.128 350 3/24/2023
3.13.0-alpha.127 196 2/22/2023
3.13.0-alpha.126 2,023 2/21/2023
3.13.0-alpha.125 157 2/16/2023
3.12.0 4,144 2/16/2023
3.12.0-alpha.122 142 2/15/2023
3.12.0-alpha.121 184 2/8/2023
3.12.0-alpha.120 225 1/30/2023
3.12.0-alpha.118 184 1/20/2023
3.11.1 6,247 1/20/2023
3.11.0 552 1/19/2023
3.11.0-alpha.116 175 1/19/2023
3.11.0-alpha.113 167 1/18/2023
3.11.0-alpha.112 183 1/18/2023
3.11.0-alpha.111 165 1/18/2023
3.11.0-alpha.110 162 1/17/2023
3.11.0-alpha.109 187 1/16/2023
3.11.0-alpha.108 161 1/16/2023
3.11.0-alpha.107 192 1/13/2023
3.11.0-alpha.106 159 12/22/2022
3.11.0-alpha.105 145 12/21/2022
3.10.1 3,127 12/22/2022
3.10.0 2,024 12/21/2022
3.10.0-alpha.104 154 12/20/2022
3.10.0-alpha.103 151 12/20/2022
3.10.0-alpha.102 168 12/12/2022
3.10.0-alpha.101 147 12/12/2022
3.10.0-alpha.100 144 12/6/2022
3.10.0-alpha.99 2,892 12/1/2022
3.10.0-alpha.98 153 12/1/2022
3.10.0-alpha.96 132 11/29/2022
3.9.0 2,539 11/29/2022
3.9.0-alpha.95 140 11/28/2022
3.9.0-alpha.94 133 11/28/2022
3.8.0 13,805 10/24/2022
3.7.0 783 10/17/2022
3.7.0-alpha.92 209 9/26/2022
3.7.0-alpha.91 270 8/29/2022
3.7.0-alpha.90 166 8/24/2022
3.7.0-alpha.89 169 8/19/2022
3.6.0 4,069 8/19/2022
3.6.0-alpha.88 3,621 8/17/2022
3.6.0-alpha.87 174 8/12/2022
3.6.0-alpha.85 178 8/12/2022
3.6.0-alpha.84 181 7/21/2022
3.5.0 2,029 7/21/2022
3.5.0-alpha.83 183 7/21/2022
3.5.0-alpha.80 199 5/26/2022
3.4.1 4,501 5/27/2022
3.4.0 1,167 5/26/2022
3.4.0-alpha.76 184 5/26/2022
3.4.0-alpha.75 206 5/25/2022
3.3.0 2,033 4/26/2022
3.3.0-alpha.73 216 4/26/2022
3.3.0-alpha.72 211 4/20/2022
3.3.0-alpha.71 202 4/14/2022
3.3.0-alpha.70 259 4/14/2022
3.3.0-alpha.69 269 4/6/2022
3.3.0-alpha.67 172 4/5/2022
3.3.0-alpha.66 192 3/31/2022
3.2.0 2,193 3/31/2022
3.2.0-alpha.55 198 3/31/2022
3.2.0-alpha.54 189 3/30/2022
3.2.0-alpha.53 201 3/23/2022
3.2.0-alpha.52 196 2/25/2022
3.1.0 1,605 2/25/2022
3.1.0-alpha.51 200 2/25/2022
3.1.0-alpha.50 573 2/7/2022
3.1.0-alpha.49 196 2/3/2022
3.1.0-alpha.48 197 2/1/2022
3.1.0-alpha.47 216 2/1/2022
3.1.0-alpha.46 195 2/1/2022
3.1.0-alpha.45 199 1/31/2022
3.1.0-alpha.44 204 1/28/2022
3.0.0 2,232 1/28/2022
3.0.0-alpha.43 198 1/28/2022
3.0.0-alpha.42 208 1/28/2022
2.6.0-alpha.41 191 1/26/2022
2.6.0-alpha.40 201 1/25/2022
2.6.0-alpha.39 196 1/21/2022
2.5.1 5,477 2/2/2022
2.5.0 1,570 1/21/2022
2.5.0-alpha.38 190 1/21/2022
2.5.0-alpha.37 203 1/20/2022
2.5.0-alpha.36 214 1/18/2022
2.5.0-alpha.35 196 1/13/2022
2.4.0 670 1/13/2022
2.4.0-alpha.34 192 1/13/2022
2.4.0-alpha.33 197 1/12/2022
2.3.0 482 1/12/2022
2.3.0-alpha.32 186 1/12/2022
2.3.0-alpha.31 187 12/28/2021
2.2.0 621 12/28/2021
2.2.0-alpha.30 197 12/27/2021
2.2.0-alpha.29 1,159 12/20/2021
2.2.0-alpha.28 215 12/17/2021
2.2.0-alpha.27 209 12/17/2021
2.2.0-alpha.26 186 12/17/2021
2.2.0-alpha.25 228 12/15/2021
2.1.0 1,198 10/1/2021
2.1.0-alpha.24 230 12/15/2021
2.1.0-alpha.22 287 12/14/2021
2.1.0-alpha.21 222 12/8/2021
2.1.0-alpha.20 193 11/29/2021
2.1.0-alpha.19 216 11/29/2021
2.1.0-alpha.18 207 11/29/2021
2.1.0-alpha.17 3,136 11/26/2021
2.1.0-alpha.15 205 9/30/2021
2.1.0-alpha.14 363 9/29/2021
2.1.0-alpha.12 213 9/23/2021
2.1.0-alpha.11 236 9/22/2021
2.1.0-alpha.10 231 9/22/2021
2.1.0-alpha.9 211 9/3/2021
2.0.0 3,225 8/20/2021
2.0.0-beta0011 290 8/20/2021
2.0.0-beta0010 409 7/22/2021
2.0.0-beta0009 309 7/22/2021
2.0.0-beta0008 336 7/22/2021
2.0.0-beta0007 658 7/13/2021
2.0.0-beta0006 325 7/13/2021
2.0.0-beta0005 361 7/7/2021
2.0.0-beta0004 329 7/6/2021
2.0.0-beta0003 332 7/1/2021
2.0.0-beta0002 309 7/1/2021
2.0.0-beta0001 475 6/24/2021
2.0.0-alpha.38 227 8/20/2021
2.0.0-alpha.37 238 8/19/2021
2.0.0-alpha.36 243 8/19/2021
2.0.0-alpha.35 202 8/19/2021
2.0.0-alpha.34 215 8/18/2021
2.0.0-alpha.33 218 8/17/2021
2.0.0-alpha.32 212 8/16/2021
2.0.0-alpha.30 210 8/13/2021
2.0.0-alpha.28 219 8/13/2021
2.0.0-alpha.26 212 8/5/2021
2.0.0-alpha.20 278 8/2/2021
2.0.0-alpha.19 677 7/22/2021
2.0.0-alpha.16 218 7/22/2021
2.0.0-alpha.7 214 8/20/2021
1.7.5 17,226 5/28/2021
1.7.4 2,078 5/26/2021
1.7.3 582 5/26/2021
1.7.3-beta0005 480 5/21/2021
1.7.3-beta0004 317 5/21/2021
1.7.3-beta0003 345 5/20/2021
1.7.3-beta0002 317 5/20/2021
1.7.3-beta0001 323 5/20/2021
1.7.2 831 5/18/2021
1.7.2-beta0015 310 5/17/2021
1.7.2-beta0014 300 5/14/2021
1.7.2-beta0013 261 5/14/2021
1.7.2-beta0012 268 5/14/2021
1.7.2-beta0011 283 5/14/2021
1.7.2-beta0010 272 5/13/2021
1.7.2-beta0009 497 5/12/2021
1.7.2-beta0008 288 5/12/2021
1.7.2-beta0007 419 5/7/2021
1.7.2-beta0006 446 5/5/2021
1.7.2-beta0005 281 5/5/2021
1.7.2-beta0004 357 5/4/2021
1.7.2-beta0003 280 5/4/2021
1.7.2-beta0002 278 5/4/2021
1.7.2-beta0001 277 5/4/2021
1.7.1 1,205 4/30/2021
1.7.1-beta0002 433 4/29/2021
1.7.1-beta0001 323 4/29/2021
1.7.0 700 4/21/2021
1.7.0-beta0001 274 4/16/2021
1.6.0 604 4/12/2021
1.6.0-beta0001 843 4/9/2021
1.5.2 496 4/6/2021
1.5.2-beta0012 408 4/5/2021
1.5.2-beta0011 296 4/2/2021
1.5.2-beta0010 607 3/25/2021
1.5.2-beta0009 311 3/25/2021
1.5.2-beta0008 330 3/23/2021
1.5.2-beta0007 338 3/23/2021
1.5.2-beta0006 646 3/4/2021
1.5.2-beta0005 564 2/18/2021
1.5.2-beta0004 319 2/18/2021
1.5.2-beta0003 311 2/18/2021
1.5.2-beta0002 312 2/18/2021
1.5.2-beta0001 300 2/18/2021
1.5.1 2,667 1/26/2021
1.5.0 535 1/25/2021
1.4.19-beta0002 416 1/19/2021
1.4.19-beta0001 271 1/13/2021
1.4.18 3,775 11/3/2020
1.4.17 1,038 10/21/2020
1.4.16 601 10/19/2020
1.4.15 1,097 10/5/2020
1.4.14 564 10/5/2020
1.4.13 798 9/25/2020
1.4.12 584 9/25/2020
1.4.11 583 9/24/2020
1.4.10 562 9/24/2020
1.4.9 555 9/24/2020
1.4.8 668 9/22/2020
1.4.7 588 9/22/2020
1.4.6 848 9/11/2020
1.4.5 557 9/10/2020
1.4.4 667 9/9/2020
1.4.3 588 9/7/2020
1.4.2 632 9/4/2020
1.4.1 623 9/3/2020
1.4.0 665 8/31/2020
1.3.7 689 8/21/2020
1.3.6 603 8/19/2020
1.3.5 877 8/13/2020
1.3.4 673 8/5/2020
1.3.3 600 8/5/2020
1.3.2 579 8/4/2020
1.3.1 567 8/4/2020
1.3.0 675 7/22/2020
1.2.0 602 7/9/2020
1.1.1 619 6/26/2020
1.1.0 608 6/25/2020
1.0.2 652 6/18/2020
1.0.1 618 6/11/2020
1.0.0 2,890 6/8/2020