Auto-deploy debug adapter when building CppTests#1610
Draft
gregg-miskelly wants to merge 2 commits into
Draft
Conversation
decd23e to
2d9d0c0
Compare
There was a problem hiding this comment.
Pull request overview
This PR moves deployment of the OpenDebugAD7 debug adapter for test/CppTests into the CppTests.csproj build, so local/CI test iterations don’t require rerunning the CI build scripts to refresh the adapter staging layout.
Changes:
- Add MSBuild targets in
CppTests.csprojto stage debug adapter outputs underbin/DebugAdapterProtocolTests/<Configuration>/extension/debugAdaptersand copyconfig.xmlwhen present. - Replace solution-level build ordering with project-level dependencies (notably for MakePIAPortable/PIA generation) and remove some
.slndependency entries. - Remove OpenDebugAD7 publishing/staging from
CI-Build.ps1/.shand update docs; set VS Code default solution.
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/CppTests/CppTests.csproj | Adds adapter deployment targets, project build dependencies, and config.xml copy behavior. |
| src/MIDebugEngine.sln | Removes MakePIAPortable solution dependency ordering entry. |
| src/MIDebugEngine-Unix.sln | Removes MakePIAPortable solution dependency ordering entry. |
| src/MakePIAPortable/MakePIAPortable.csproj | Adds a project reference to ensure MakePIAPortableTool builds first. |
| eng/Scripts/CI-Build.sh | Removes OpenDebugAD7 publish/staging step. |
| eng/Scripts/CI-Build.ps1 | Removes OpenDebugAD7 publish/staging and simplifies parameters. |
| docs/RunningCppTests-outside-of-VS-for-AI.md | Updates build invocation + config.xml placement guidance. |
| docs/Building-outside-of-VS-for-AI.md | Updates build script behavior description (no longer publishes OpenDebugAD7). |
| build/Debugger.PIAs.Portable.Packages.settings.targets | Adds MakePIAPortable build dependency for projects importing PIAs. |
| .vscode/settings.json | Sets default solution for VS Code. |
| .gitignore | Ignores test/CppTests/config.xml. |
- Add ProjectReference items to CppTests.csproj for OpenDebugAD7, MIDebugEngine, and WindowsDebugLauncher to ensure they build as dependencies - Add DeployDebugAdapter MSBuild target that copies built debug adapter files to the extension/debugAdapters folder expected by the test framework - Add fast up-to-date check support for Visual Studio incremental builds - Support config.xml in test/CppTests project directory (auto-deployed to output) - Remove vscode publish section from CI-Build.ps1 and CI-Build.sh (now handled by the MSBuild target in CppTests.csproj) - Update Testing-OpenDebugAD7.md with new workflow and per-platform sections - Add test/CppTests/config.xml to .gitignore
2d9d0c0 to
96813ba
Compare
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why is this change being made
This PR fixes the way we deploy the debug adapter for CppTests so that you don't need to rerun CI-Build.ps1/.sh between test iterations. This way you can make a code change, then run a test from the command line, from Test Explorer in Visual Studio, or the Testing panel in VS Code.
Summary of changes
Unrelated, but I also added src/MIDebugEngine-Unix.sln as the default solution in VS Code
Testing
git clean, copied in the correct config.xml, and verified I could run a test usingdotnet testgit clean, copied in the correct config.xml, and verified I could run a test