From 1f1e6a410401eddd1e844b884b83cdcbdca53184 Mon Sep 17 00:00:00 2001
From: dotnet-maestro <@dotnet-maestro>
Date: Fri, 12 Apr 2019 12:31:30 +0000
Subject: [PATCH 1/5] Update dependencies from https://github.com/dotnet/arcade
build 20190411.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19211.2
---
eng/Version.Details.xml | 4 ++--
global.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 5b6886348af..80f31889092 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- 4f645e4a5385eb96cad3f72f5ded239761c7d075
+ e7b5230799a6db9121d90cf548d5a2313bd682dd
diff --git a/global.json b/global.json
index 1cee890932f..ea031c1bee0 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19210.7",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19211.2",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
From 14239082357d7eef71396a41c14b726a558a375f Mon Sep 17 00:00:00 2001
From: dotnet-maestro <@dotnet-maestro>
Date: Sat, 13 Apr 2019 12:33:46 +0000
Subject: [PATCH 2/5] Update dependencies from https://github.com/dotnet/arcade
build 20190412.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19212.2
---
eng/Version.Details.xml | 4 ++--
global.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 80f31889092..60cd4c90cf3 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- e7b5230799a6db9121d90cf548d5a2313bd682dd
+ 9d0fd805448082c8d55e2434607b481bca70a146
diff --git a/global.json b/global.json
index ea031c1bee0..ae0e06068e7 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19211.2",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19212.2",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
From f192a3240103751f23f2e324e8f04f8fb7f00947 Mon Sep 17 00:00:00 2001
From: dotnet-maestro <@dotnet-maestro>
Date: Sun, 14 Apr 2019 12:31:32 +0000
Subject: [PATCH 3/5] Update dependencies from https://github.com/dotnet/arcade
build 20190413.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19213.2
---
eng/Version.Details.xml | 4 ++--
global.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 60cd4c90cf3..1d1280f6337 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- 9d0fd805448082c8d55e2434607b481bca70a146
+ 10655eec2ab92accc1487d077979935127f16b4e
diff --git a/global.json b/global.json
index ae0e06068e7..790117d156b 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19212.2",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19213.2",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
From d1025aa39c95bae7b3760fd760aa315bba034233 Mon Sep 17 00:00:00 2001
From: dotnet-maestro <@dotnet-maestro>
Date: Mon, 15 Apr 2019 12:36:36 +0000
Subject: [PATCH 4/5] Update dependencies from https://github.com/dotnet/arcade
build 20190414.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19214.2
---
eng/Version.Details.xml | 4 ++--
eng/common/internal/Tools.csproj | 8 ++++++--
global.json | 2 +-
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1d1280f6337..ba6e52fa3f2 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- 10655eec2ab92accc1487d077979935127f16b4e
+ bcf1186cb0db792906fd319ae49bdbc41f44f8ec
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 1a81ff906f6..1a39a7ef3f6 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -12,8 +12,12 @@
-
- https://devdiv.pkgs.visualstudio.com/_packaging/8f470c7e-ac49-4afe-a6ee-cf784e438b93/nuget/v3/index.json;
+
+
+ https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
+
+
+ $(RestoreSources);
https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
diff --git a/global.json b/global.json
index 790117d156b..9c68c621c58 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19213.2",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19214.2",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
From 426b41bdf9de83d41ba4c16a95d8700ae620fe61 Mon Sep 17 00:00:00 2001
From: dotnet-maestro <@dotnet-maestro>
Date: Tue, 16 Apr 2019 12:38:09 +0000
Subject: [PATCH 5/5] Update dependencies from https://github.com/dotnet/arcade
build 20190415.12
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19215.12
---
eng/Version.Details.xml | 4 +-
eng/common/CheckSymbols.ps1 | 134 ++++++++++++++++++++++++++++++++++++
global.json | 2 +-
3 files changed, 137 insertions(+), 3 deletions(-)
create mode 100644 eng/common/CheckSymbols.ps1
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index ba6e52fa3f2..a0cf73a0fc8 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- bcf1186cb0db792906fd319ae49bdbc41f44f8ec
+ 517bf671ea342965d007aa48f5bfd4926e58d582
diff --git a/eng/common/CheckSymbols.ps1 b/eng/common/CheckSymbols.ps1
new file mode 100644
index 00000000000..074b423245c
--- /dev/null
+++ b/eng/common/CheckSymbols.ps1
@@ -0,0 +1,134 @@
+param(
+ [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where NuGet packages to be checked are stored
+ [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
+ [Parameter(Mandatory=$true)][string] $SymbolToolPath # Full path to directory where dotnet symbol-tool was installed
+)
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+
+function FirstMatchingSymbolDescriptionOrDefault {
+ param(
+ [string] $FullPath, # Full path to the module that has to be checked
+ [string] $TargetServerParam # Parameter to pass to `Symbol Tool` indicating the server to lookup for symbols
+ )
+
+ $FileName = [System.IO.Path]::GetFileName($FullPath)
+ $Extension = [System.IO.Path]::GetExtension($FullPath)
+
+ # Those below are potential symbol files that the `dotnet symbol` might
+ # return. Which one will be returned depend on the type of file we are
+ # checking and which type of file was uploaded.
+
+ # The file itself is returned
+ $SymbolPath = $SymbolsPath + "\" + $FileName
+
+ # PDB file for the module
+ $PdbPath = $SymbolPath.Replace($Extension, ".pdb")
+
+ # PDB file for R2R module (created by crossgen)
+ $NGenPdb = $SymbolPath.Replace($Extension, ".ni.pdb")
+
+ # DBG file for a .so library
+ $SODbg = $SymbolPath.Replace($Extension, ".so.dbg")
+
+ # DWARF file for a .dylib
+ $DylibDwarf = $SymbolPath.Replace($Extension, ".dylib.dwarf")
+
+ .\dotnet-symbol.exe --symbols --modules $TargetServerParam $FullPath -o $SymbolsPath -d | Out-Null
+
+ if (Test-Path $PdbPath) {
+ return "PDB"
+ }
+ elseif (Test-Path $NGenPdb) {
+ return "NGen PDB"
+ }
+ elseif (Test-Path $SODbg) {
+ return "DBG for SO"
+ }
+ elseif (Test-Path $DylibDwarf) {
+ return "Dwarf for Dylib"
+ }
+ elseif (Test-Path $SymbolPath) {
+ return "Module"
+ }
+ else {
+ return $null
+ }
+}
+
+function CountMissingSymbols {
+ param(
+ [string] $PackagePath # Path to a NuGet package
+ )
+
+ # Ensure input file exist
+ if (!(Test-Path $PackagePath)) {
+ throw "Input file does not exist: $PackagePath"
+ }
+
+ # Extensions for which we'll look for symbols
+ $RelevantExtensions = @(".dll", ".exe", ".so", ".dylib")
+
+ # How many files are missing symbol information
+ $MissingSymbols = 0
+
+ $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
+ $ExtractPath = $ExtractPath + $PackageId;
+ $SymbolsPath = $ExtractPath + $PackageId + ".Symbols";
+
+ [System.IO.Compression.ZipFile]::ExtractToDirectory($PackagePath, $ExtractPath)
+
+ # Makes easier to reference `symbol tool`
+ Push-Location $SymbolToolPath
+
+ Get-ChildItem -Recurse $ExtractPath |
+ Where-Object {$RelevantExtensions -contains $_.Extension} |
+ ForEach-Object {
+ Write-Host -NoNewLine "`t Checking file" $_.FullName "... "
+
+ $SymbolsOnMSDL = FirstMatchingSymbolDescriptionOrDefault $_.FullName "--microsoft-symbol-server"
+ $SymbolsOnSymWeb = FirstMatchingSymbolDescriptionOrDefault $_.FullName "--internal-server"
+
+ if ($SymbolsOnMSDL -ne $null -and $SymbolsOnSymWeb -ne $null) {
+ Write-Host "Symbols found on MSDL (" $SymbolsOnMSDL ") and SymWeb (" $SymbolsOnSymWeb ")"
+ }
+ else {
+ $MissingSymbols++
+
+ if ($SymbolsOnMSDL -eq $null -and $SymbolsOnSymWeb -eq $null) {
+ Write-Host "No symbols found on MSDL or SymWeb!"
+ }
+ else {
+ if ($SymbolsOnMSDL -eq $null) {
+ Write-Host "No symbols found on MSDL!"
+ }
+ else {
+ Write-Host "No symbols found on SymWeb!"
+ }
+ }
+ }
+ }
+
+ Pop-Location
+
+ return $MissingSymbols
+}
+
+function CheckSymbolsAvailable {
+ if (Test-Path $ExtractPath) {
+ Remove-Item -recurse $ExtractPath
+ }
+
+ Get-ChildItem "$InputPath\*.nupkg" |
+ ForEach-Object {
+ $FileName = $_.Name
+ Write-Host "Validating $FileName "
+ $Status = CountMissingSymbols "$InputPath\$FileName"
+
+ if ($Status -ne 0) {
+ Write-Error "Missing symbols for $Status modules in the package $FileName"
+ }
+ }
+}
+
+CheckSymbolsAvailable
diff --git a/global.json b/global.json
index 9c68c621c58..a246404283e 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19214.2",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19215.12",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}