Add solution-level compiler aliases - #2566
Conversation
Parse and validate compiler-alias entries from csolution files, then propagate them to contexts and Tcompiler attributes
Test Results 2 files 14 suites 11m 29s ⏱️ Results for commit 4c05901. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Pull request overview
This pull request adds a new solution-level compiler-alias setting to let a solution declare compatible compiler toolchains, then propagates those aliases into build contexts and generated target attributes (including canonicalization/deduplication behavior for AC6/ARMCC).
Changes:
- Extended the solution YAML schema and parser to accept
compiler-aliasas either a scalar or a list. - Propagated parsed aliases into
ContextItemand into generatedTcompiler/Toptionstarget attributes during toolchain processing. - Added unit tests and test data covering parsing, propagation, and alias canonicalization/deduplication.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tools/projmgr/test/src/ProjMgrYamlParserUnitTest.cpp | Adds parser unit coverage for compiler-alias scalar/list parsing. |
| tools/projmgr/test/src/ProjMgrWorkerUnitTests.cpp | Adds worker unit coverage for alias propagation and canonicalization/dedup behavior in toolchain processing. |
| tools/projmgr/test/data/TestSolution/test.csolution.yml | Adds compiler-alias to solution test input data. |
| tools/projmgr/src/ProjMgrYamlParser.cpp | Parses compiler-alias from the solution node and adds it to validation keys. |
| tools/projmgr/src/ProjMgrWorker.cpp | Propagates solution aliases to contexts and appends aliases into Tcompiler/Toptions. |
| tools/projmgr/schemas/common.schema.json | Extends the solution schema to allow compiler-alias (string or list). |
| tools/projmgr/include/ProjMgrYamlParser.h | Adds YAML key constant for compiler-alias. |
| tools/projmgr/include/ProjMgrWorker.h | Stores aliases in ContextItem for use during toolchain processing. |
| tools/projmgr/include/ProjMgrParser.h | Stores aliases in CsolutionItem parsed from csolution.yml. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2566 +/- ##
=======================================
Coverage 72.13% 72.14%
=======================================
Files 185 185
Lines 30117 30126 +9
Branches 17769 17784 +15
=======================================
+ Hits 21726 21735 +9
Misses 6090 6090
Partials 2301 2301
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Fixes
Examples:
It accepts multiple aliases:
Changes
compiler-aliasto the solution schema and YAML parser, supporting scalar and list forms.Tcompilerattributes, canonicalizingAC6asARMCCand deduplicating entries.Toptions=AC6when the AC6 alias is configured.Checklist