{"options":[{"enabled":false,"definition":{"id":"5d58cc01-7c75-450c-be18-a388ddb129ec"},"inputs":{"branchFilters":"[\"+refs/heads/*\"]","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"a9db38f9-9fdc-478c-b0f9-464221e58316"},"inputs":{"workItemType":"Issue","assignToRequestor":"true","additionalFields":"{}"}}],"variables":{"BuildConfiguration":{"value":"release","allowOverride":true},"BuildPlatform":{"value":"x64","allowOverride":true},"proj":{"value":"VoiceMaker","allowOverride":true},"system.debug":{"value":"false","allowOverride":true}},"properties":{},"tags":[],"_links":{"self":{"href":"https://dev.azure.com/scorpioplayer/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6/_apis/build/Definitions/108?revision=87"},"web":{"href":"https://dev.azure.com/scorpioplayer/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6/_build/definition?definitionId=108"},"editor":{"href":"https://dev.azure.com/scorpioplayer/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6/_build/designer?id=108&_a=edit-build-definition"},"badge":{"href":"https://dev.azure.com/scorpioplayer/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6/_apis/build/status/108"}},"buildNumberFormat":"$(date:yyyyMMdd)$(rev:.r)","jobAuthorizationScope":2,"jobTimeoutInMinutes":60,"jobCancelTimeoutInMinutes":5,"badgeEnabled":true,"process":{"phases":[{"steps":[{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"Command Line Script git pull","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"d9bafed4-0b18-4f58-968d-86655b4d2ce9","versionSpec":"2.*","definitionType":"task"},"inputs":{"script":"cd /Users/yongchen/Documents/GitHub/WhisperUI/  \n\ngit reset --hard\n\ngit checkout Uno5  \n\ngit remote set-url origin https://bosxixi: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@github.com/bosxixi/WhisperUI.git  \n\ngit pull origin Uno5  \n","workingDirectory":"","failOnStderr":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"JSON to Variable","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"ffd54dce-ce4f-4080-bdda-a110f334feff","versionSpec":"1.*","definitionType":"task"},"inputs":{"jsonFile":"/Users/yongchen/Documents/GitHub/WhisperUI/resources.shared/Apps/$(proj)/appdeploysetting.json","shouldPrefixVariables":"true","variablePrefix":"json"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"Copy Files to: $(Build.ArtifactStagingDirectory)","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c","versionSpec":"2.*","definitionType":"task"},"inputs":{"SourceFolder":"/Users/yongchen/Documents/GitHub/WhisperUI/resources.shared/Apps/$(proj)/","Contents":"appdeploysetting.json","TargetFolder":"$(Build.ArtifactStagingDirectory)","CleanTargetFolder":"false","OverWrite":"false","flattenFolders":"false","preserveTimestamp":"false","retryCount":"0","delayBetweenRetries":"1000","ignoreMakeDirErrors":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script icons","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"\n$proj = \"$(proj)\" \n\n$sourceFile = \"/Users/yongchen/Documents/GitHub/WhisperUI/resources.shared/Apps/$proj/icon.svg\"  \n  \n$destinationFile1 = \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/Assets/Icons/icon_foreground.svg\"  \n$destinationFile2 = \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/Assets/Splash/splash_screen.svg\"  \n  \n# Copy and overwrite the file to the first destination  \nCopy-Item -Path $sourceFile -Destination $destinationFile1 -Force  \n  \n# Copy and overwrite the file to the second destination  \nCopy-Item -Path $sourceFile -Destination $destinationFile2 -Force  \n  \nWrite-Output \"Files copied and overwritten successfully.\"  \n","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script title","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$fromstr = \"AI Voice GPT\"  \n$tostr = \"$(json.title)\"  -replace \"&\", \"&amp;\"\n\nWrite-Host $fromstr\n\nWrite-Host $tostr\n\n(Get-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\") -replace $fromstr, $tostr | Set-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script appId","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$fromstr = \"com.scorpioxinc.aivoicegpt\"  \n$tostr = \"$(json.appId)\"  \n\nWrite-Host $fromstr\n\nWrite-Host $tostr\n\n(Get-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\") -replace $fromstr, $tostr | Set-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script version display","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$fromstr = \"<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>\"  \n$tostr = \"<ApplicationDisplayVersion>\" + \"$(json.version)\" +  \"</ApplicationDisplayVersion>\"\n\nWrite-Host $fromstr\n\nWrite-Host $tostr\n\n(Get-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\") -replace $fromstr, $tostr | Set-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script version","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$fromstr = \"<ApplicationVersion>1</ApplicationVersion>\"  \n$tostr = \"<ApplicationVersion>\" + \"$(json.version)\" +  \"</ApplicationVersion>\"\n\nWrite-Host $fromstr\n\nWrite-Host $tostr\n\n(Get-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\") -replace $fromstr, $tostr | Set-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script window name","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$fromstr = \"WhisperUIUno5\"  \n$tostr = \"$(json.title)\"  -replace \"&\", \"&amp;\"\n\nWrite-Host $fromstr\n\nWrite-Host $tostr\n\n(Get-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/Package.appxmanifest\") -replace $fromstr, $tostr | Set-Content \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/Package.appxmanifest\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":true,"alwaysRun":false,"displayName":"Command Line Script clean","timeoutInMinutes":10,"retryCountOnTaskFailure":6,"condition":"succeeded()","task":{"id":"d9bafed4-0b18-4f58-968d-86655b4d2ce9","versionSpec":"2.*","definitionType":"task"},"inputs":{"script":" \nrm -rf /Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/bin\n\nrm -rf /Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/obj  \n\n","workingDirectory":"","failOnStderr":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script build","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","refName":"","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$macOS = \"$(json.macOS)\"\n  \n$projectPath = \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\"  \n$outputDirectory = \"$(Build.ArtifactStagingDirectory)\"\n$uploadtxt = \"$outputDirectory/upload.txt\"\n$outputBinDirectory = \"$(Build.BinariesDirectory)\"\n$proj = \"$(proj)\" \n$sourceFile = \"/Users/yongchen/Documents/GitHub/WhisperUI/resources.shared/Apps/$proj\"\n$plistFile = \"/Users/yongchen/Documents/GitHub/WhisperUI/resources.shared/Apps/$proj/Info.plist\"  \n$identityFile = \"/Users/yongchen/Documents/GitHub/WhisperUI/Platform.Shared\\Adapters\\AICustomEvent.cs\" \n\nif ($macOS -eq 'true') {  \n\n   $fromstr = \"1.26\"  \n   $tostr = \"$(json.version)\"\n\n    (Get-Content $plistFile) -replace $fromstr, $tostr | Set-Content $plistFile\n\n    (Get-Content $identityFile) -replace 'VirtualIdentityPlaceholder', \"$(json.appId)\"| Set-Content $identityFile\n\n    (Get-Content $identityFile) -replace 'VirtualVersionPlaceholder', \"$(json.version)\"| Set-Content $identityFile\n\n    $fromstr = \"<ApplicationRuntimeOS>undefined</ApplicationRuntimeOS>\"  \n    $tostr = \"<ApplicationRuntimeOS>\" + \"macos\" +  \"</ApplicationRuntimeOS>\"\n\n    (Get-Content $projectPath) -replace $fromstr, $tostr | Set-Content $projectPath\n\n    echo dotnet build macOS\n    dotnet publish $projectPath -f net8.0-desktop -c Release -r osx-arm64 --self-contained true -p:PublishSingleFile=true -o $outputBinDirectory \n    cd \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/bundler\"\n    ./icon.sh \"$sourceFile\"\n    ./make.sh \"$sourceFile\" \"$outputBinDirectory\" \"$(json.title)\" \"$proj\" \"$(json.copy)\"\n    ./sign.sh \"$sourceFile\" \"$(json.title)\"\n    ./pkg.sh \"$outputDirectory\" \"$(json.title)\"\n    $fromstr = \"$outputDirectory/$(json.title).pkg\"\n    $fromstr | Out-File -FilePath $uploadtxt\n    #xcrun altool --upload-app -t osx -f \"$fromstr\" -u admin@scorpioplayer.com -p iivd-cddh-xkyx-xywu  \n    #Remove-Item \"$fromstr\"\n} else {\n    echo dotnet build \n    dotnet publish $projectPath -f net8.0-ios -c Release -o $outputDirectory\n    $fromstr = \"$outputDirectory/WhisperUI.ipa\"\n    $fromstr | Out-File -FilePath $uploadtxt\n    #xcrun altool --upload-app -t ios -f \"$fromstr\" -u admin@scorpioplayer.com -p iivd-cddh-xkyx-xywu  \n    #Remove-Item \"$fromstr\"\n}  \n","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script upload","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"$outputDirectory = \"$(Build.ArtifactStagingDirectory)\"\n$uploadtxt = \"$outputDirectory/upload.txt\"\n$myString = Get-Content -Path $uploadtxt\n\necho \"$myString\"\n\n$macOS = \"$(json.macOS)\"\n\nif ($macOS -eq 'true') {  \n    echo 'upload macos'\n    xcrun altool --upload-app -t osx -f \"$myString\" -u admin@scorpioplayer.com -p gvzm-fkio-tbxm-goom  \n} else {\n    echo 'upload ios'\n    xcrun altool --upload-app -t ios -f \"$myString\" -u admin@scorpioplayer.com -p gvzm-fkio-tbxm-goom  \n}\n\nRemove-Item \"$myString\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"Publish Artifact: drop","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"2ff763a7-ce83-4e1f-bc89-0ae63477cebe","versionSpec":"1.*","definitionType":"task"},"inputs":{"PathtoPublish":"$(Build.ArtifactStagingDirectory)","ArtifactName":"drop","ArtifactType":"Container","MaxArtifactSize":"0","TargetPath":"","Parallel":"false","ParallelCount":"8","StoreAsTar":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"Command Line Script publish macOS","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"d9bafed4-0b18-4f58-968d-86655b4d2ce9","versionSpec":"2.*","definitionType":"task"},"inputs":{"script":"echo Write your commands here\n\necho dotnet build\n\ndotnet publish \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\" -f net8.0-desktop -c Release -r osx-arm64 -o $(Build.ArtifactStagingDirectory)","workingDirectory":"","failOnStderr":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"Command Line Script publish","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"d9bafed4-0b18-4f58-968d-86655b4d2ce9","versionSpec":"2.*","definitionType":"task"},"inputs":{"script":"echo Write your commands here\n\necho dotnet build\n\ndotnet publish \"/Users/yongchen/Documents/GitHub/WhisperUI/Uno5/WhisperUI/WhisperUI/WhisperUI.csproj\" -f net8.0-ios -c Release -o $(Build.ArtifactStagingDirectory)\n\n","workingDirectory":"","failOnStderr":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"NuGet restore **\\*.sln Toolkit14","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"333b11bd-d341-40d9-afcf-b32d5ce6f23b","versionSpec":"2.*","definitionType":"task"},"inputs":{"command":"restore","solution":"C:\\GitHub\\WhisperUI\\bosxixi.Toolkit14\\bosxixi.Toolkit14.csproj","selectOrConfig":"config","feedRestore":"","includeNuGetOrg":"true","nugetConfigPath":"C:\\GitHub\\WhisperUI\\NuGet.Config","externalEndpoints":"","noCache":"false","disableParallelProcessing":"false","packagesDirectory":"","verbosityRestore":"Detailed","searchPatternPush":"$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg","nuGetFeedType":"internal","feedPublish":"","publishPackageMetadata":"true","allowPackageConflicts":"false","externalEndpoint":"","verbosityPush":"Detailed","searchPatternPack":"**/*.csproj","configurationToPack":"$(BuildConfiguration)","outputDir":"$(Build.ArtifactStagingDirectory)","versioningScheme":"off","includeReferencedProjects":"false","versionEnvVar":"","requestedMajorVersion":"1","requestedMinorVersion":"0","requestedPatchVersion":"0","packTimezone":"utc","includeSymbols":"false","toolPackage":"false","buildProperties":"","basePath":"","verbosityPack":"Detailed","arguments":""}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"NuGet restore **\\*.sln wapproj","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"333b11bd-d341-40d9-afcf-b32d5ce6f23b","versionSpec":"2.*","definitionType":"task"},"inputs":{"command":"restore","solution":"C:\\GitHub\\WhisperUI\\$(proj)\\$(proj) (Package)\\$(proj) (Package).wapproj","selectOrConfig":"config","feedRestore":"","includeNuGetOrg":"true","nugetConfigPath":"C:\\GitHub\\WhisperUI\\NuGet.Config","externalEndpoints":"","noCache":"false","disableParallelProcessing":"false","packagesDirectory":"","verbosityRestore":"Detailed","searchPatternPush":"$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg","nuGetFeedType":"internal","feedPublish":"","publishPackageMetadata":"true","allowPackageConflicts":"false","externalEndpoint":"","verbosityPush":"Detailed","searchPatternPack":"**/*.csproj","configurationToPack":"$(BuildConfiguration)","outputDir":"$(Build.ArtifactStagingDirectory)","versioningScheme":"off","includeReferencedProjects":"false","versionEnvVar":"","requestedMajorVersion":"1","requestedMinorVersion":"0","requestedPatchVersion":"0","packTimezone":"utc","includeSymbols":"false","toolPackage":"false","buildProperties":"","basePath":"","verbosityPack":"Detailed","arguments":""}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"JSON to Variable","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"ffd54dce-ce4f-4080-bdda-a110f334feff","versionSpec":"1.*","definitionType":"task"},"inputs":{"jsonFile":"C:\\GitHub\\WhisperUI\\$(proj)\\$(proj) (Package)\\appdeploysetting.json","shouldPrefixVariables":"true","variablePrefix":"json"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"RegEx Match & Replace version","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"86e3367d-c1d2-40a3-ab67-abd1924ce49f","versionSpec":"2.*","definitionType":"task"},"inputs":{"PathToFile":"C:\\GitHub\\WhisperUI\\$(proj)\\$(proj) (Package)\\Package.appxmanifest","RegEx":"2.10.9.0","Global":"true","IgnoreCase":"false","MultiLine":"false","ValueToReplace":"$(json.version)"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"# Write your PowerShell commands here.\n\n$proj = \"$(proj)\"  \n\nWrite-Host \"Hello World\"\n\nWrite-Host $proj\n\n(Get-Content \"C:\\GitHub\\WhisperUI\\$($proj)\\$($proj) (Package)\\Package.appxmanifest\") -replace 'DEBUG', '' | Set-Content \"C:\\GitHub\\WhisperUI\\$($proj)\\$($proj) (Package)\\Package.appxmanifest\"","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"Build solution C:\\GitHub\\WhisperUI\\$(proj)\\$(proj) (Package)\\$(proj) (Package).wapproj","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"71a9a2d3-a98a-4caa-96ab-affca411ecda","versionSpec":"1.*","definitionType":"task"},"inputs":{"solution":"C:\\GitHub\\WhisperUI\\$(proj)\\$(proj) (Package)\\$(proj) (Package).wapproj","vsVersion":"17.0","msbuildArgs":"/p:AppxBundlePlatforms=\"$(BuildPlatform)\" /p:AppxPackageDir=\"C:\\tmp\\misx_releases\\ci\\$(proj)\\$(json.version)\" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload","platform":"x64","configuration":"$(BuildConfiguration)","clean":"false","maximumCpuCount":"false","restoreNugetPackages":"false","msbuildArchitecture":"x64","logProjectEvents":"true","createLogFile":"false","logFileVerbosity":"normal","enableDefaultLogger":"true","customVersion":""}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script git undo","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"always()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"# Define the path to the target repository  \n$targetRepoPath = \"C:\\GitHub\\WhisperUI\"  \n  \n# Navigate to the target repository  \nSet-Location -Path $targetRepoPath  \n  \n# Define the project name  \n$proj = \"$(proj)\"  \n  \n# Construct the file path  \n$filePath = \"$targetRepoPath\\$proj\\$proj (Package)\\Package.appxmanifest\"  \n  \n# Undo changes to the specified file  \ngit checkout HEAD -- $filePath  \n  \n# Confirm the action  \nWrite-Host \"Reverted changes to: $filePath\"  \n","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script info.json","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"# Define the path  \n$path = \"C:\\tmp\\misx_releases\\ci\\$(proj)\\$(json.version)\"  \n$appid= \"$(appid)\"  \n$publisher= \"$(publisher)\"  \n  \n# Create a JSON object  \n$jsonObject = @{\npath = $path\nappid = $appid\npublisher = $publisher\n} | ConvertTo-Json\n\n# Define the output file path  \n$outputFilePath = \"$(Build.ArtifactStagingDirectory)/info.json\"  \n  \n# Write the JSON object to the file  \nNew-Item -ItemType File -Path $outputFilePath -Force  \nSet-Content -Path $outputFilePath -Value $jsonObject","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}},{"environment":{},"enabled":false,"continueOnError":false,"alwaysRun":false,"displayName":"PowerShell Script info.json Speedlimit","timeoutInMinutes":0,"retryCountOnTaskFailure":0,"condition":"succeeded()","task":{"id":"e213ff0f-5d5c-4791-802d-52ea3e7be1f1","versionSpec":"2.*","definitionType":"task"},"inputs":{"targetType":"inline","filePath":"","arguments":"","script":"function Copy-FileWithSpeedLimit {  \n    param (  \n        [Parameter(Mandatory=$true)]  \n        [string]$SourcePath,  \n          \n        [Parameter(Mandatory=$true)]  \n        [string]$DestinationPath,  \n          \n        [int]$SpeedLimitMBps = 9  \n    )  \n      \n    $chunkSize = 1MB  \n    $delayMilliseconds = [math]::Ceiling((1MB / ($SpeedLimitMBps * 1MB)) * 1000)  \n      \n    $sourceStream = $null  \n    $destinationStream = $null  \n      \n    try { \n         if (Test-Path -Path $DestinationPath) {  \n            Remove-Item -Path $DestinationPath -Force  \n        }  \n\n        $sourceStream = [System.IO.File]::OpenRead($SourcePath)  \n        $destinationStream = [System.IO.File]::OpenWrite($DestinationPath)  \n          \n        $buffer = New-Object byte[] $chunkSize  \n        $totalBytesRead = 0  \n          \n        while (($bytesRead = $sourceStream.Read($buffer, 0, $buffer.Length)) -gt 0) {  \n            $destinationStream.Write($buffer, 0, $bytesRead)  \n            $totalBytesRead += $bytesRead  \n            Start-Sleep -Milliseconds $delayMilliseconds  \n        }  \n          \n        Write-Output \"Copied $totalBytesRead bytes from $SourcePath to $DestinationPath with a speed limit of $SpeedLimitMBps MB/s.\"  \n    }  \n    catch {  \n        Write-Error \"An error occurred: $_\"  \n    }  \n    finally {  \n        if ($sourceStream) {  \n            $sourceStream.Close()  \n        }  \n        if ($destinationStream) {  \n            $destinationStream.Close()  \n        }  \n    }  \n}  \n  \nfunction Copy-FilesWithPattern {  \n    param (  \n        [Parameter(Mandatory=$true)]  \n        [string]$SourceDirectory,  \n          \n        [Parameter(Mandatory=$true)]  \n        [string]$DestinationDirectory,  \n          \n        [Parameter(Mandatory=$true)]  \n        [string]$Pattern,  \n          \n        [int]$SpeedLimitMBps = 9  \n    )  \n  \n    if (-not (Test-Path $DestinationDirectory)) {  \n        New-Item -ItemType Directory -Path $DestinationDirectory | Out-Null  \n    }  \n  \n    $files = Get-ChildItem -Path $SourceDirectory -Filter $Pattern  \n    foreach ($file in $files) {  \n        $sourcePath = $file.FullName  \n        $destinationPath = Join-Path -Path $DestinationDirectory -ChildPath $file.Name  \n        Write-Output \"Copying $sourcePath to $destinationPath\"  \n        Copy-FileWithSpeedLimit -SourcePath $sourcePath -DestinationPath $destinationPath -SpeedLimitMBps $SpeedLimitMBps  \n    }  \n}  \n  \n# Define the path  \n$path = \"C:\\tmp\\misx_releases\\ci\\$(proj)\\$(json.version)\"  \n$destinationDirectory = \"\\\\NAS\\Shared\\docker\\fs\\dl\\msix\\$(proj)\\$(json.version)\"  \n$appid = \"$(appid)\"  \n$publisher = \"$(publisher)\"  \n\nif (-not (Test-Path -Path $destinationDirectory)) {  \n    New-Item -ItemType Directory -Path $destinationDirectory -Force  \n}  \n\nCopy-FilesWithPattern -SourceDirectory $path -DestinationDirectory $destinationDirectory -Pattern \"*.msixupload\" -SpeedLimitMBps 100\n\n$firstFileName = Get-ChildItem -Path $destinationDirectory | Where-Object { -not $_.PSIsContainer } | Sort-Object Name | Select-Object -First 1 | Select-Object -ExpandProperty Name  \n\n$httpFile = \"https://fs.scorpioplayer.com/dl/msix/$(proj)/$(json.version)/$firstFileName\"  \n\n# Create a JSON object  \n$jsonObject = @{  \n    path = $httpFile\n    name = $firstFileName \n    appid = $appid  \n    publisher = $publisher  \n} | ConvertTo-Json  \n  \n$outputFilePath = \"$(Build.ArtifactStagingDirectory)/info.json\"  \n  \nNew-Item -ItemType File -Path $outputFilePath -Force  \nSet-Content -Path $outputFilePath -Value $jsonObject  \n\n","errorActionPreference":"stop","warningPreference":"default","informationPreference":"default","verbosePreference":"default","debugPreference":"default","progressPreference":"silentlyContinue","failOnStderr":"false","showWarnings":"false","ignoreLASTEXITCODE":"false","pwsh":"false","workingDirectory":"","runScriptInSeparateScope":"false"}}],"name":"Agent job 1","refName":"Job_1","condition":"succeeded()","target":{"executionOptions":{"type":0},"allowScriptsAuthAccessOption":false,"type":1},"jobAuthorizationScope":2}],"type":1},"repository":{"properties":{"apiUrl":"https://api.github.com/repos/bosxixi/WhisperUI","branchesUrl":"https://api.github.com/repos/bosxixi/WhisperUI/branches","cloneUrl":"https://github.com/bosxixi/WhisperUI.git","connectedServiceId":"5f52e356-6293-4e0b-a8af-62a5eb0f87b1","defaultBranch":"master","fullName":"bosxixi/WhisperUI","hasAdminPermissions":"True","isFork":"False","isPrivate":"True","lastUpdated":"06/09/2024 03:42:06","manageUrl":"https://github.com/bosxixi/WhisperUI","nodeId":"R_kgDOKmLSsg","ownerId":"12491547","orgName":"bosxixi","refsUrl":"https://api.github.com/repos/bosxixi/WhisperUI/git/refs","safeRepository":"bosxixi/WhisperUI","shortName":"WhisperUI","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/12491547?v=4","archived":"False","externalId":"711119538","ownerIsAUser":"True","checkoutNestedSubmodules":"false","cleanOptions":"1","fetchDepth":"0","gitLfsSupport":"false","reportBuildStatus":"true","skipSyncSource":"true","fetchTags":"false","labelSourcesFormat":"$(build.buildNumber)","labelSources":"0"},"id":"bosxixi/WhisperUI","type":"GitHubEnterprise","name":"bosxixi/WhisperUI","url":"https://github.com/bosxixi/WhisperUI.git","defaultBranch":"refs/heads/Uno5","clean":"true","checkoutSubmodules":false},"processParameters":{},"quality":1,"authoredBy":{"displayName":"SCORPIOX","url":"https://spsprodeau1.vssps.visualstudio.com/A10efc28f-3d54-499d-b650-20f9032ddbbe/_apis/Identities/2445cb9c-45e4-6a8d-abdd-f5889a40ef6f","_links":{"avatar":{"href":"https://dev.azure.com/scorpioplayer/_apis/GraphProfile/MemberAvatars/msa.MjQ0NWNiOWMtNDVlNC03YThkLWFiZGQtZjU4ODlhNDBlZjZm"}},"id":"2445cb9c-45e4-6a8d-abdd-f5889a40ef6f","uniqueName":"partner@scorpioplayer.com","imageUrl":"https://dev.azure.com/scorpioplayer/_apis/GraphProfile/MemberAvatars/msa.MjQ0NWNiOWMtNDVlNC03YThkLWFiZGQtZjU4ODlhNDBlZjZm","descriptor":"msa.MjQ0NWNiOWMtNDVlNC03YThkLWFiZGQtZjU4ODlhNDBlZjZm"},"drafts":[],"queue":{"_links":{"self":{"href":"https://dev.azure.com/scorpioplayer/_apis/build/Queues/88"}},"id":88,"name":"mac_release","url":"https://dev.azure.com/scorpioplayer/_apis/build/Queues/88","pool":{"id":28,"name":"mac_release"}},"id":108,"name":"Platform-macOS","url":"https://dev.azure.com/scorpioplayer/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6/_apis/build/Definitions/108?revision=87","uri":"vstfs:///Build/Definition/108","path":"\\","type":2,"queueStatus":0,"revision":87,"createdDate":"2025-11-27T01:17:54.267Z","project":{"id":"d7f80e0e-4fd6-4998-a472-47c1c3a97cb6","name":"Releases","url":"https://dev.azure.com/scorpioplayer/_apis/projects/d7f80e0e-4fd6-4998-a472-47c1c3a97cb6","state":1,"revision":56,"visibility":2,"lastUpdateTime":"2022-11-14T05:10:49.457Z"}}