CommandlineBatcher 3.6.0.1-u20230320-001257-ci

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

CommandlineBatcher

Execute batches of multiple commands in a single command line.

Versioning

CommandlineBatcher uses semantic versioning in an alternative way by using the format: {Runtime}.{Major}.{Minor}.{Patch}. This allows users of the tool to install a version matching a specific runtime. E.g. the following command installs CommandlineBatcher major version 4, for .NET 7.0.

dotnet tool update CommandlineBatcher -g --version 7.4.*

.NET 3.1 (3) and NET 6.0 (6) are also supported.

Help
 Verbs:
   match/m                           Matches the specified input to patterns and maps it to batches.
     -p    | --patterns              | The patterns (Regex) to be matched in the order they are specified                                 | Required
                                       Format: {pattern} => {batch}[,batch]*
                                       Batches may consist of multiple values, separated by the value-separator
                                       Batches can also contain regex group names in the format {group-name}
     Input                                                                                                                                | Required
      -i   | --inputs                | The inputs to be matched                                                                           | Default: [none]
      -isi | --input-stdin           | Indicates that the input should be read from standard input
     -f    | --format                | The format to apply to each batch.                                                                 | Default: [none]
     -bs   | --batch-separator       | The character used to split batches.                                                               | Default: |
     -bvs  | --batch-value-separator | The character used to split batch values.                                                          | Default: ,
     -md   | --merge-delimiter       | Specifies the delimiter used between values when merging                                           | Default: [none]
     -m    | --merge-format          | Indicates whether batches should be merged and specifies                                           | Default: [none]
                                       the format to be used for merging
     -nso  | --skip-stdout-output    | Determines whether outputting to stdout should be skipped.
     -ow   | --overwrite             | Determines whether output-path, if specified is overwritten.
     -lv   | --logging-verbosity     | Logging verbosity: [n]ormal, [e]rrors, [q]uiet, [d]etailed                                         | Default: normal
     -wd   | --working-directory     | The working directory                                                                              | Default: Current directory
     -fe   | --file-encoding         | The name of the encoding e.g. utf-8, utf-16/unicode.                                               | Default: utf-8
     <output-path>                   | The output path, if not specified application will output to stdout                                | Default: [none]
 Arguments:                          Executes the specified sequence of commands per batch
  -c       | --commands              | The commands to be executed                                                                        | Required
                                       Format: "[{command}][|{arguments}]"...
                                       Values can be injected by position with {number}
                                       If no command is specified, the argument is sent to standard output
                                       Use command ">> {file path}" to append to file
                                       Use command "> {file path}" to write to file
  -bs      | --batch-separation      | Specifies how batches are separated:                                                               | Default: command-line
                                       [c]ommand-line, [n]ew-line, [w]indows-new-line, [u]nix-new-line, [p]ipe, [s]emi-colon, comma
  -bvs     | --batch-value-separator | The batch value separator                                                                          | Default: ,
  -b       | --batches               | The batches to be passed for each command                                                          | Default: [none]
                                       Each batch can contain multiple values separated by the batch value separator
  -bf      | --batches-files         | A list of files containing batches                                                                 | Default: [none]
  -bsi     | --batches-stdin         | Indicates that batches should be read from standard input
           | --if                    | A condition for each batch to check if it should run                                               | Default: [none]
                                       Format: [StringComparison:]{lhs} {operator} {rhs}
                                       lhs and rhs can be injected by position with {number}
                                       operators: == equals, |< starts with, >| ends with, >< contains
                                       negations: != not equals, !< not starts with, >! not ends with, <> not contains
                                       StringComparison: O Ordinal, OI OrdinalIgnoreCase, C CurrentCulture,
                                       CI CurrentCultureIgnoreCase, I InvariantCulture, II InvariantCultureIgnoreCase
  -d       | --root-directory        | The directory to search for projects                                                               | Default: Current directory
  -e       | --execution-order       | Specifies whether all commands are executed for the first [b]atch before moving to the next batch  | Default: batch
                                       or the first [c]ommand is executed for all batches before moving to the next command
                                       - Finish first [b]atch first
                                       - Finish first [c]ommand first
  -mp      | --max-parallelism       | The degree of parallel execution (1-20)                                                            | Default: 1
                                       Specify "all" for number of cores.
  -p       | --parallelize           | Specifies whether commands or batches run in parallel: [c]ommands, [b]atches                       | Default: commands
  -lv      | --logging-verbosity     | Logging verbosity: [n]ormal, [e]rrors, [q]uiet, [d]etailed                                         | Default: normal
  -fe      | --file-encoding         | The name of the encoding e.g. utf-8, utf-16/unicode.                                               | Default: utf-8
  <output-path>                      | The file path to redirect output for commands that do not specify a file path or a program to run. | Default: [none]

