Uh oh!
There was an error while loading. Please reload this page.
[cdac] Create transport package and rename the cdac reader - #114812
Conversation
There was a problem hiding this comment.
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
jkotas
commented
Apr 18, 2025
The namespace used by cdac is |
steveisok
commented
Apr 18, 2025
I considered that initially and figured I would wait to see how others felt before going there. Thanks for the feedback. |
mikem8361
commented
Apr 19, 2025
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. |
steveisok
commented
Apr 20, 2025
Yeah, it'll be |
jkotas
commented
Apr 20, 2025
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
I think a longer self-descriptive name would be better. |
max-charlamb
commented
Apr 21, 2025
@jkotas, would you be okay with |
steveisok
commented
Apr 21, 2025
I have no strong opinion. I'll be glad to name it whatever we all think is best. |
am11
commented
Apr 23, 2025
The convention used by |
jkotas
commented
Apr 23, 2025
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. |
jkotas
commented
Apr 23, 2025
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 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
jkotas
commented
Apr 24, 2025
Nit: The casing that follows .NET naming conventions would be |
| <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.
Nit: DotNetCDacBinDir -> DotNetCdacBinDir, _BuildCDacPack -> _BuildCdacPack
There was a problem hiding this comment.
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