-
Notifications
You must be signed in to change notification settings - Fork 18
Enable .pdb files for Release config & add AzDO build script #8
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good so far.
LineEditor/LineEditor.csproj
Outdated
| <!-- https://github.com/NuGet/Home/issues/5800 --> | ||
| <ItemGroup> | ||
| <PackageFile Include="$(OutputPath)LineEditor.dll" PackagePath="lib/netstandard2.0/LineEditor.dll" /> | ||
| <PackageFile Include="$(OutputPath)LineEditor.pdb" PackagePath="lib/netstandard2.0/LineEditor.pdb" /> | ||
| <PackageFile Include="$(OutputPath)LineEditor.xml" PackagePath="lib/netstandard2.0/LineEditor.xml" /> | ||
| </ItemGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove all this (and the NuGet.Build.Packaging) package (lines 25-35). Then we can just do msbuild /t:pack and let the tools do the work.
45835f2 to
6df2814
Compare
.ci/azure-pipelines.yml
Outdated
| validPackagePrefixes: | ||
| - Mono |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| validPackagePrefixes: | |
| - Mono | |
| skipValidation: true |
6df2814 to
d5a66cc
Compare
mattleibow
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add this to prevent any issues with an unexpected symbols package. Most wildcards will be able to skin the snupkg.
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1230070 Context: https://github.com/xamarin/XamarinComponents/blob/af66a9ea9536116b1cdcdd4bcc499f5fcb7232ea/.ci/build.yml Current Microsoft practice requires the presence of symbol files *somewhere* in order to provide useful stack traces in telemetry/etc. The easiest way to have the symbol files is to (1) *create them*, and (2) redistribute them within NuGet packages (so that e.g. the Xamarin.Android SDK can in turn redistribute the `.pdb` files...) Update `LineEditor.csproj` so that `$(DebugType)` is *not* cleared in the Release configuration. This satisfies (1): create the symbol files, so that they *exist*. Update `LineEditor.csproj` to remove the `@(PackageReference)` to `NuGet.Build.Packaging` and the `@(PackageFile)` item group, and instead require the use of the `msbuild /t:Pack` command, which does things *mostly* right. Where `msbuild /t:Pack` falls down is that `LineEditor.pdb` isn't included into the `.nupkg` file, which is something @jonpryor desires, to make it easier to include `LineEditor.pdb` into the Xamarin.Android `.pdb`/`.vsix` installers. To cause `LineEditor.pdb` to be included in the `.nupkg` file, override the `$(AllowedOutputExtensionsInPackageBuildOutputFolder)` property to include `.pdb`. Finally, add `.ci/azure-pipelines.yml`, which is a YAML build script for Azure Pipelines. `azure-pipelines.yml` uses the `.ci/build.yml` file from xamarin/XamarinComponents for signing and publishing.
d5a66cc to
3619028
Compare
Context: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1230070
Context: https://github.com/xamarin/XamarinComponents/blob/af66a9ea9536116b1cdcdd4bcc499f5fcb7232ea/.ci/build.yml
Current Microsoft practice requires the presence of symbol files
somewhere in order to provide useful stack traces in telemetry/etc.
The easiest way to have the symbol files is to (1) create them, and
(2) redistribute them within NuGet packages (so that e.g. the
Xamarin.Android SDK can in turn redistribute the
.pdbfiles...)Update
LineEditor.csprojso that$(DebugType)is not cleared inthe Release configuration. This satisfies (1): create the symbol
files, so that they exist.
Update
LineEditor.csprojto remove the@(PackageReference)toNuGet.Build.Packagingand the@(PackageFile)item group, andinstead require the use of the
msbuild /t:Packcommand, which doesthings mostly right.
Where
msbuild /t:Packfalls down is thatLineEditor.pdbisn'tincluded into the
.nupkgfile, which is something @jonpryor desires,to make it easier to include
LineEditor.pdbinto the Xamarin.Android.pdb/.vsixinstallers.To cause
LineEditor.pdbto be included in the.nupkgfile,override the
$(AllowedOutputExtensionsInPackageBuildOutputFolder)property to include
.pdb.Finally, add
.ci/azure-pipelines.yml, which is a YAML build scriptfor Azure Pipelines.
azure-pipelines.ymluses the.ci/build.ymlfile from xamarin/XamarinComponents for signing and publishing.