Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Xamarin.Android.Build.Tasks] ignore mdbs and non-portable pdbs #3868

Closed

Conversation

jonathanpeppers
Copy link
Member

@jonathanpeppers jonathanpeppers commented Nov 1, 2019

Fixes: #2230

We currently spend some time during builds converting symbol files if
DebugType=Full or DebugType=PdbOnly is used.

These are older symbol formats, and we have already done the work to
use DebugType=Portable everywhere in the Xamarin templates.

My thought is to just remove support for these symbols by default
unless $(AndroidLegacySymbols) is set to True. This way if a
problem comes up, developers can opt-in to the old behavior.

Eventually we may phase out support completely, but it may not matter
to leave it in.

I updated various tests here to make sure we continue to test both
Full and Portable in DebuggingTest.cs.

XA0122

I added a new warning, for cases where a PCL <ProjectReference/>
have DebugType=Full set. This seems like the only likely cause a
user could hit an issue. I added a test for this scenario.

Other changes

  • I found the _CollectMdbFiles MSBuild target is completely unused.
    It should have been removed in 2ea31e6, but we can remove it now.
  • I found a place $(AllowedReferenceRelatedFileExtensions) was
    adding duplicate values. We should have removed this in e390702.

@jonathanpeppers
Copy link
Member Author

jonathanpeppers commented Nov 1, 2019

The only problem with this, we discussed on Slack: https://xamarinhq.slack.com/archives/C03CEGRUW/p1572625192284800

If you had a <ProjectReference/> to a PCL library with DebugType=Full, you wouldn't be able to debug anymore. This isn't as likely with a NetStandard library, because it defaults to Portable.

I need to figure out how we can warn for any <ProjectReference/> using DebugType=Full.

@jonathanpeppers jonathanpeppers force-pushed the androidlegacysymbols branch 2 times, most recently from e2ccb2a to 27c8465 Compare November 1, 2019 19:34
@jonathanpeppers jonathanpeppers marked this pull request as ready for review November 1, 2019 19:37
@jonathanpeppers jonathanpeppers added the do-not-merge PR should not be merged. label Nov 4, 2019
Fixes: dotnet#2230

We currently spend some time during builds converting symbol files if
`DebugType=Full` or `DebugType=PdbOnly` is used.

These are older symbol formats, and we have already done the work to
use `DebugType=Portable` everywhere in the Xamarin templates.

My thought is to just remove support for these symbols by default
unless `$(AndroidLegacySymbols)` is set to `True`. This way if a
problem comes up, developers can opt-in to the old behavior.

Eventually we may phase out support completely, but it may not matter
to leave it in.

I updated various tests here to make sure we continue to test both
`Full` and `Portable` in `DebuggingTest.cs`.

~~ XA0122 ~~

I added a new warning, for cases where a PCL `<ProjectReference/>`
have `DebugType=Full` set. This seems like the only likely cause a
user could hit an issue. I added a test for this scenario.

Other changes:

* I found the `_CollectMdbFiles` MSBuild target is completely unused.
  It should have been removed in 2ea31e6, but we can remove it now.
* I found a place `$(AllowedReferenceRelatedFileExtensions)` was
  adding duplicate values. We should have removed this in e390702.
@jonathanpeppers jonathanpeppers marked this pull request as draft May 13, 2020 21:32
@jonathanpeppers
Copy link
Member Author

We are doing this in .NET 6 (see: aab69af), so this isn't needed.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
do-not-merge PR should not be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Proposal] Remove MDB and non-portable PDB support
1 participant