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 95 4/22/2024
8.6.1.3 1,055 12/18/2023
8.6.1.2 898 11/30/2023
8.6.1.2-u20231126-233519-ci 901 11/26/2023
8.6.1.1 843 11/26/2023
8.6.1.1-u20231126-074958-ci 581 11/26/2023
8.6.1 684 11/26/2023
8.6.1-u20231126-072932-ci 788 11/26/2023
8.6.0 651 11/26/2023
8.6.0-u20231125-220603-ci 745 11/25/2023
7.6.1.4 85 4/22/2024
7.6.1.3 862 12/18/2023
7.6.1.2 800 11/30/2023
7.6.1.2-u20231126-233519-ci 787 11/26/2023
7.6.1.1 834 11/26/2023
7.6.1.1-u20231126-074958-ci 874 11/26/2023
7.6.1 648 11/26/2023
7.6.1-u20231126-072932-ci 909 11/26/2023
7.6.0.1-u20230320-003951-ci 1,041 3/20/2023
7.6.0.1-u20230320-001257-ci 1,175 3/20/2023
7.6.0 1,635 3/19/2023
7.6.0-u20231125-220603-ci 727 11/25/2023
7.6.0-u20230317-061904-ci 1,146 3/17/2023
7.6.0-u20230316-234705-ci 1,145 3/16/2023
7.5.0.1-u20230308-215540-ci 910 3/8/2023
7.5.0 1,139 3/8/2023
7.5.0-u20230308-214709-ci 1,056 3/8/2023
7.5.0-u20230308-214239-ci 922 3/8/2023
7.4.5 1,083 3/7/2023
7.4.5-u20230307-235831-ci 1,063 3/7/2023
7.4.5-u20230307-235657-ci 957 3/7/2023
7.4.4 1,686 11/29/2022
7.4.4-u20221129-225355-ci 968 11/29/2022
7.4.3 1,388 11/28/2022
7.4.3-u20221128-221832-ci 1,061 11/28/2022
7.4.2 1,107 11/28/2022
7.4.1 1,239 11/28/2022
7.4.1-u20221128-213632-local 894 11/28/2022
7.4.1-u20221128-210953-local 1,010 11/28/2022
7.4.1-u20221128-210808-ci 1,039 11/28/2022
6.6.1.4 80 4/22/2024
6.6.1.3 729 12/18/2023
6.6.1.2 756 11/30/2023
6.6.1.2-u20231126-233519-ci 682 11/26/2023
6.6.1.1 617 11/26/2023
6.6.1.1-u20231126-074958-ci 791 11/26/2023
6.6.1 678 11/26/2023
6.6.1-u20231126-072932-ci 748 11/26/2023
6.6.0.1-u20230320-003951-ci 968 3/20/2023
6.6.0.1-u20230320-001257-ci 1,051 3/20/2023
6.6.0 1,092 3/19/2023
6.6.0-u20231125-220603-ci 776 11/25/2023
6.6.0-u20230317-061904-ci 966 3/17/2023
6.6.0-u20230316-234705-ci 932 3/16/2023
6.5.0.1-u20230308-215540-ci 1,177 3/8/2023
6.5.0 1,189 3/8/2023
6.5.0-u20230308-214709-ci 1,002 3/8/2023
6.5.0-u20230308-214239-ci 1,134 3/8/2023
6.4.5 1,175 3/7/2023
6.4.5-u20230307-235831-ci 999 3/7/2023
6.4.5-u20230307-235657-ci 958 3/7/2023
6.4.4 1,215 11/29/2022
6.4.4-u20221129-225355-ci 996 11/29/2022
6.4.3 1,198 11/28/2022
6.4.3-u20221128-221832-ci 1,033 11/28/2022
6.4.2 1,208 11/28/2022
6.4.1 1,207 11/28/2022
6.4.1-u20221128-213632-local 917 11/28/2022
6.4.1-u20221128-210953-local 1,107 11/28/2022
6.4.1-u20221128-210808-ci 998 11/28/2022
4.0.3 4,013 8/21/2022
4.0.3-u20220821-194029-ci 87 8/21/2022
4.0.3-u20220810-214951-ci 100 8/10/2022
4.0.3-u20220802-202452-ci 90 8/2/2022
4.0.3-u20220714-205605-ci 113 7/14/2022
4.0.3-u20220623-215058-ci 99 6/23/2022
4.0.2 1,074 6/20/2022
4.0.2-u20220619-213616-ci 103 6/19/2022
4.0.2-u20220619-212740-ci 96 6/19/2022
4.0.1 235 6/19/2022
4.0.1-u20220619-202953-ci 105 6/19/2022
4.0.1-u20211120-052215-ci 403 11/20/2021
4.0.0 2,247 11/20/2021
4.0.0-u20211120-043406-ci 404 11/20/2021
4.0.0-u20211120-041423-ci 403 11/20/2021
4.0.0-u20210619-091434-ci 226 6/19/2021
3.6.0.1-u20230320-003951-ci 1,042 3/20/2023
3.6.0.1-u20230320-001257-ci 1,005 3/20/2023
3.6.0 1,076 3/19/2023
3.6.0-u20230317-061904-ci 1,032 3/17/2023
3.6.0-u20230316-234705-ci 1,153 3/16/2023
3.5.0.1-u20230308-215540-ci 1,034 3/8/2023
3.5.0 1,221 3/8/2023
3.5.0-u20230308-214709-ci 1,182 3/8/2023
3.5.0-u20230308-214239-ci 1,188 3/8/2023
3.4.5 1,083 3/7/2023
3.4.5-u20230307-235831-ci 1,021 3/7/2023
3.4.5-u20230307-235657-ci 1,069 3/7/2023
3.4.4 1,218 11/29/2022
3.4.4-u20221129-225355-ci 1,119 11/29/2022
3.4.3 1,213 11/28/2022
3.4.3-u20221128-221832-ci 1,124 11/28/2022
3.4.2 1,269 11/28/2022
3.4.1 1,288 11/28/2022
3.4.1-u20221128-213632-local 1,007 11/28/2022
3.4.1-u20221128-210953-local 1,063 11/28/2022
3.4.1-u20221128-210808-ci 1,186 11/28/2022
3.0.3 4,191 5/11/2021
3.0.3-u20210511-183227-ci-0... 1,200 5/11/2021
3.0.2 1,376 5/4/2021
3.0.2-u20210504-214837-ci-5... 1,195 5/4/2021
3.0.2-u20210504-210110-ci-d... 1,223 5/4/2021
3.0.1 1,585 5/4/2021
3.0.1-u20210504-202504-ci-a... 1,183 5/4/2021
3.0.1-u20210504-201739-ci-c... 1,211 5/4/2021
3.0.0 1,444 5/2/2021
2.2.0 1,594 4/24/2021
2.1.0 1,507 4/7/2021
2.1.0-u20210406-212203-pre 1,355 4/6/2021
2.1.0-u20210406-211608-pre 1,454 4/6/2021
2.1.0-u20210406-192902-pre 1,505 4/6/2021
2.0.0 1,565 3/29/2021
1.0.1 1,563 3/5/2021
1.0.0 1,625 3/4/2021
1.0.0-pre-u20210304-201218 1,705 3/4/2021
1.0.0-pre-u20210304-200706 1,697 3/4/2021
1.0.0-pre-u20210301-195738 1,751 3/1/2021
1.0.0-pre-u20210301-154645 1,647 3/1/2021
1.0.0-pre-u20210228-230337 1,674 2/28/2021