From cfb85ed1b9886aeb481f851a5999805f7cb8297d Mon Sep 17 00:00:00 2001 From: Glenn Date: Fri, 12 May 2023 11:57:24 -0700 Subject: [PATCH] version bump for 0.16.0 release Updated cake build tools --- Matchstick/build/.config/dotnet-tools.json | 12 + Matchstick/build/build.cake | 24 +- Matchstick/build/build.ps1 | 235 ------------------ Matchstick/build/tools/packages.config | 8 - Matchstick/src/GamesManager/solutionInfo.cs | 4 +- .../src/core/common/MGDFVersionInfo.cpp | 2 +- Matchstick/src/core/core.api/MGDF.idl | 3 + 7 files changed, 32 insertions(+), 256 deletions(-) create mode 100644 Matchstick/build/.config/dotnet-tools.json delete mode 100644 Matchstick/build/build.ps1 delete mode 100644 Matchstick/build/tools/packages.config diff --git a/Matchstick/build/.config/dotnet-tools.json b/Matchstick/build/.config/dotnet-tools.json new file mode 100644 index 00000000..831d039b --- /dev/null +++ b/Matchstick/build/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "cake.tool": { + "version": "3.0.0", + "commands": [ + "dotnet-cake" + ] + } + } +} \ No newline at end of file diff --git a/Matchstick/build/build.cake b/Matchstick/build/build.cake index 29c4e604..0b37f387 100644 --- a/Matchstick/build/build.cake +++ b/Matchstick/build/build.cake @@ -1,9 +1,10 @@ using System.Text.RegularExpressions; -#addin nuget:?package=Cake.FileHelpers&version=3.3.0 -#addin nuget:?package=Cake.Json&version=5.1.1 -#addin nuget:?package=Cake.AWS.S3&version=0.6.9 -#addin nuget:?package=Cake.Git&version=0.22.0 +#addin nuget:?package=Cake.FileHelpers&version=6.1.3 +#addin nuget:?package=Cake.Json&version=7.0.1 +#addin nuget:?package=Cake.AWS.S3&version=1.0.0&loaddependencies=true +#addin nuget:?package=Cake.Git&version=3.0.0 #addin nuget:?package=Newtonsoft.Json&version=9.0.1 +#tool nuget:?package=NUnit.ConsoleRunner&version=3.16.3 var target = Argument("target", "Default"); var buildConfiguration = Argument("configuration", "Release"); @@ -16,7 +17,7 @@ Task("BuildX64") .Does(() => { MSBuild("../Matchstick.sln", new MSBuildSettings{ Verbosity = Verbosity.Minimal, - ToolVersion = MSBuildToolVersion.VS2019, + ToolVersion = MSBuildToolVersion.VS2022, Configuration = buildConfiguration, PlatformTarget = PlatformTarget.x64 }); @@ -63,7 +64,8 @@ Task("Documentation") Task("TestGamesManager") .IsDependentOn("BuildX64") .Does(() => { - NUnit3($@"../tests/GamesManager.Tests/bin/{buildConfiguration}/GamesManager.Tests.dll", new NUnit3Settings() { + NUnit($@"../tests/GamesManager.Tests/bin/{buildConfiguration}/GamesManager.Tests.dll", new NUnitSettings() { + ToolPath = "./tools/NUnit.ConsoleRunner.3.16.3/tools/nunit3-console.exe", StopOnError = true, NoResults = true }); @@ -88,10 +90,12 @@ Task("Clean").Does(() => { }); } CreateDirectory("../dist"); - DeleteDirectory($@"../bin/x64/{buildConfiguration}", new DeleteDirectorySettings() { - Force = true, - Recursive = true, - }); + if (DirectoryExists("../bin/x64/{buildConfiguration}")) { + DeleteDirectory($@"../bin/x64/{buildConfiguration}", new DeleteDirectorySettings() { + Force = true, + Recursive = true, + }); + } }); Task("Dist") diff --git a/Matchstick/build/build.ps1 b/Matchstick/build/build.ps1 deleted file mode 100644 index c8b98c83..00000000 --- a/Matchstick/build/build.ps1 +++ /dev/null @@ -1,235 +0,0 @@ -########################################################################## -# This is the Cake bootstrapper script for PowerShell. -# This file was downloaded from https://github.com/cake-build/resources -# Feel free to change this file to fit your needs. -########################################################################## - -<# - -.SYNOPSIS -This is a Powershell script to bootstrap a Cake build. - -.DESCRIPTION -This Powershell script will download NuGet if missing, restore NuGet tools (including Cake) -and execute your Cake build script with the parameters you provide. - -.PARAMETER Script -The build script to execute. -.PARAMETER Target -The build script target to run. -.PARAMETER Configuration -The build configuration to use. -.PARAMETER Verbosity -Specifies the amount of information to be displayed. -.PARAMETER ShowDescription -Shows description about tasks. -.PARAMETER DryRun -Performs a dry run. -.PARAMETER Experimental -Uses the nightly builds of the Roslyn script engine. -.PARAMETER Mono -Uses the Mono Compiler rather than the Roslyn script engine. -.PARAMETER SkipToolPackageRestore -Skips restoring of packages. -.PARAMETER ScriptArgs -Remaining arguments are added here. - -.LINK -https://cakebuild.net - -#> - -[CmdletBinding()] -Param( - [string]$Script = "build.cake", - [string]$Target, - [string]$Configuration = "Release", - [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] - [string]$Verbosity, - [switch]$ShowDescription, - [Alias("WhatIf", "Noop")] - [switch]$DryRun, - [switch]$Experimental, - [switch]$Mono, - [switch]$SkipToolPackageRestore, - [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] - [string[]]$ScriptArgs -) - -[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null -function MD5HashFile([string] $filePath) -{ - if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf)) - { - return $null - } - - [System.IO.Stream] $file = $null; - [System.Security.Cryptography.MD5] $md5 = $null; - try - { - $md5 = [System.Security.Cryptography.MD5]::Create() - $file = [System.IO.File]::OpenRead($filePath) - return [System.BitConverter]::ToString($md5.ComputeHash($file)) - } - finally - { - if ($file -ne $null) - { - $file.Dispose() - } - } -} - -function GetProxyEnabledWebClient -{ - $wc = New-Object System.Net.WebClient - $proxy = [System.Net.WebRequest]::GetSystemWebProxy() - $proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials - $wc.Proxy = $proxy - return $wc -} - -Write-Host "Preparing to run build script..." - -if(!$PSScriptRoot){ - $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent -} - -$TOOLS_DIR = Join-Path $PSScriptRoot "tools" -$ADDINS_DIR = Join-Path $TOOLS_DIR "Addins" -$MODULES_DIR = Join-Path $TOOLS_DIR "Modules" -$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" -$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" -$NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" -$PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config" -$PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum" -$ADDINS_PACKAGES_CONFIG = Join-Path $ADDINS_DIR "packages.config" -$MODULES_PACKAGES_CONFIG = Join-Path $MODULES_DIR "packages.config" - -# Make sure tools folder exists -if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) { - Write-Verbose -Message "Creating tools directory..." - New-Item -Path $TOOLS_DIR -Type directory | out-null -} - -# Make sure that packages.config exist. -if (!(Test-Path $PACKAGES_CONFIG)) { - Write-Verbose -Message "Downloading packages.config..." - try { - $wc = GetProxyEnabledWebClient - $wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch { - Throw "Could not download packages.config." - } -} - -# Try find NuGet.exe in path if not exists -if (!(Test-Path $NUGET_EXE)) { - Write-Verbose -Message "Trying to find nuget.exe in PATH..." - $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_ -PathType Container) } - $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1 - if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) { - Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)." - $NUGET_EXE = $NUGET_EXE_IN_PATH.FullName - } -} - -# Try download NuGet.exe if not exists -if (!(Test-Path $NUGET_EXE)) { - Write-Verbose -Message "Downloading NuGet.exe..." - try { - $wc = GetProxyEnabledWebClient - $wc.DownloadFile($NUGET_URL, $NUGET_EXE) - } catch { - Throw "Could not download NuGet.exe." - } -} - -# Save nuget.exe path to environment to be available to child processed -$ENV:NUGET_EXE = $NUGET_EXE - -# Restore tools from NuGet? -if(-Not $SkipToolPackageRestore.IsPresent) { - Push-Location - Set-Location $TOOLS_DIR - - # Check for changes in packages.config and remove installed tools if true. - [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG) - if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or - ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) { - Write-Verbose -Message "Missing or changed package.config hash..." - Get-ChildItem -Exclude packages.config,nuget.exe,Cake.Bakery | - Remove-Item -Recurse - } - - Write-Verbose -Message "Restoring tools from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occurred while restoring NuGet tools." - } - else - { - $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII" - } - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Restore addins from NuGet -if (Test-Path $ADDINS_PACKAGES_CONFIG) { - Push-Location - Set-Location $ADDINS_DIR - - Write-Verbose -Message "Restoring addins from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$ADDINS_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occurred while restoring NuGet addins." - } - - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Restore modules from NuGet -if (Test-Path $MODULES_PACKAGES_CONFIG) { - Push-Location - Set-Location $MODULES_DIR - - Write-Verbose -Message "Restoring modules from NuGet..." - $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$MODULES_DIR`"" - - if ($LASTEXITCODE -ne 0) { - Throw "An error occurred while restoring NuGet modules." - } - - Write-Verbose -Message ($NuGetOutput | out-string) - - Pop-Location -} - -# Make sure that Cake has been installed. -if (!(Test-Path $CAKE_EXE)) { - Throw "Could not find Cake.exe at $CAKE_EXE" -} - - - -# Build Cake arguments -$cakeArguments = @("$Script"); -if ($Target) { $cakeArguments += "-target=$Target" } -if ($Configuration) { $cakeArguments += "-configuration=$Configuration" } -if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" } -if ($ShowDescription) { $cakeArguments += "-showdescription" } -if ($DryRun) { $cakeArguments += "-dryrun" } -if ($Experimental) { $cakeArguments += "-experimental" } -if ($Mono) { $cakeArguments += "-mono" } -$cakeArguments += $ScriptArgs - -# Start Cake -Write-Host "Running build script..." -&$CAKE_EXE $cakeArguments -exit $LASTEXITCODE diff --git a/Matchstick/build/tools/packages.config b/Matchstick/build/tools/packages.config deleted file mode 100644 index d9666d41..00000000 --- a/Matchstick/build/tools/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/Matchstick/src/GamesManager/solutionInfo.cs b/Matchstick/src/GamesManager/solutionInfo.cs index 3f92418f..3f8de890 100644 --- a/Matchstick/src/GamesManager/solutionInfo.cs +++ b/Matchstick/src/GamesManager/solutionInfo.cs @@ -7,5 +7,5 @@ [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("0.15.1")] -[assembly: AssemblyFileVersion("0.15.1")] \ No newline at end of file +[assembly: AssemblyVersion("0.16.0")] +[assembly: AssemblyFileVersion("0.16.0")] \ No newline at end of file diff --git a/Matchstick/src/core/common/MGDFVersionInfo.cpp b/Matchstick/src/core/common/MGDFVersionInfo.cpp index b688c161..bcb7ca54 100644 --- a/Matchstick/src/core/common/MGDFVersionInfo.cpp +++ b/Matchstick/src/core/common/MGDFVersionInfo.cpp @@ -10,7 +10,7 @@ namespace MGDF { namespace core { -constexpr char _mgdfVersion[] = "0.15.1"; +constexpr char _mgdfVersion[] = "0.16.0"; const char *MGDFVersionInfo::MGDF_VERSION() { return _mgdfVersion; } diff --git a/Matchstick/src/core/core.api/MGDF.idl b/Matchstick/src/core/core.api/MGDF.idl index 28bd9c6d..67384dc1 100644 --- a/Matchstick/src/core/core.api/MGDF.idl +++ b/Matchstick/src/core/core.api/MGDF.idl @@ -389,6 +389,9 @@ typedef enum MGDFLogLevel { MGDFLogLevel level); }; +/** +Allows a metric to be tagged with a collection of name/value pairs +*/ typedef struct MGDFTags { const small **Names; const small **Values;