[CHERRY-PICK] BaseTools: Fix owner-aware DSC arch macro expansion [Rebase & FF] - #1904
Conversation
❌ QEMU Validation FailedSource Dependencies
Results
Workflow run: https://github.com/microsoft/mu_basecore/actions/runs/33586704899 This comment was automatically generated by the Mu QEMU PR Validation workflow. |
|
Hi Aaron (@apop5), could you please review this release/202511 BaseTools backport? It cherry-picks the merged upstream fixes from tianocore/edk2#12628 and tianocore/edk2#13022 with matching stable patch IDs. The focused parser tests passed 11/11, and the aggregate BaseTools Python suite passed 320/320 on both Windows and WSL. Thank you. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release/202511 #1904 +/- ##
=================================================
Coverage ? 2.23%
=================================================
Files ? 1670
Lines ? 427111
Branches ? 5079
=================================================
Hits ? 9529
Misses ? 417498
Partials ? 84
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Bob Chen (@Bob0505), the commit content itself looks fine to me, but please update each commit message to prepend the current commit subject line with "[CHERRY-PICK]". |
Michael Kubacki (makubacki)
left a comment
There was a problem hiding this comment.
Approved, waiting for commit message updates.
|
@microsoft-github-policy-service agree company="UST Global Singapore Pte Limited" |
…parser Signed-off-by: Kirk Chou <kirk.chou@hpe.com> (cherry picked from commit 34a3cc8)
PR #12628 expanded architecture macros for every DSC record so component-private records match their component. A positive raw owner can also represent include provenance, so broad expansion changes records outside component scope. Expand architecture macros only for Component records and records whose owner maps to a final Component. Reset the owner mapping whenever the post-processed table is rebuilt to prevent stale ownership across DoPostProcess calls. Add regression coverage for component-private LibraryClasses and PCDs, nested and private includes, multiple architectures, unresolved macros, repeated sections, and repeated post-processing. Signed-off-by: Bob Chen (UST Global Singapore Pte Limited) <v-kuanlchen@microsoft.com> (cherry picked from commit 7b01c71a83e0bf6a89f5e803a4f60adc29c1f70f)
796fc02 to
fb65732
Compare
|
Hi Michael Kubacki (@makubacki), I updated both commit subjects to prepend [CHERRY-PICK] as requested and rebased the branch onto the latest release/202511. The patch content and stable patch IDs are unchanged. The focused parser suite passed 11/11, and the aggregate BaseTools Python suite passed 320/320 on both Windows and WSL. Thank you. |
Description
This cherry-picks two upstream EDK II BaseTools fixes into
release/202511:This preserves private LibraryClasses and PCD bindings under sections such as
[Components.$(PEI_ARCH)]without applying component-specific expansion to unrelated included records. Both commits retain their original authorship andcherry picked fromprovenance.How This Was Tested
python -B -m unittest BaseTools.Tests.MetaFileParserTestsΓÇö 11/11 passed.python -B BaseTools\Tests\PythonToolsTests.pyΓÇö 320/320 passed.PYTHONPATH=BaseTools/Source/Python:BaseTools/Tests python3 -B BaseTools/Tests/PythonToolsTests.pyΓÇö 320/320 passed.python -B BaseTools\Scripts\PatchCheck.py e7c1a028c47981a16805ecee845db232ccf0b5a2- code checks passed; commit-message validation reports the required release-branch[CHERRY-PICK]prefix as outside the upstream subject grammar.python -B BaseTools\Scripts\PatchCheck.py fb65732b16651e6a30106c2dfc7bffe71d9b6f5d- code checks passed; commit-message validation reports the required release-branch[CHERRY-PICK]prefix as outside the upstream subject grammar.python -B -m py_compilepassed for all three changed Python files.git diff --check, UTF-8 decoding, final-newline, and trailing-whitespace checks passed.Integration Instructions
N/A