CommandlineBatcher 3.6.0.1-u20230320-003951-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-003951-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-003951-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-003951-ci&prerelease                
nuke :add-package CommandlineBatcher --version 3.6.0.1-u20230320-003951-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 224 4/22/2024
8.6.1.3 1,096 12/18/2023
8.6.1.2 930 11/30/2023
8.6.1.2-u20231126-233519-ci 937 11/26/2023
8.6.1.1 872 11/26/2023
8.6.1.1-u20231126-074958-ci 616 11/26/2023
8.6.1 720 11/26/2023
8.6.1-u20231126-072932-ci 815 11/26/2023
8.6.0 680 11/26/2023
8.6.0-u20231125-220603-ci 774 11/25/2023
7.6.1.4 128 4/22/2024
7.6.1.3 912 12/18/2023
7.6.1.2 830 11/30/2023
7.6.1.2-u20231126-233519-ci 818 11/26/2023
7.6.1.1 866 11/26/2023
7.6.1.1-u20231126-074958-ci 896 11/26/2023
7.6.1 684 11/26/2023
7.6.1-u20231126-072932-ci 948 11/26/2023
7.6.0.1-u20230320-003951-ci 1,071 3/20/2023
7.6.0.1-u20230320-001257-ci 1,199 3/20/2023
7.6.0 1,669 3/19/2023
7.6.0-u20231125-220603-ci 756 11/25/2023
7.6.0-u20230317-061904-ci 1,174 3/17/2023
7.6.0-u20230316-234705-ci 1,174 3/16/2023
7.5.0.1-u20230308-215540-ci 935 3/8/2023
7.5.0 1,167 3/8/2023
7.5.0-u20230308-214709-ci 1,081 3/8/2023
7.5.0-u20230308-214239-ci 953 3/8/2023
7.4.5 1,115 3/7/2023
7.4.5-u20230307-235831-ci 1,096 3/7/2023
7.4.5-u20230307-235657-ci 985 3/7/2023
7.4.4 1,729 11/29/2022
7.4.4-u20221129-225355-ci 993 11/29/2022
7.4.3 1,418 11/28/2022
7.4.3-u20221128-221832-ci 1,087 11/28/2022
7.4.2 1,145 11/28/2022
7.4.1 1,269 11/28/2022
7.4.1-u20221128-213632-local 921 11/28/2022
7.4.1-u20221128-210953-local 1,039 11/28/2022
7.4.1-u20221128-210808-ci 1,065 11/28/2022
6.6.1.4 123 4/22/2024
6.6.1.3 770 12/18/2023
6.6.1.2 791 11/30/2023
6.6.1.2-u20231126-233519-ci 709 11/26/2023
6.6.1.1 650 11/26/2023
6.6.1.1-u20231126-074958-ci 816 11/26/2023
6.6.1 715 11/26/2023
6.6.1-u20231126-072932-ci 772 11/26/2023
6.6.0.1-u20230320-003951-ci 995 3/20/2023
6.6.0.1-u20230320-001257-ci 1,079 3/20/2023
6.6.0 1,121 3/19/2023
6.6.0-u20231125-220603-ci 801 11/25/2023
6.6.0-u20230317-061904-ci 1,007 3/17/2023
6.6.0-u20230316-234705-ci 959 3/16/2023
6.5.0.1-u20230308-215540-ci 1,203 3/8/2023
6.5.0 1,218 3/8/2023
6.5.0-u20230308-214709-ci 1,035 3/8/2023
6.5.0-u20230308-214239-ci 1,164 3/8/2023
6.4.5 1,204 3/7/2023
6.4.5-u20230307-235831-ci 1,040 3/7/2023
6.4.5-u20230307-235657-ci 986 3/7/2023
6.4.4 1,255 11/29/2022
6.4.4-u20221129-225355-ci 1,024 11/29/2022
6.4.3 1,234 11/28/2022
6.4.3-u20221128-221832-ci 1,059 11/28/2022
6.4.2 1,239 11/28/2022
6.4.1 1,239 11/28/2022
6.4.1-u20221128-213632-local 943 11/28/2022
6.4.1-u20221128-210953-local 1,133 11/28/2022
6.4.1-u20221128-210808-ci 1,023 11/28/2022
4.0.3 4,040 8/21/2022
4.0.3-u20220821-194029-ci 105 8/21/2022
4.0.3-u20220810-214951-ci 116 8/10/2022
4.0.3-u20220802-202452-ci 107 8/2/2022
4.0.3-u20220714-205605-ci 131 7/14/2022
4.0.3-u20220623-215058-ci 118 6/23/2022
4.0.2 1,103 6/20/2022
4.0.2-u20220619-213616-ci 118 6/19/2022
4.0.2-u20220619-212740-ci 111 6/19/2022
4.0.1 261 6/19/2022
4.0.1-u20220619-202953-ci 122 6/19/2022
4.0.1-u20211120-052215-ci 422 11/20/2021
4.0.0 2,278 11/20/2021
4.0.0-u20211120-043406-ci 420 11/20/2021
4.0.0-u20211120-041423-ci 419 11/20/2021
4.0.0-u20210619-091434-ci 243 6/19/2021
3.6.0.1-u20230320-003951-ci 1,071 3/20/2023
3.6.0.1-u20230320-001257-ci 1,031 3/20/2023
3.6.0 1,123 3/19/2023
3.6.0-u20230317-061904-ci 1,057 3/17/2023
3.6.0-u20230316-234705-ci 1,185 3/16/2023
3.5.0.1-u20230308-215540-ci 1,060 3/8/2023
3.5.0 1,256 3/8/2023
3.5.0-u20230308-214709-ci 1,205 3/8/2023
3.5.0-u20230308-214239-ci 1,220 3/8/2023
3.4.5 1,118 3/7/2023
3.4.5-u20230307-235831-ci 1,052 3/7/2023
3.4.5-u20230307-235657-ci 1,094 3/7/2023
3.4.4 1,255 11/29/2022
3.4.4-u20221129-225355-ci 1,152 11/29/2022
3.4.3 1,256 11/28/2022
3.4.3-u20221128-221832-ci 1,159 11/28/2022
3.4.2 1,309 11/28/2022
3.4.1 1,328 11/28/2022
3.4.1-u20221128-213632-local 1,032 11/28/2022
3.4.1-u20221128-210953-local 1,104 11/28/2022
3.4.1-u20221128-210808-ci 1,215 11/28/2022
3.0.3 4,233 5/11/2021
3.0.3-u20210511-183227-ci-0... 1,238 5/11/2021
3.0.2 1,418 5/4/2021
3.0.2-u20210504-214837-ci-5... 1,227 5/4/2021
3.0.2-u20210504-210110-ci-d... 1,256 5/4/2021
3.0.1 1,635 5/4/2021
3.0.1-u20210504-202504-ci-a... 1,217 5/4/2021
3.0.1-u20210504-201739-ci-c... 1,243 5/4/2021
3.0.0 1,490 5/2/2021
2.2.0 1,647 4/24/2021
2.1.0 1,542 4/7/2021
2.1.0-u20210406-212203-pre 1,383 4/6/2021
2.1.0-u20210406-211608-pre 1,485 4/6/2021
2.1.0-u20210406-192902-pre 1,549 4/6/2021
2.0.0 1,608 3/29/2021
1.0.1 1,601 3/5/2021
1.0.0 1,664 3/4/2021
1.0.0-pre-u20210304-201218 1,735 3/4/2021
1.0.0-pre-u20210304-200706 1,726 3/4/2021
1.0.0-pre-u20210301-195738 1,785 3/1/2021
1.0.0-pre-u20210301-154645 1,675 3/1/2021
1.0.0-pre-u20210228-230337 1,709 2/28/2021