Samples

CommandlineBatcher is being used in various git repositories to automate version tagging of stable releases and wait for all releases to be published to NuGet.

** Github flow workflow (also compatible with git flow)** https://github.com/sundews/Sundew.Generator/blob/main/.github/workflows/dotnet.yml

https://github.com/sundews/Sundew.CommandLine/blob/main/.github/workflows/dotnet.yml

** Trunk based development workflow** https://github.com/sundews/CommandlineBatcher/blob/main/.github/workflows/dotnet.yml

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 netcoreapp3.1 is compatible. 
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
8.6.1.4 207 4/22/2024
8.6.1.3 1,089 12/18/2023
8.6.1.2 924 11/30/2023
8.6.1.2-u20231126-233519-ci 933 11/26/2023
8.6.1.1 866 11/26/2023
8.6.1.1-u20231126-074958-ci 612 11/26/2023
8.6.1 712 11/26/2023
8.6.1-u20231126-072932-ci 811 11/26/2023
8.6.0 674 11/26/2023
8.6.0-u20231125-220603-ci 770 11/25/2023
7.6.1.4 119 4/22/2024
7.6.1.3 906 12/18/2023
7.6.1.2 823 11/30/2023
7.6.1.2-u20231126-233519-ci 814 11/26/2023
7.6.1.1 860 11/26/2023
7.6.1.1-u20231126-074958-ci 892 11/26/2023
7.6.1 678 11/26/2023
7.6.1-u20231126-072932-ci 944 11/26/2023
7.6.0.1-u20230320-003951-ci 1,068 3/20/2023
7.6.0.1-u20230320-001257-ci 1,196 3/20/2023
7.6.0 1,664 3/19/2023
7.6.0-u20231125-220603-ci 752 11/25/2023
7.6.0-u20230317-061904-ci 1,171 3/17/2023
7.6.0-u20230316-234705-ci 1,171 3/16/2023
7.5.0.1-u20230308-215540-ci 932 3/8/2023
7.5.0 1,162 3/8/2023
7.5.0-u20230308-214709-ci 1,076 3/8/2023
7.5.0-u20230308-214239-ci 948 3/8/2023
7.4.5 1,110 3/7/2023
7.4.5-u20230307-235831-ci 1,092 3/7/2023
7.4.5-u20230307-235657-ci 982 3/7/2023
7.4.4 1,720 11/29/2022
7.4.4-u20221129-225355-ci 990 11/29/2022
7.4.3 1,411 11/28/2022
7.4.3-u20221128-221832-ci 1,082 11/28/2022
7.4.2 1,138 11/28/2022
7.4.1 1,262 11/28/2022
7.4.1-u20221128-213632-local 918 11/28/2022
7.4.1-u20221128-210953-local 1,036 11/28/2022
7.4.1-u20221128-210808-ci 1,062 11/28/2022
6.6.1.4 114 4/22/2024
6.6.1.3 764 12/18/2023
6.6.1.2 785 11/30/2023
6.6.1.2-u20231126-233519-ci 705 11/26/2023
6.6.1.1 644 11/26/2023
6.6.1.1-u20231126-074958-ci 812 11/26/2023
6.6.1 709 11/26/2023
6.6.1-u20231126-072932-ci 768 11/26/2023
6.6.0.1-u20230320-003951-ci 991 3/20/2023
6.6.0.1-u20230320-001257-ci 1,076 3/20/2023
6.6.0 1,116 3/19/2023
6.6.0-u20231125-220603-ci 797 11/25/2023
6.6.0-u20230317-061904-ci 1,004 3/17/2023
6.6.0-u20230316-234705-ci 956 3/16/2023
6.5.0.1-u20230308-215540-ci 1,200 3/8/2023
6.5.0 1,211 3/8/2023
6.5.0-u20230308-214709-ci 1,032 3/8/2023
6.5.0-u20230308-214239-ci 1,159 3/8/2023
6.4.5 1,197 3/7/2023
6.4.5-u20230307-235831-ci 1,037 3/7/2023
6.4.5-u20230307-235657-ci 982 3/7/2023
6.4.4 1,246 11/29/2022
6.4.4-u20221129-225355-ci 1,021 11/29/2022
6.4.3 1,227 11/28/2022
6.4.3-u20221128-221832-ci 1,056 11/28/2022
6.4.2 1,232 11/28/2022
6.4.1 1,232 11/28/2022
6.4.1-u20221128-213632-local 940 11/28/2022
6.4.1-u20221128-210953-local 1,130 11/28/2022
6.4.1-u20221128-210808-ci 1,020 11/28/2022
4.0.3 4,033 8/21/2022
4.0.3-u20220821-194029-ci 102 8/21/2022
4.0.3-u20220810-214951-ci 112 8/10/2022
4.0.3-u20220802-202452-ci 103 8/2/2022
4.0.3-u20220714-205605-ci 127 7/14/2022
4.0.3-u20220623-215058-ci 114 6/23/2022
4.0.2 1,095 6/20/2022
4.0.2-u20220619-213616-ci 114 6/19/2022
4.0.2-u20220619-212740-ci 107 6/19/2022
4.0.1 253 6/19/2022
4.0.1-u20220619-202953-ci 118 6/19/2022
4.0.1-u20211120-052215-ci 418 11/20/2021
4.0.0 2,268 11/20/2021
4.0.0-u20211120-043406-ci 416 11/20/2021
4.0.0-u20211120-041423-ci 415 11/20/2021
4.0.0-u20210619-091434-ci 239 6/19/2021
3.6.0.1-u20230320-003951-ci 1,068 3/20/2023
3.6.0.1-u20230320-001257-ci 1,028 3/20/2023
3.6.0 1,101 3/19/2023
3.6.0-u20230317-061904-ci 1,054 3/17/2023
3.6.0-u20230316-234705-ci 1,182 3/16/2023
3.5.0.1-u20230308-215540-ci 1,055 3/8/2023
3.5.0 1,249 3/8/2023
3.5.0-u20230308-214709-ci 1,202 3/8/2023
3.5.0-u20230308-214239-ci 1,217 3/8/2023
3.4.5 1,111 3/7/2023
3.4.5-u20230307-235831-ci 1,047 3/7/2023
3.4.5-u20230307-235657-ci 1,089 3/7/2023
3.4.4 1,246 11/29/2022
3.4.4-u20221129-225355-ci 1,147 11/29/2022
3.4.3 1,249 11/28/2022
3.4.3-u20221128-221832-ci 1,156 11/28/2022
3.4.2 1,302 11/28/2022
3.4.1 1,319 11/28/2022
3.4.1-u20221128-213632-local 1,029 11/28/2022
3.4.1-u20221128-210953-local 1,101 11/28/2022
3.4.1-u20221128-210808-ci 1,210 11/28/2022
3.0.3 4,225 5/11/2021
3.0.3-u20210511-183227-ci-0... 1,234 5/11/2021
3.0.2 1,408 5/4/2021
3.0.2-u20210504-214837-ci-5... 1,223 5/4/2021
3.0.2-u20210504-210110-ci-d... 1,252 5/4/2021
3.0.1 1,627 5/4/2021
3.0.1-u20210504-202504-ci-a... 1,213 5/4/2021
3.0.1-u20210504-201739-ci-c... 1,239 5/4/2021
3.0.0 1,482 5/2/2021
2.2.0 1,639 4/24/2021
2.1.0 1,534 4/7/2021
2.1.0-u20210406-212203-pre 1,379 4/6/2021
2.1.0-u20210406-211608-pre 1,481 4/6/2021
2.1.0-u20210406-192902-pre 1,545 4/6/2021
2.0.0 1,600 3/29/2021
1.0.1 1,592 3/5/2021
1.0.0 1,656 3/4/2021
1.0.0-pre-u20210304-201218 1,731 3/4/2021
1.0.0-pre-u20210304-200706 1,720 3/4/2021
1.0.0-pre-u20210301-195738 1,781 3/1/2021
1.0.0-pre-u20210301-154645 1,669 3/1/2021
1.0.0-pre-u20210228-230337 1,704 2/28/2021