v6.0.0
What's Changed
-
CI: Change to 202502 Branches. @apop5 (#470)
Change Details
## Description
Change to using 202502 Branches.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Ran CI build.
Integration Instructions
No integration necessary.
-
VfrToXmlConverter Version 0.3: Support Linux Build Container with GCC in CLI mode @v-yuanhengwu (#463)
Change Details
## Description VfrToXmlConverter Version 0.3: Support Linux Build Container with GCC in CLI mode - Improve string format compatibility - Improve search path compatibility for Linux - Import tkinter only in GUI mode - Add gcc preprocess function as well as cl.exe - Debug log enhancements
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Run this tool -cli mode in several pipelines with windows/linux build containers
- Manually tried to generate and compare XML files in:
- Windows: GUI/CLI
- WSL(Ubuntu): CLI
Integration Instructions
N/A
</blockquote> <hr> </details>
-
CI: Limit CI runs to AARCH64, IA32, X64. @apop5 (#456)
Change Details
## Description Remove ARM as a target for CI runs.
Only target AARCH64, IA32, X64 for GCC CI.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
- Backport to release branch?
How This Was Tested
Local CI builds.
Integration Instructions
Not Applicable since it is a CI change.
-
[ConfigEditor] Update config data before leaving the page @v-yuanhengwu (#457)
Change Details
## Description
If users modify some values in combo boxes without clicking the left tree and then click the pagination control buttons, the modified values may not take effect. We may need to ensure that the changes take effect in the config data before leaving the page, just like many other buttons do.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Execute ConfigEditor.py.
- Load a Config XML containing a struct with more than 500 members, so the pagination control buttons appear on the right grid.
- Modify combo box values and dropdown list selections.
- Navigate back and forth using the pagination control to verify whether the modified values persist.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
[Feature]: A Tool to Generate PlatformCfgData.xml from Project Files @v-yuanhengwu (#444)
Change Details
## Description
[Feature]: A Tool to Generate PlatformCfgData.xml from Project Files #434
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
We have tried VfrToXmlConverter.py on several project source codes to generate XML files.
- Execute VfrToXmlConverter.py
- Load INF file which includes VFR file(s) in [Sources]
- Load additional files if necessary (e.g. PlatformBuild.py, vfrpp_resp.txt)
- Process INF File
- Select and edit items in GUI
- Export config to XML
Integration Instructions
N/A
</blockquote> <hr> </details>
-
[ConfigEditor] Add pagination control to fix UI issues @v-yuanhengwu (#447)
Change Details
## Description
<Include a description of the change and why this change was made.>
Add pagination control to self.right_grid, which improves performance and also fix some known UI issues
[Known UI Issues]
-
#426
=> self.page_size = 500 can avoid this
In the current ConfigEditor layout, having more than 532 items causes self.conf_canvas scroll region to
exceed 32768 pixels, resulting in improper UI display. -
row out of bounds when row >= 9997 in add_config_item()
=> self.page_size = 500 can avoid this, since the max row = 500 * 2 + 2(header) - 1(0-based) = 1001
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\tkinter_init_.py", line 1968, in call
return self.func(*args)
^^^^^^^^^^^^^^^^
File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 893, in on_config_page_select_change
self.build_config_data_page(page_id)
File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 973, in build_config_data_page
self.add_config_item(item, row, self.page_cfg_map[page_id])
File "V:\Common\mu_feature_config\SetupDataPkg\Tools\ConfigEditor.py", line 1655, in add_config_item
widget.grid(
File "C:\Program Files\Python312\Lib\tkinter_init_.py", line 2580, in grid_configure
self.tk.call(
_tkinter.TclError: row out of bounds -
disp_list[0] and disp_list[1] seems to have duplicate names always
=> We can just display one of them as header -
UI response is sometimes quite slow since build_config_data_page() might be invoked frequently by:
-
Search
-
Select trees on the left
=> This does not decrease the number of times build_config_data_page() is called.
But it improves the execution speed on big files if build_config_data_page() only loads 500 items at a time -
Impacts functionality?
-
Impacts security?
-
Breaking change?
-
Includes tests?
-
Includes documentation?
How This Was Tested
- Execute ConfigEditor.py and loads a Config XML file with more than 500 members in a struct
Integration Instructions
N/A
</blockquote> <hr> </details> -
⚠️ Breaking Changes
-
Add MODCONFIG/DELVAR cmd line interface to modify config variables @kanechen66 (#473)
Change Details
## Description The current config editor tool requires UI interface to modify config variables. Although, we can use multiple GenNCCfgData.py cmd lines/config.xml tweak to achieve same functions, but it's not convenient to use This PR adds a ModConfig.py cmd line interface to modify config variables.
Usage:
$ python GenNCCfgData.py MODCONFIG --xml_file config.xml --var knob1 --var knob2 --val knob_val1 --val knob_val2 [--output_file out.vl]modify int config var
$ python GenNCCfgData.py MODCONFIG --xml_file config.xml --var "NetworkBootOrder" --val "[1,3,2,4]"Delete all config var
$ python GenNCCfgData.py DELVAR --xml_file config.xml- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on SUT and make sure the config variables can be modified or deleted
Old function GENBIN and GENCSV are also working like before.Integration Instructions
N/A
Full Changelog: v5.0.0...v6.0.0