Fix PowerShell parameter conflicts by renaming Verbose to VerboseOutput

- Fixed parameter conflicts in sf-data-export.ps1, sf-data-import.ps1, sf-retrieve.ps1, and sf-test-run.ps1
- Renamed conflicting \ parameter to \ to avoid conflicts with PowerShell's built-in -Verbose common parameter
- Added proper parameter sets to ensure -Help parameter works correctly in all scripts
- Added -hp aliases where needed for consistency across all scripts
- All scripts now properly support help functionality without parameter conflicts

This resolves issues where scripts would fail with 'A parameter with the name Verbose was defined multiple times' error.
This commit is contained in:
Reynold Lariza
2025-08-28 20:58:54 +08:00
parent 159ede3794
commit 134169a2ee
4 changed files with 102 additions and 20 deletions

View File

@@ -32,7 +32,7 @@
.PARAMETER Wait .PARAMETER Wait
Wait time in minutes (default: 10) (alias: -wt) Wait time in minutes (default: 10) (alias: -wt)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output (alias: -ve) Enable verbose output (alias: -ve)
.PARAMETER Help .PARAMETER Help
@@ -51,36 +51,64 @@
param( param(
[Parameter(ParameterSetName="Query")] [Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="Help")]
[Alias("qy")] [Alias("qy")]
[string]$Query, [string]$Query,
[Parameter(ParameterSetName="File")] [Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="Help")]
[Alias("fl")] [Alias("fl")]
[string]$File, [string]$File,
[Parameter(ParameterSetName="SObject")] [Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("so")] [Alias("so")]
[string]$SObject, [string]$SObject,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("ot")] [Alias("ot")]
[string]$Output = "export.csv", [string]$Output = "export.csv",
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("to")] [Alias("to")]
[string]$TargetOrg, [string]$TargetOrg,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[ValidateSet("csv", "json")] [ValidateSet("csv", "json")]
[Alias("fm")] [Alias("fm")]
[string]$Format = "csv", [string]$Format = "csv",
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("bk")] [Alias("bk")]
[switch]$Bulk, [switch]$Bulk,
[Parameter(ParameterSetName="Query")]
[Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("wt")] [Alias("wt")]
[int]$Wait = 10, [int]$Wait = 10,
[Alias("vb")] [Parameter(ParameterSetName="Query")]
[switch]$Verbose, [Parameter(ParameterSetName="File")]
[Parameter(ParameterSetName="SObject")]
[Parameter(ParameterSetName="Help")]
[Alias("ve")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")] [Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -235,7 +263,7 @@ Write-Host "Output format: $Format" -ForegroundColor Cyan
Write-Host "Output file: $Output" -ForegroundColor Cyan Write-Host "Output file: $Output" -ForegroundColor Cyan
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }
@@ -245,7 +273,7 @@ Write-Host "📊 Starting Data Export" -ForegroundColor Blue
Write-Host "=======================" -ForegroundColor Blue Write-Host "=======================" -ForegroundColor Blue
# Show query preview if verbose # Show query preview if verbose
if ($Verbose) { if ($VerboseOutput) {
Write-Host "" Write-Host ""
Write-Host "📝 SOQL Query:" -ForegroundColor Yellow Write-Host "📝 SOQL Query:" -ForegroundColor Yellow
Write-Host "----------------------------------------" -ForegroundColor Gray Write-Host "----------------------------------------" -ForegroundColor Gray
@@ -287,7 +315,7 @@ try {
} }
} }
if ($Verbose) { if ($VerboseOutput) {
Write-Host "💡 Use a spreadsheet application or text editor to view the exported data" -ForegroundColor Yellow Write-Host "💡 Use a spreadsheet application or text editor to view the exported data" -ForegroundColor Yellow
} }
} else { } else {

View File

@@ -35,7 +35,7 @@
.PARAMETER IgnoreErrors .PARAMETER IgnoreErrors
Continue on errors (don't fail entire job) (alias: -ie) Continue on errors (don't fail entire job) (alias: -ie)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output (alias: -ve) Enable verbose output (alias: -ve)
.PARAMETER Help .PARAMETER Help
@@ -57,39 +57,48 @@
#> #>
param( param(
[Parameter(Mandatory)] [Parameter(ParameterSetName="Import", Mandatory)]
[Alias("fl")] [Alias("fl")]
[string]$File, [string]$File,
[Parameter(Mandatory)] [Parameter(ParameterSetName="Import", Mandatory)]
[Alias("so")] [Alias("so")]
[string]$SObject, [string]$SObject,
[Parameter(ParameterSetName="Import")]
[ValidateSet("insert", "update", "upsert")] [ValidateSet("insert", "update", "upsert")]
[Alias("op")] [Alias("op")]
[string]$Operation = "insert", [string]$Operation = "insert",
[Parameter(ParameterSetName="Import")]
[Alias("ei")] [Alias("ei")]
[string]$ExternalId, [string]$ExternalId,
[Parameter(ParameterSetName="Import")]
[Alias("to")] [Alias("to")]
[string]$TargetOrg, [string]$TargetOrg,
[Parameter(ParameterSetName="Import")]
[Alias("bk")] [Alias("bk")]
[switch]$Bulk, [switch]$Bulk,
[Parameter(ParameterSetName="Import")]
[Alias("wt")] [Alias("wt")]
[int]$Wait = 10, [int]$Wait = 10,
[Parameter(ParameterSetName="Import")]
[Alias("bs")] [Alias("bs")]
[int]$BatchSize = 10000, [int]$BatchSize = 10000,
[Parameter(ParameterSetName="Import")]
[Alias("ie")] [Alias("ie")]
[switch]$IgnoreErrors, [switch]$IgnoreErrors,
[Alias("vb")] [Parameter(ParameterSetName="Import")]
[switch]$Verbose, [Alias("ve")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")] [Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -270,7 +279,7 @@ switch ($fileFormat) {
} }
# Show file preview if verbose # Show file preview if verbose
if ($Verbose) { if ($VerboseOutput) {
Show-FilePreview $File $fileFormat Show-FilePreview $File $fileFormat
} }
@@ -312,7 +321,7 @@ if ($IgnoreErrors) {
} }
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }
@@ -349,7 +358,7 @@ try {
} }
} }
if ($Verbose) { if ($VerboseOutput) {
Write-Host "💡 Check the output above for detailed results and any warnings" -ForegroundColor Yellow Write-Host "💡 Check the output above for detailed results and any warnings" -ForegroundColor Yellow
} }
} else { } else {

View File

@@ -26,7 +26,7 @@
.PARAMETER Wait .PARAMETER Wait
Wait time in minutes for the retrieve operation (default: 10) Wait time in minutes for the retrieve operation (default: 10)
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose output Enable verbose output
.PARAMETER Help .PARAMETER Help
@@ -53,10 +53,28 @@ param(
[Parameter(ParameterSetName="Package")] [Parameter(ParameterSetName="Package")]
[string]$Package, [string]$Package,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[string]$OutputDir, [string]$OutputDir,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[string]$o, [string]$o,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[int]$Wait = 10, [int]$Wait = 10,
[switch]$Verbose,
[Parameter(ParameterSetName="Types")]
[Parameter(ParameterSetName="Manifest")]
[Parameter(ParameterSetName="Package")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -166,7 +184,7 @@ if ($Wait -ne 10) {
} }
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }

View File

@@ -32,7 +32,7 @@
.PARAMETER OutputDir .PARAMETER OutputDir
Directory to store test results and reports Directory to store test results and reports
.PARAMETER Verbose .PARAMETER VerboseOutput
Enable verbose test output Enable verbose test output
.PARAMETER Help .PARAMETER Help
@@ -63,11 +63,38 @@ param(
[Parameter(ParameterSetName="Suite")] [Parameter(ParameterSetName="Suite")]
[string]$Suite, [string]$Suite,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[switch]$Coverage, [switch]$Coverage,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[int]$Wait = 10, [int]$Wait = 10,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[string]$o, [string]$o,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[string]$OutputDir, [string]$OutputDir,
[switch]$Verbose,
[Parameter(ParameterSetName="Classes")]
[Parameter(ParameterSetName="Methods")]
[Parameter(ParameterSetName="Level")]
[Parameter(ParameterSetName="Suite")]
[switch]$VerboseOutput,
[Parameter(ParameterSetName="Help", Mandatory=$true)]
[Alias("hp")]
[switch]$Help [switch]$Help
) )
@@ -181,7 +208,7 @@ $sfArgs += "--result-format"
$sfArgs += "human" $sfArgs += "human"
# Add verbose flag if requested # Add verbose flag if requested
if ($Verbose) { if ($VerboseOutput) {
$sfArgs += "--verbose" $sfArgs += "--verbose"
} }