-
Notifications
You must be signed in to change notification settings - Fork 5k
[cdac] Create transport package and rename the cdac reader #114812
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
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.
Pull Request Overview
This PR introduces new cdac transport packages for Windows, MacOS, and Linux and renames the cdacreader to cdac.
- Updated comments and macro definitions in native library code to reflect the new cdac naming
- Adjusted pipeline build arguments and subset names across YAML configuration files to align with the renaming
Reviewed Changes
Copilot reviewed 231 out of 237 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/coreclr/debug/daccess/dacimpl.h | Updated comments to refer to cdac instead of cdacreader |
src/coreclr/debug/daccess/cdac.cpp | Renamed macro definition and updated associated comments |
eng/pipelines/runtime.yml | Revised build arguments to use tools.cdac and tools.cdactests |
eng/pipelines/runtime-diagnostics.yml | Modified build arguments to reference the updated cdac nomenclature |
eng/pipelines/common/evaluate-default-paths.yml | Changed subset and include paths to reference cdac instead of cdacreader |
Files not reviewed (6)
- Directory.Build.props: Language not supported
- eng/Subsets.props: Language not supported
- eng/liveBuilds.targets: Language not supported
- src/coreclr/debug/daccess/CMakeLists.txt: Language not supported
- src/installer/pkg/projects/Microsoft.DotNet.CDac.Transport/Microsoft.DotNet.CDac.Transport.pkgproj: Language not supported
- src/installer/pkg/projects/cdac-packages.proj: Language not supported
The namespace used by cdac is |
I considered that initially and figured I would wait to see how others felt before going there. Thanks for the feedback. |
I can't tell from the changes but does the resulting package contain all the platform/architecture builds of the cda modules under a rid subdirectory? Something like tools/win-x64/cdac.dll, tools/linux-x64/libcdac.so, tools/osx-arm64/libcdac.dylib, etc. |
Yeah, it'll be |
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
I think a longer self-descriptive name would be better. |
@jkotas, would you be okay with |
I have no strong opinion. I'll be glad to name it whatever we all think is best. |
The convention used by |
System.IO.Ports.Native is a helper library for implementation of System.IO.Ports namespace. The cdacreader is not a helper library like that. cdacreader is a managed library built from https://github.com/dotnet/runtime/tree/main/src/native/managed/cdacreader/src/ that we build with PublishAot. The implementation namespace for this library is We had more offline conversation about the naming. Stay tuned. |
Add something like this to https://github.com/dotnet/runtime/blob/main/docs/project/glossary.md: CDAC Codename for (Data Contracts)[../design/datacontracts/datacontracts_design.md] project |
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Abstractions/Target.cs
Show resolved
Hide resolved
Nit: The casing that follows .NET naming conventions would be |
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.
LGTM! Thanks
@@ -178,6 +178,7 @@ | |||
|
|||
<PropertyGroup> | |||
<DotNetHostBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(OutputRID).$(HostConfiguration)', 'corehost'))</DotNetHostBinDir> | |||
<DotNetCDacBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mscordaccore_universal', '$(Configuration)', '$(NetCoreAppCurrent)', '$(OutputRID)', 'publish'))</DotNetCDacBinDir> |
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.
Nit: DotNetCDacBinDir -> DotNetCdacBinDir, _BuildCDacPack -> _BuildCdacPack
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.
Thanks - I'll do that in a quick follow up.
This change adds new cdac transport packages that are built for Windows, MacOS, and Linux. Each package contains a host specific native cdac library that is meant to ride along with various diagnostics tools.
The cdacreader was also renamed to cdac as part of this change. I picked what I thought was the best suggestion in #108720 (comment). Feel free to make alternate suggestions.
Contributes to #108720