1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-14 11:23:42 +02:00
Sonarr/Libraries/VCB/CommandLine.txt
2011-05-30 19:58:40 -07:00

204 lines
8.9 KiB
Plaintext

VCB Command-line Utility ver. 3.2
NOTE: Implementation details and latest version of the tool can be found at
http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
AutoVer.exe is a command-line utility that provides functionality
similar to VCB Add-in - it automates versioning of projects in
solutions.
Supported workspaces/solutions:
- Visual C++ 6.0 workspaces (.dsw files)
- Visual Studio 2002 solutions (.sln files)
- Visual Studio 2003 solutions (.sln files)
- Visual Studio 2005 solutions (.sln files)
- Visual Studio 2008 solutions (.sln files)
- Visual Studio 2010 solutions (.sln files)
The tool extracts version information (AssemblyVersion,
AssemblyInformationalVersion and AssemblyFileVersion for .NET projects or
ProductVersion and FileVersion for VC++ projects) and increments versions
according to settings in configuration file or according to command-line
switches that override some settings in configuration file. Configuration file
is stored in
Application Data\Versioning Controlled Build
folder of user's profile and can be modified by Configurator program.
Basic Syntax:
AUTOVER /?
AUTOVER [solution] /G
AUTOVER [solution [version]] [/P:projects] [/C:(E|W)] [/A:(A|M)]
[/V:(*|[A][F][P|I])] [/S:(S|I|N)] [/M:([C][F["filename"]]|N)]
[/U:(username[,password])]
/? Displays command help.
solution Solution file (.SLN or .DSW) for which versions should be updated.
If solution file is omitted, "Open Solution File" dialog pops-up
allowing user to select the file.
/G Starts GUI form with a list of all projects.
NOTE: This switch should not be used with any other switch.
Examples:
AUTOVER /G
AUTOVER /G "C:\My Projects\My Solution.sln"
AUTOVER "C:\My Projects\My Solution.sln" /G
version Version pattern to be applied. Version pattern is a sequence of
four dot separated version components: Major, Minor, Build and
Revision. Each component may contain number (optionally preceded by
'+' character) or '*' character:
'*' character leaves corresponding version component unchanged,
'+' character increments it by amount specified.
For example, version pattern "1.2.*.+2" sets Major version to 1
and Minor to 2, leaves Build unchanged and increments Revision by
2.
If version is omitted, versions are incremented by the scheme
stored in the configuration file. If configuration file does not
exist, Revision will be incremented by 1.
If configured so, user may enter arbitrary version (e.g. "beta 1")
but can apply it to AssemblyInformationalVersion only (using /V:I
or /V:I switch).However such a version will not be applied to
ProductVersion of VC++ projects.
Arbitrary version must not contain a dot character.
NOTE: version pattern cannot be applied in combination with /S
switch.
Examples:
AUTOVER "C:\My Projects\My Solution.sln" "1.0.0.1"
AUTOVER "C:\My Projects\My Solution.sln" "1.+1,*.*"
AUTOVER "C:\My Projects\My Solution.sln" "beta2" /V:I
/P Specifications for individual projects as defined in the list
supplied with this switch. If this switch is omitted, all projects
in solution are considered, according to settings in configuration
file.
projects List of comma separated project names. Each project name may be
prefixed by:
+ (optional) include project into the list of projects for
which version may be modified;
- exclude project from the list of projects for which version
may be modified (complement to + prefix);
! include project into list of projects for which version is
always modified.
If a project name contains whitespace, you should enclose it with
double quotes. Same applies for the case when project name starts
with one of prefix characters.
NOTE: Version of project that may be versioned will be modified
only if other criteria apply (e.g. project modification has been
detected or /A:A switch has been set).
NOTE: Project name may be listed only once, otherwise an error is
issued and command is not executed.
Examples:
AUTOVER "My Solution.sln" /P:"ConsoleApp1","ConsoleApp2"
AUTOVER "My Solution.sln" /P:-"Xlib"
AUTOVER "My Solution.sln" /P:!"ConsoleApp1",-"ConsoleApp2"
/C Check if project names provided with /P, /X and /F switches exist
in solution. Any invalid name causes:
E Error - command is not executed (default);
W Warning - command is executed ignoring invalid entries.
/A Apply version to:
A All projects;
M Modified projects only (default).
NOTE: /P and /X switches change the scope of /A switch by limiting
the scope to or excluding corresponding projects from scope,
respectively.
/F switch extends the scope of /A:M switch by including
corresponding projects.
/V Version types to modify:
A Assembly version;
P or I Product (i.e. Informational) version;
F File version;
* All version types.
If this switch is omitted, settings from configuration file are
applied. If configuration file does not exist, only Assembly
version is modified.
Examples:
AUTOVER "My Solution.sln" "1.+1.*.*"/V:AF
AUTOVER "My Solution.sln" /V:*
/S Synchronization of versions in projects:
S Synchronize (to the highest version);
I Increment and then synchronize;
N Increment versions independently.
If this switch is omitted, settings from configuration file are
applied. If configuration file does not exist, versions are
incremented independently.
NOTE: this switch cannot be used if version pattern is provided.
Example:
AUTOVER "My Solution.sln" /S:I
/M Version update summary:
C Output to console (default);
F Write to a file (with optional filename);
N Suppress the summary.
If filename is omitted from /M:F switch, name is automatically
created from solution filename.
Example:
AUTOVER "My Solution.sln" /M:CF"summary.txt"
/U SourceSafe username and password. If username or password are not
provided, user will be prompted to enter them if solution is under
SourceSafe control. If you do not want to provide password with
command stored in a script (e.g. in a BAT file), you may store
username only (without comma after it: /G:username); user will be
prompted to enter password when command is run.
NOTE: If /U switch is omitted and solution is under SourceSafe
control, username and password of the currently logged user is
used; if it is not valid, user will be prompted to enter them for
each file to be checked out!
Examples:
Provide username and password:
AUTOVER "My Solution.sln" /U:john,smith
Provide username and empty password:
AUTOVER "My Solution.sln" /U:john,
AUTOVER "My Solution.sln" /U:john,""
Provide username only, user will be prompted to enter password:
AUTOVER "My Solution.sln" /U:john
User will be prompted to enter username and password:
AUTOVER "My Solution.sln" /U
EXAMPLE 1:
AUTOVER /V:* /A:M "d:\my projects\MySolution.sln"
This command increments all versions (Assembly, File and Product) of
modified projects in MySolution solution, using numbering scheme from
configuration file (or default scheme if configuration file does not
exist)
EXAMPLE 2:
AUTOVER /V:AF /A:A "d:\my projects\MySolution.sln"
"2.0.*.+"
This command sets Assembly and File versions for all projects from
MySolution solution, using version mask provided:
- major version is set to 2
- minor version is set to 0
- build is left intact
- revision is incremented by 1
EXAMPLE 3:
AUTOVER /G
This command first pops-up File Open dialog so that user can browse for
a solution file. When user selects a SLN or DSW file, form with a list
of all projects is displayed, providing user precise control to set
versions for individual projects.