From 5dad80d0d05009fb6177edcc3c0554a66e60c82f Mon Sep 17 00:00:00 2001 From: Matteias Collet Date: Mon, 9 Mar 2020 15:35:43 +0100 Subject: [PATCH] build dolphin INI archive in addition to the GCM archive --- azure-pipelines.yml | 7 ++- files/DolphinCodes.zip | Bin 0 -> 15948 bytes files/GCMCodes.zip | Bin 15218 -> 15833 bytes ...ive.azure.ps1 => update_archives.azure.ps1 | 52 +++++++++++++++--- 4 files changed, 47 insertions(+), 12 deletions(-) create mode 100644 files/DolphinCodes.zip rename update_gcm_archive.azure.ps1 => update_archives.azure.ps1 (57%) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 32f48ea..ce1ada6 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,10 +11,10 @@ variables: steps: - task: PowerShell@2 - displayName: 'Update GCM Archive' + displayName: 'Update archives' inputs: targetType: 'filePath' - filePath: './update_gcm_archive.azure.ps1' + filePath: './update_archives.azure.ps1' failOnStderr: true workingDirectory: '.' - task: PowerShell@2 @@ -26,7 +26,8 @@ steps: git config --local user.name "BotPatty"; git config --local user.email "ci@zint.ch"; git add ./files/GCMCodes.zip; - git commit -m "Update GCM Archive [skip ci]";' + git add ./files/DolphinCodes.zip; + git commit -m "update archives [skip ci]";' failOnStderr: true workingDirectory: '.' - task: PowerShell@2 diff --git a/files/DolphinCodes.zip b/files/DolphinCodes.zip new file mode 100644 index 0000000000000000000000000000000000000000..a9aa9138c9799b7001ef2e5f3c25f58771e827d6 GIT binary patch literal 15948 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 literal 0 HcmV?d00001 diff --git a/files/GCMCodes.zip b/files/GCMCodes.zip index b06e0967393dab7349701c307e4c1e7a94fe5ccf..8f3cf6776a45b2468c5e1b085a711e2a9494421a 100644 GIT binary patch literal 15833 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 diff --git a/update_gcm_archive.azure.ps1 b/update_archives.azure.ps1 similarity index 57% rename from update_gcm_archive.azure.ps1 rename to update_archives.azure.ps1 index ace347c..f14b830 100644 --- a/update_gcm_archive.azure.ps1 +++ b/update_archives.azure.ps1 @@ -1,7 +1,7 @@ $ErrorActionPreference = "Stop"; # Retrieve commit hash from latest archive update -Write-Host -ForegroundColor Blue "Retrieving last update commit.." +Write-Host -ForegroundColor Blue "Retrieving last update commit.."; $LastGCMUpdate = (git log -1 --pretty=format:"%H" ./files/GCMCodes.zip); if ([string]::IsNullOrWhiteSpace($LastGCMUpdate)) { @@ -18,7 +18,7 @@ $CodeUpdates = (git diff --name-only $LastGCMUpdate HEAD -- './codes/*.xml') if ([string]::IsNullOrWhiteSpace($CodeUpdates)) { Write-Host -ForegroundColor Green "No code changes detected"; - exit 0; + exit 0; } Write-Host "Changed files since last archive Update:" $CodeUpdates; @@ -27,9 +27,9 @@ Write-Host "Changed files since last archive Update:" $CodeUpdates; Write-Host -ForegroundColor Blue "Packing new archive..."; # Setup workspace -New-Item -ItemType directory -Path "./.gcmbuild"; -Copy-Item "./codes/*.xml" "./.gcmbuild/"; -Set-Location "./.gcmbuild"; +New-Item -ItemType directory -Path "./.build"; +Copy-Item "./codes/*.xml" "./.build/"; +Set-Location "./.build"; # Helper function to convert the XML files to the GCM txt format function XmlToGcm($source, $destination, $versionname) { @@ -47,18 +47,52 @@ function XmlToGcm($source, $destination, $versionname) { }; }; -# Convert files -Write-Host "Converting XML files.."; +# Helper function to convert the XML files to the Dolphin INI format +function XmlToIni($source, $destination, $versionname) { + [xml]$xml = Get-Content $source; + + Add-Content $destination "Paste the following on top of your games .ini file:" + Add-Content $destination "[Gecko]" -NoNewline + + foreach ($code in $xml.codes.code) { + Add-Content $destination ""; + Add-Content $destination "`$$($code.title."#text") ($($code.date)) [$($code.author)]"; + $codeSource = $code.source -replace " +$", "" -replace "^? [^a-zA-Z0-9]", ""; + Add-Content $destination $codeSource.Trim() -NoNewline; + }; +} + +# Convert files to GCM format +Write-Host "Converting XML files to GCM format.."; XmlToGcm "GMSE01.xml" "GMSE01.txt" "GMSE01"; XmlToGcm "GMSP01.xml" "GMSP01.txt" "GMSP01"; XmlToGcm "GMSJ01.xml" "GMSJ01.txt" "GMSJ01"; XmlToGcm "GMSJ0A.xml" "GMSJ01 (A).txt" "GMSJ01"; # Replace zip file -Write-Host "Compressing and replacing archive.."; +Write-Host "Compressing and replacing GCM archive.."; Compress-Archive "./*.txt" "../files/GCMCodes.zip" -Force; + +Write-Host -ForegroundColor Green "GCM Archive rebuilt"; + +# Convert files to Dolphin format +Remove-Item *.txt; + +Write-Host "Converting XML files to Dolphin INI format.."; +XmlToIni "GMSE01.xml" "GMSE01.txt" "GMSE01"; +XmlToIni "GMSP01.xml" "GMSP01.txt" "GMSP01"; +XmlToIni "GMSJ01.xml" "GMSJ01.txt" "GMSJ01"; +XmlToIni "GMSJ0A.xml" "GMSJ01 (A).txt" "GMSJ01"; + +Write-Host "Compressing and replacing Dolphin archive.."; +Compress-Archive "./*.txt" "../files/DolphinCodes.zip" -Force; + +Write-Host -ForegroundColor Green "Dolphin Archive rebuilt"; + +# Cleanup +Write-Host "Cleaning up.."; Set-Location ..; -Remove-Item "./.gcmbuild" -Recurse; +Remove-Item "./.build" -Recurse; Write-Host -ForegroundColor Green "Done"; # Set Azure variable to commit and push changes