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 214 4/22/2024
8.6.1.3 1,093 12/18/2023
8.6.1.2 928 11/30/2023
8.6.1.2-u20231126-233519-ci 935 11/26/2023
8.6.1.1 870 11/26/2023
8.6.1.1-u20231126-074958-ci 614 11/26/2023
8.6.1 716 11/26/2023
8.6.1-u20231126-072932-ci 813 11/26/2023
8.6.0 678 11/26/2023
8.6.0-u20231125-220603-ci 772 11/25/2023
7.6.1.4 125 4/22/2024
7.6.1.3 910 12/18/2023
7.6.1.2 828 11/30/2023
7.6.1.2-u20231126-233519-ci 816 11/26/2023
7.6.1.1 864 11/26/2023
7.6.1.1-u20231126-074958-ci 894 11/26/2023
7.6.1 682 11/26/2023
7.6.1-u20231126-072932-ci 946 11/26/2023
7.6.0.1-u20230320-003951-ci 1,070 3/20/2023
7.6.0.1-u20230320-001257-ci 1,198 3/20/2023
7.6.0 1,668 3/19/2023
7.6.0-u20231125-220603-ci 754 11/25/2023
7.6.0-u20230317-061904-ci 1,173 3/17/2023
7.6.0-u20230316-234705-ci 1,173 3/16/2023
7.5.0.1-u20230308-215540-ci 934 3/8/2023
7.5.0 1,166 3/8/2023
7.5.0-u20230308-214709-ci 1,080 3/8/2023
7.5.0-u20230308-214239-ci 950 3/8/2023
7.4.5 1,114 3/7/2023
7.4.5-u20230307-235831-ci 1,094 3/7/2023
7.4.5-u20230307-235657-ci 984 3/7/2023
7.4.4 1,724 11/29/2022
7.4.4-u20221129-225355-ci 992 11/29/2022
7.4.3 1,415 11/28/2022
7.4.3-u20221128-221832-ci 1,086 11/28/2022
7.4.2 1,142 11/28/2022
7.4.1 1,266 11/28/2022
7.4.1-u20221128-213632-local 920 11/28/2022
7.4.1-u20221128-210953-local 1,038 11/28/2022
7.4.1-u20221128-210808-ci 1,064 11/28/2022
6.6.1.4 120 4/22/2024
6.6.1.3 768 12/18/2023
6.6.1.2 789 11/30/2023
6.6.1.2-u20231126-233519-ci 707 11/26/2023
6.6.1.1 648 11/26/2023
6.6.1.1-u20231126-074958-ci 814 11/26/2023
6.6.1 713 11/26/2023
6.6.1-u20231126-072932-ci 770 11/26/2023
6.6.0.1-u20230320-003951-ci 993 3/20/2023
6.6.0.1-u20230320-001257-ci 1,078 3/20/2023
6.6.0 1,120 3/19/2023
6.6.0-u20231125-220603-ci 799 11/25/2023
6.6.0-u20230317-061904-ci 1,006 3/17/2023
6.6.0-u20230316-234705-ci 958 3/16/2023
6.5.0.1-u20230308-215540-ci 1,202 3/8/2023
6.5.0 1,217 3/8/2023
6.5.0-u20230308-214709-ci 1,034 3/8/2023
6.5.0-u20230308-214239-ci 1,161 3/8/2023
6.4.5 1,203 3/7/2023
6.4.5-u20230307-235831-ci 1,039 3/7/2023
6.4.5-u20230307-235657-ci 984 3/7/2023
6.4.4 1,252 11/29/2022
6.4.4-u20221129-225355-ci 1,023 11/29/2022
6.4.3 1,231 11/28/2022
6.4.3-u20221128-221832-ci 1,058 11/28/2022
6.4.2 1,236 11/28/2022
6.4.1 1,236 11/28/2022
6.4.1-u20221128-213632-local 942 11/28/2022
6.4.1-u20221128-210953-local 1,132 11/28/2022
6.4.1-u20221128-210808-ci 1,022 11/28/2022
4.0.3 4,037 8/21/2022
4.0.3-u20220821-194029-ci 104 8/21/2022
4.0.3-u20220810-214951-ci 114 8/10/2022
4.0.3-u20220802-202452-ci 105 8/2/2022
4.0.3-u20220714-205605-ci 129 7/14/2022
4.0.3-u20220623-215058-ci 116 6/23/2022
4.0.2 1,099 6/20/2022
4.0.2-u20220619-213616-ci 116 6/19/2022
4.0.2-u20220619-212740-ci 109 6/19/2022
4.0.1 257 6/19/2022
4.0.1-u20220619-202953-ci 120 6/19/2022
4.0.1-u20211120-052215-ci 420 11/20/2021
4.0.0 2,274 11/20/2021
4.0.0-u20211120-043406-ci 418 11/20/2021
4.0.0-u20211120-041423-ci 417 11/20/2021
4.0.0-u20210619-091434-ci 241 6/19/2021
3.6.0.1-u20230320-003951-ci 1,070 3/20/2023
3.6.0.1-u20230320-001257-ci 1,030 3/20/2023
3.6.0 1,122 3/19/2023
3.6.0-u20230317-061904-ci 1,056 3/17/2023
3.6.0-u20230316-234705-ci 1,184 3/16/2023
3.5.0.1-u20230308-215540-ci 1,057 3/8/2023
3.5.0 1,253 3/8/2023
3.5.0-u20230308-214709-ci 1,204 3/8/2023
3.5.0-u20230308-214239-ci 1,219 3/8/2023
3.4.5 1,115 3/7/2023
3.4.5-u20230307-235831-ci 1,049 3/7/2023
3.4.5-u20230307-235657-ci 1,091 3/7/2023
3.4.4 1,250 11/29/2022
3.4.4-u20221129-225355-ci 1,151 11/29/2022
3.4.3 1,253 11/28/2022
3.4.3-u20221128-221832-ci 1,158 11/28/2022
3.4.2 1,306 11/28/2022
3.4.1 1,325 11/28/2022
3.4.1-u20221128-213632-local 1,031 11/28/2022
3.4.1-u20221128-210953-local 1,103 11/28/2022
3.4.1-u20221128-210808-ci 1,212 11/28/2022
3.0.3 4,229 5/11/2021
3.0.3-u20210511-183227-ci-0... 1,236 5/11/2021
3.0.2 1,414 5/4/2021
3.0.2-u20210504-214837-ci-5... 1,225 5/4/2021
3.0.2-u20210504-210110-ci-d... 1,254 5/4/2021
3.0.1 1,631 5/4/2021
3.0.1-u20210504-202504-ci-a... 1,215 5/4/2021
3.0.1-u20210504-201739-ci-c... 1,241 5/4/2021
3.0.0 1,486 5/2/2021
2.2.0 1,643 4/24/2021
2.1.0 1,538 4/7/2021
2.1.0-u20210406-212203-pre 1,381 4/6/2021
2.1.0-u20210406-211608-pre 1,483 4/6/2021
2.1.0-u20210406-192902-pre 1,547 4/6/2021
2.0.0 1,604 3/29/2021
1.0.1 1,596 3/5/2021
1.0.0 1,660 3/4/2021
1.0.0-pre-u20210304-201218 1,733 3/4/2021
1.0.0-pre-u20210304-200706 1,724 3/4/2021
1.0.0-pre-u20210301-195738 1,783 3/1/2021
1.0.0-pre-u20210301-154645 1,673 3/1/2021
1.0.0-pre-u20210228-230337 1,706 2/28/2021