Skip to content

Add solution-level compiler aliases - #2566

Merged
brondani merged 3 commits into
mainfrom
projmgr-compiler-aliases
Aug 19, 2026
Merged

Add solution-level compiler aliases#2566
brondani merged 3 commits into
mainfrom
projmgr-compiler-aliases

Conversation

@brondani

@brondani brondani commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Fixes

  • Enables solutions to declare compiler aliases for compatible toolchain selection.

Examples:

solution:
  compiler: XC
  compiler-alias: GCC # also accept software components written for GCC with the XC compiler

It accepts multiple aliases:

solution:
  compiler: XC
  compiler-alias:
    - GCC
    - CLANG

Changes

  • Added compiler-alias to the solution schema and YAML parser, supporting scalar and list forms.
  • Propagated configured aliases into build contexts.
  • Added aliases to generated Tcompiler attributes, canonicalizing AC6 as ARMCC and deduplicating entries.
  • Sets Toptions=AC6 when the AC6 alias is configured.
  • Added parser and worker unit coverage for alias parsing, propagation, canonicalization, and deduplication.

Checklist

  • 🤖 This change is covered by unit tests (if applicable).
  • 🤹 Manual testing has been performed (if necessary).
  • 🛡️ Security impacts have been considered (if relevant).
  • 📖 Documentation updates are complete (if required).
  • 🧠 Third-party dependencies and TPIP updated (if required).

Parse and validate compiler-alias entries from csolution files, then
propagate them to contexts and Tcompiler attributes
@brondani brondani changed the title Add solution-level compiler aliases for toolchain compatibility Add solution-level compiler aliases Aug 18, 2026
@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown

Test Results

  2 files   14 suites   11m 29s ⏱️
479 tests 479 ✅ 0 💤 0 ❌
958 runs  958 ✅ 0 💤 0 ❌

Results for commit 4c05901.

♻️ This comment has been updated with latest results.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-alias as either a scalar or a list.
  • Propagated parsed aliases into ContextItem and into generated Tcompiler/Toptions target 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.

Comment thread tools/projmgr/src/ProjMgrWorker.cpp
@brondani
brondani marked this pull request as ready for review August 18, 2026 15:29
@brondani
brondani requested a review from edriouk August 18, 2026 15:29
@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.14%. Comparing base (3a8b92d) to head (4c05901).
⚠️ Report is 3 commits behind head on main.

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           
Flag Coverage Δ
projmgr-cov 88.08% <100.00%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
tools/projmgr/include/ProjMgrParser.h 100.00% <ø> (ø)
tools/projmgr/include/ProjMgrWorker.h 83.87% <ø> (ø)
tools/projmgr/src/ProjMgrWorker.cpp 87.62% <100.00%> (+0.02%) ⬆️
tools/projmgr/src/ProjMgrYamlParser.cpp 84.98% <100.00%> (+0.01%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@edriouk edriouk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@brondani
brondani merged commit 48d69f0 into main Aug 19, 2026
32 checks passed
@brondani
brondani deleted the projmgr-compiler-aliases branch August 19, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants