-
Notifications
You must be signed in to change notification settings - Fork 528
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[installer] Include symbols and add whitelist files (#3624)
Changes: xamarin/monodroid@9a1dbc5...28ffbd3 Bumps to xamarin/monodroid@28ffbd3d. Context: xamarin/monodroid@6047f4a Context: #3662 Context: https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/732/Insertion-Symbol-Check-PR-Policy Context: https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/671/Manage-Your-Symbols Policy, eschewed for too long by Xamarin.Android, is for debug symbol information to be collected for all binaries publicly released. This is so that when a customer reports an error with a stack trace, it can be associated with filename and line number information. Unfortunately, prior Xamarin.Android efforts to actually follow this policy have not been as successful as we might like. Additionally, with our current "inverted" build system (3e998b2), the previous work in this area is obsolete and needs re-thinking. Solve our internal problems and some customer-facing external problems by shipping all `.pdb` files in the `.pkg` and `.vsix` installers, instead of attempting to keep the `.pdb` files separate from the installers. (The original rationale for keeping them separate was to keep the installer size from being *too* ridiculous -- which is *not* helped by ~20-30MB `Mono.Android.dll` files -- but life is easier if we just include debug symbols in the installer, and it doesn't increase the installer size *that* much...) For files that we can't provide `.pdb` files for -- usually because `.pdb` files don't exist, e.g. for Facade assemblies which don't contain any code in the first place, or because the NuGet package providing the assembly doesn't provide symbols -- two "whitelist" files are used to provide exclusion lists to internal tools: * `build-tools/create-vsix/symbols/ExternalWhiteList.csv`: Files which come from external sources (NuGet packages, etc.) which lack debug symbols. * `build-tools/create-vsix/symbols/SymbolArchiveWhiteList.csv`: Files which are generated by the xamarin-android build or build dependencies (e.g. mono) which lack debug symbols. The [Visual Studio Insertion Process][0] has also been updated to upload and archive copies of all relevant executable and symbol files directly from the `.vsix` installer, rather than using a separate `symbols.zip` file. Publishing symbol files for the executable files we ship will make it easier to investigate any potential hangs/crashes reported through telemetry and other monitoring services. [0]: https://devdiv.visualstudio.com/DevDiv/_release?definitionId=1755&view=mine&_a=releases
- Loading branch information
Showing
13 changed files
with
224 additions
and
155 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
xamarin/monodroid:master@9a1dbc5f56717b88f952c6597a52c14dd5226030 | ||
xamarin/monodroid:master@28ffbd3d031e96d8dc5d4d201ee41dabc261d471 | ||
mono/mono:2019-08@d8441deead62b3af591c6daefb5013b09ef1ab8b |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# ------------------------------------------------------------------------------- | ||
# This is the whitelist for all of executable files that won't be symbol archived | ||
# In this format: | ||
# [fileName|FilePattern],comment | ||
# It will also ignore any empty line or lines that begin with '#' | ||
# ------------------------------------------------------------------------------- | ||
|
||
# Xamarin.Android Mono non-facade assemblies which have no symbols - pecolli, jopryo | ||
# See also: https://github.com/xamarin/xamarin-android/blob/1d053ec45b416c2ad1d8e2b702ab201b595f7975/build-tools/xaprepare/xaprepare/ConfigAndData/Runtimes.cs#L138 | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*\System.Runtime.CompilerServices.Unsafe.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*\System.Windows.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*\System.Xml.Serialization.dll | ||
|
||
# Xamarin.Android 3rd party assemblies - pecolli, jopryo | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\FSharp.Compiler.CodeDom.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\FSharp.Core.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\INIFileParser.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\Irony.dll | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\libZipSharp.dll |
17 changes: 17 additions & 0 deletions
17
build-tools/create-vsix/symbols/SymbolArchiveWhiteList.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# ------------------------------------------------------------------------------- | ||
# This is the whitelist for all of executable files that won't be symbol archived | ||
# In this format: | ||
# [fileName|FilePattern],comment | ||
# It will also ignore any empty line or lines that begin with '#' | ||
# ------------------------------------------------------------------------------- | ||
# | ||
# Xamarin.Android - pecolli, jopryo | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*referenceassemblies\*\facades\*, Facade assemblies. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\bcl\*, 'Designer profile' assemblies. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\ICSharpCode.SharpZipLib.dll, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\illinkanalyzer.exe, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\Java.Interop.dll, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\mdoc.exe, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\mkbundle.exe, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\mono-symbolicate.exe, Fails Pdb2Pdb.exe conversion. | ||
xamarin.android.sdk*\xamarin.android.sdk*.vsixdir\*msbuild\xamarin\android\pdb2mdb.exe, Fails Pdb2Pdb.exe conversion. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.