From f8c50c93b54977055267e0cd1b10075b8746cab2 Mon Sep 17 00:00:00 2001 From: V-Zabayrachny <79155496+V-Zabayrachny@users.noreply.github.com> Date: Thu, 11 Nov 2021 17:18:39 +0300 Subject: [PATCH] [Windows] Add MySQL to the toolset (#4435) --- images/win/scripts/Installers/Install-MysqlCli.ps1 | 12 ++++-------- images/win/scripts/Tests/Databases.Tests.ps1 | 6 +++--- images/win/toolsets/toolset-2016.json | 3 +++ images/win/toolsets/toolset-2019.json | 3 +++ images/win/toolsets/toolset-2022.json | 3 +++ 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/images/win/scripts/Installers/Install-MysqlCli.ps1 b/images/win/scripts/Installers/Install-MysqlCli.ps1 index 3f54db210..f9c422e63 100644 --- a/images/win/scripts/Installers/Install-MysqlCli.ps1 +++ b/images/win/scripts/Installers/Install-MysqlCli.ps1 @@ -11,13 +11,9 @@ $ArgumentList = ("/install", "/quiet", "/norestart") Install-Binary -Url $InstallerURI -Name $InstallerName -ArgumentList $ArgumentList ## Downloading mysql -if (Test-IsWin22) { - $MysqlVersionName = "mysql-8.0.26-winx64" - $MysqlVersionUrl = "https://dev.mysql.com/get/Downloads/MySQL-8/${MysqlVersionName}.zip" -} else { - $MysqlVersionName = "mysql-5.7.35-winx64" - $MysqlVersionUrl = "https://dev.mysql.com/get/Downloads/MySQL-5.7/${MysqlVersionName}.zip" -} +$MysqlMajorMinor = (Get-ToolsetContent).Mysql.version +$MysqlFullVersion = ((Invoke-WebRequest -Uri https://dev.mysql.com/downloads/mysql/${MysqlMajorMinor}.html).Content | Select-String -Pattern "${MysqlMajorMinor}\.\d+").Matches.Value +$MysqlVersionUrl = "https://dev.mysql.com/get/Downloads/MySQL-${MysqlMajorMinor}/mysql-${MysqlFullVersion}-winx64.zip" $MysqlArchPath = Start-DownloadWithRetry -Url $MysqlVersionUrl -Name "mysql.zip" @@ -26,7 +22,7 @@ Extract-7Zip -Path $MysqlArchPath -DestinationPath "C:\" # Rename mysql-version to mysql folder $MysqlPath = "C:\mysql" -Rename-Item -Path "C:\${MysqlVersionName}" -NewName $MysqlPath +Rename-Item -Path "C:\mysql-${MysqlFullVersion}-winx64" -NewName $MysqlPath # Adding mysql in system environment path Add-MachinePathItem "${MysqlPath}\bin" diff --git a/images/win/scripts/Tests/Databases.Tests.ps1 b/images/win/scripts/Tests/Databases.Tests.ps1 index 6213d7f2e..6737eb1fd 100644 --- a/images/win/scripts/Tests/Databases.Tests.ps1 +++ b/images/win/scripts/Tests/Databases.Tests.ps1 @@ -55,7 +55,7 @@ Describe "PostgreSQL" { Describe "MySQL" { It "MySQL CLI" { - "mysql -V" | Should -ReturnZeroExitCode + $MysqlMajorMinor = (Get-ToolsetContent).Mysql.version + mysql -V | Should -BeLike "*${MysqlMajorMinor}*" } -} - +} \ No newline at end of file diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 2d7027c1d..e914d7e97 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -422,6 +422,9 @@ "node": { "default": "14" }, + "Mysql": { + "version": "5.7" + }, "mongodb": { "version": "5" } diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index 7d693cff9..70bb92567 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -454,6 +454,9 @@ "node": { "default": "14" }, + "Mysql": { + "version": "5.7" + }, "mongodb": { "version": "5" } diff --git a/images/win/toolsets/toolset-2022.json b/images/win/toolsets/toolset-2022.json index e46b1ceb6..f0dd0b828 100644 --- a/images/win/toolsets/toolset-2022.json +++ b/images/win/toolsets/toolset-2022.json @@ -304,6 +304,9 @@ "node": { "default": "14" }, + "Mysql": { + "version": "8.0" + }, "mongodb": { "version": "5" }