72 lines
2.0 KiB
PowerShell
72 lines
2.0 KiB
PowerShell
|
|
|
||
|
|
$script:SmPlayerProjectRoot = Split-Path -Parent $PSScriptRoot
|
||
|
|
$script:SmPlayerVersionCli = Join-Path $PSScriptRoot 'version.dart'
|
||
|
|
|
||
|
|
function Get-SmPlayerCurrentVersion {
|
||
|
|
param(
|
||
|
|
[Parameter(Mandatory = $true)][string]$Platform,
|
||
|
|
[string]$ProjectRoot = $script:SmPlayerProjectRoot
|
||
|
|
)
|
||
|
|
|
||
|
|
return (& dart $script:SmPlayerVersionCli current $Platform --project-root $ProjectRoot)
|
||
|
|
}
|
||
|
|
|
||
|
|
function ConvertTo-SmPlayerBuildNumber {
|
||
|
|
param([Parameter(Mandatory = $true)][string]$Version)
|
||
|
|
|
||
|
|
return [int](& dart $script:SmPlayerVersionCli build-number $Version)
|
||
|
|
}
|
||
|
|
|
||
|
|
function Test-SmPlayerFlutterOptionPresent {
|
||
|
|
param(
|
||
|
|
[string[]]$Arguments = @(),
|
||
|
|
[Parameter(Mandatory = $true)][string]$OptionName
|
||
|
|
)
|
||
|
|
|
||
|
|
foreach ($argument in @($Arguments)) {
|
||
|
|
if ($argument -eq $OptionName -or $argument.StartsWith("$OptionName=")) { return $true }
|
||
|
|
}
|
||
|
|
return $false
|
||
|
|
}
|
||
|
|
|
||
|
|
function Test-SmPlayerDartDefinePresent {
|
||
|
|
param(
|
||
|
|
[string[]]$Arguments = @(),
|
||
|
|
[Parameter(Mandatory = $true)][string]$DefineName
|
||
|
|
)
|
||
|
|
|
||
|
|
$previousArgument = ''
|
||
|
|
foreach ($argument in @($Arguments)) {
|
||
|
|
if ($argument -like "--dart-define=$DefineName=*") { return $true }
|
||
|
|
if ($previousArgument -eq '--dart-define' -and $argument -like "$DefineName=*") { return $true }
|
||
|
|
$previousArgument = $argument
|
||
|
|
}
|
||
|
|
return $false
|
||
|
|
}
|
||
|
|
|
||
|
|
function Add-SmPlayerVersionDartDefine {
|
||
|
|
param(
|
||
|
|
[string[]]$Arguments = @(),
|
||
|
|
[Parameter(Mandatory = $true)][string]$Version
|
||
|
|
)
|
||
|
|
|
||
|
|
$result = @($Arguments)
|
||
|
|
if (-not (Test-SmPlayerDartDefinePresent -Arguments $result -DefineName 'SMPLAYER_VERSION')) {
|
||
|
|
$result += "--dart-define=SMPLAYER_VERSION=$Version"
|
||
|
|
}
|
||
|
|
return $result
|
||
|
|
}
|
||
|
|
|
||
|
|
function Add-SmPlayerBuildName {
|
||
|
|
param(
|
||
|
|
[string[]]$Arguments = @(),
|
||
|
|
[Parameter(Mandatory = $true)][string]$Version
|
||
|
|
)
|
||
|
|
|
||
|
|
$result = @($Arguments)
|
||
|
|
if (-not (Test-SmPlayerFlutterOptionPresent -Arguments $result -OptionName '--build-name')) {
|
||
|
|
$result += @('--build-name', $Version)
|
||
|
|
}
|
||
|
|
return $result
|
||
|
|
}
|