CommandlineBatcher 9.6.2

dotnet tool install --global CommandlineBatcher --version 9.6.2
                    
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 9.6.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=CommandlineBatcher&version=9.6.2
                    
nuke :add-package CommandlineBatcher --version 9.6.2
                    

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 net9.0 is compatible.  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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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
9.6.2 210 1/17/2025
9.6.1 160 1/16/2025
8.6.2 665 1/17/2025
8.6.1.4 350 4/22/2024
8.6.1.3 1,169 12/18/2023
8.6.1.2 999 11/30/2023
8.6.1.2-u20231126-233519-ci 998 11/26/2023
8.6.1.1 962 11/26/2023
8.6.1.1-u20231126-074958-ci 691 11/26/2023
8.6.1 783 11/26/2023
8.6.1-u20231126-072932-ci 905 11/26/2023
8.6.0 777 11/26/2023
8.6.0-u20231125-220603-ci 861 11/25/2023
7.6.2 175 1/17/2025
7.6.1.4 209 4/22/2024
7.6.1.3 988 12/18/2023
7.6.1.2 921 11/30/2023
7.6.1.2-u20231126-233519-ci 873 11/26/2023
7.6.1.1 965 11/26/2023
7.6.1.1-u20231126-074958-ci 967 11/26/2023
7.6.1 776 11/26/2023
7.6.1-u20231126-072932-ci 1,001 11/26/2023
7.6.0.1-u20230320-003951-ci 1,185 3/20/2023
7.6.0.1-u20230320-001257-ci 1,331 3/20/2023
7.6.0 1,810 3/19/2023
7.6.0-u20231125-220603-ci 853 11/25/2023
7.6.0-u20230317-061904-ci 1,312 3/17/2023
7.6.0-u20230316-234705-ci 1,282 3/16/2023
7.5.0.1-u20230308-215540-ci 1,052 3/8/2023
7.5.0 1,293 3/8/2023
7.5.0-u20230308-214709-ci 1,193 3/8/2023
7.5.0-u20230308-214239-ci 1,065 3/8/2023
7.4.5 1,263 3/7/2023
7.4.5-u20230307-235831-ci 1,207 3/7/2023
7.4.5-u20230307-235657-ci 1,105 3/7/2023
7.4.4 1,854 11/29/2022
7.4.4-u20221129-225355-ci 1,136 11/29/2022
7.4.3 1,556 11/28/2022
7.4.3-u20221128-221832-ci 1,220 11/28/2022
7.4.2 1,268 11/28/2022
7.4.1 1,415 11/28/2022
7.4.1-u20221128-213632-local 1,046 11/28/2022
7.4.1-u20221128-210953-local 1,185 11/28/2022
7.4.1-u20221128-210808-ci 1,200 11/28/2022
6.6.2 194 1/17/2025
6.6.1.4 230 4/22/2024
6.6.1.3 864 12/18/2023
6.6.1.2 888 11/30/2023
6.6.1.2-u20231126-233519-ci 783 11/26/2023
6.6.1.1 721 11/26/2023
6.6.1.1-u20231126-074958-ci 893 11/26/2023
6.6.1 817 11/26/2023
6.6.1-u20231126-072932-ci 857 11/26/2023
6.6.0.1-u20230320-003951-ci 1,121 3/20/2023
6.6.0.1-u20230320-001257-ci 1,221 3/20/2023
6.6.0 1,249 3/19/2023
6.6.0-u20231125-220603-ci 856 11/25/2023
6.6.0-u20230317-061904-ci 1,133 3/17/2023
6.6.0-u20230316-234705-ci 1,092 3/16/2023
6.5.0.1-u20230308-215540-ci 1,327 3/8/2023
6.5.0 1,343 3/8/2023
6.5.0-u20230308-214709-ci 1,174 3/8/2023
6.5.0-u20230308-214239-ci 1,301 3/8/2023
6.4.5 1,325 3/7/2023
6.4.5-u20230307-235831-ci 1,172 3/7/2023
6.4.5-u20230307-235657-ci 1,100 3/7/2023
6.4.4 1,382 11/29/2022
6.4.4-u20221129-225355-ci 1,146 11/29/2022
6.4.3 1,360 11/28/2022
6.4.3-u20221128-221832-ci 1,178 11/28/2022
6.4.2 1,401 11/28/2022
6.4.1 1,373 11/28/2022
6.4.1-u20221128-213632-local 1,088 11/28/2022
6.4.1-u20221128-210953-local 1,257 11/28/2022
6.4.1-u20221128-210808-ci 1,137 11/28/2022
4.0.3 4,070 8/21/2022
4.0.3-u20220821-194029-ci 125 8/21/2022
4.0.3-u20220810-214951-ci 142 8/10/2022
4.0.3-u20220802-202452-ci 133 8/2/2022
4.0.3-u20220714-205605-ci 154 7/14/2022
4.0.3-u20220623-215058-ci 169 6/23/2022
4.0.2 1,158 6/20/2022
4.0.2-u20220619-213616-ci 145 6/19/2022
4.0.2-u20220619-212740-ci 134 6/19/2022
4.0.1 309 6/19/2022
4.0.1-u20220619-202953-ci 147 6/19/2022
4.0.1-u20211120-052215-ci 468 11/20/2021
4.0.0 2,334 11/20/2021
4.0.0-u20211120-043406-ci 449 11/20/2021
4.0.0-u20211120-041423-ci 448 11/20/2021
4.0.0-u20210619-091434-ci 266 6/19/2021
3.6.0.1-u20230320-003951-ci 1,193 3/20/2023
3.6.0.1-u20230320-001257-ci 1,191 3/20/2023
3.6.0 1,269 3/19/2023
3.6.0-u20230317-061904-ci 1,171 3/17/2023
3.6.0-u20230316-234705-ci 1,316 3/16/2023
3.5.0.1-u20230308-215540-ci 1,172 3/8/2023
3.5.0 1,404 3/8/2023
3.5.0-u20230308-214709-ci 1,320 3/8/2023
3.5.0-u20230308-214239-ci 1,355 3/8/2023
3.4.5 1,249 3/7/2023
3.4.5-u20230307-235831-ci 1,192 3/7/2023
3.4.5-u20230307-235657-ci 1,228 3/7/2023
3.4.4 1,399 11/29/2022
3.4.4-u20221129-225355-ci 1,308 11/29/2022
3.4.3 1,408 11/28/2022
3.4.3-u20221128-221832-ci 1,309 11/28/2022
3.4.2 1,433 11/28/2022
3.4.1 1,452 11/28/2022
3.4.1-u20221128-213632-local 1,146 11/28/2022
3.4.1-u20221128-210953-local 1,221 11/28/2022
3.4.1-u20221128-210808-ci 1,360 11/28/2022
3.0.3 4,422 5/11/2021
3.0.3-u20210511-183227-ci-0... 1,410 5/11/2021
3.0.2 1,576 5/4/2021
3.0.2-u20210504-214837-ci-5... 1,391 5/4/2021
3.0.2-u20210504-210110-ci-d... 1,407 5/4/2021
3.0.1 1,797 5/4/2021
3.0.1-u20210504-202504-ci-a... 1,365 5/4/2021
3.0.1-u20210504-201739-ci-c... 1,390 5/4/2021
3.0.0 1,670 5/2/2021
2.2.0 1,837 4/24/2021
2.1.0 1,707 4/7/2021
2.1.0-u20210406-212203-pre 1,536 4/6/2021
2.1.0-u20210406-211608-pre 1,640 4/6/2021
2.1.0-u20210406-192902-pre 1,723 4/6/2021
2.0.0 1,769 3/29/2021
1.0.1 1,789 3/5/2021
1.0.0 1,854 3/4/2021
1.0.0-pre-u20210304-201218 1,896 3/4/2021
1.0.0-pre-u20210304-200706 1,883 3/4/2021
1.0.0-pre-u20210301-195738 1,981 3/1/2021
1.0.0-pre-u20210301-154645 1,834 3/1/2021
1.0.0-pre-u20210228-230337 1,917 2/28/2021