Good questions. I answer them inline.<br /><br />Thanks,<br />Bob<br /><br />On Thu, Jan 14, 2021 at 08:53 AM, gaoliming wrote:<br />
<blockquote>Bob:<br />Have you plan to convert all C tools to Python tools? Or only some ones?</blockquote>
I am still investigating the feasibility of converting the C tools to Python tools. Some C tools are simple but some are complex. I hope all the C tools can be converted to Python tools so that all the tools can be moved to the BaseTools separate repo. I think we can file some BZs to track the progress of the C tools conversion. And I hope there could be more volunteers to be involved in this work.<br /><br />Here are the discussions about the benefit and process of moving BaseTools out of the edk2 repo for reference.<br />
<div><a href="https://edk2.groups.io/g/devel/topic/76572200#64993" target="_blank" rel="noopener">https://edk2.groups.io/g/devel/topic/76572200#64993</a> </div>
<div><a href="https://edk2.groups.io/g/rfc/topic/74009714#270" target="_blank" rel="noopener">https://edk2.groups.io/g/rfc/topic/74009714#270</a> </div>
<div><a href="https://edk2.groups.io/g/devel/topic/73069134#58048" target="_blank" rel="noopener">https://edk2.groups.io/g/devel/topic/73069134#58048</a><br /><br /></div>
<blockquote>Can you share your planning for the changes in BaseTools?</blockquote>
Except for this patch, my current work for Basetools are:<br />1. Re-write the FMMT/FCE with Python and propose to add these 2 tools to the edk2 BaseTools.<br />2. Prepare to publish the Basetools incremental build regression test cases and test framework.<br /><br />
<blockquote>And, I see you also add unittest for new split tool. Can you introduce the<br />unittest framework for python tool? If so, new added tool can follow the<br />same way to add unittest.</blockquote>
The unittest is the python build-in library for the unit test. <a href="https://docs.python.org/3/library/unittest.html" target="_blank" rel="noopener">https://docs.python.org/3/library/unittest.html</a> <br />I provide the unit test is to help you to review this patch. From the unit test case, it will be easy to<br />see if this tool's behavior is as expected. <br /><br />I think for the python code development, we can try our best to follow this document. <a href="https://edk2-docs.gitbook.io/edk-ii-python-development-process-specification/" target="_blank" rel="noopener">https://edk2-docs.gitbook.io/edk-ii-python-development-process-specification/</a> <br /><br />
<blockquote><br />Thanks<br />Liming<br />
<blockquote>-----邮件原件-----<br />发件人: bounce+27952+70232+4905953+8761045@groups.io<br /><bounce+27952+70232+4905953+8761045@groups.io> 代表 Bob Feng<br />发送时间: 2021年1月13日 17:56<br />收件人: devel@edk2.groups.io<br />主题: [edk2-devel] [Patch 0/2] Convert Split tool to python<br /><br />There are 2 reasons to convert Split tool from C to Python.<br /><br />1. We are in the process of moving the Basetools Python code<br /><br />to a separate repository. But there still are many C tools under<br /><br />edk2/BaseTools. To make all Basetools be in the separate repo,<br /><br />we can convert the C tools to Python tools.<br /><br />2. The original Split tool is very slow. This python tool can reduce<br /><br />90% time<br /><br />Bob Feng (2):<br />BaseTools: Convert Split tool to python<br />BaseTools: Add unittest for Split tool<br /><br />BaseTools/Source/C/Split/Split.c | 466 --------------------<br />BaseTools/BinWrappers/PosixLike/Split | 31 +-<br />BaseTools/BinWrappers/WindowsLike/Split.bat | 3 +<br />BaseTools/Source/C/GNUmakefile | 1 -<br />BaseTools/Source/C/Makefile | 1 -<br />BaseTools/Source/C/Split/GNUmakefile | 17 -<br />BaseTools/Source/C/Split/Makefile | 16 -<br />BaseTools/Source/Python/Split/Split.py | 203 +++++++++<br />BaseTools/Source/Python/Split/__init__.py | 10 +<br />BaseTools/Source/Python/tests/test_split.py | 101 +++++<br />10 files changed, 325 insertions(+), 524 deletions(-)<br />delete mode 100644 BaseTools/Source/C/Split/Split.c<br />create mode 100644 BaseTools/BinWrappers/WindowsLike/Split.bat<br />delete mode 100644 BaseTools/Source/C/Split/GNUmakefile<br />delete mode 100644 BaseTools/Source/C/Split/Makefile<br />create mode 100644 BaseTools/Source/Python/Split/Split.py<br />create mode 100644 BaseTools/Source/Python/Split/__init__.py<br />create mode 100644 BaseTools/Source/Python/tests/test_split.py<br /><br />--<br />2.29.1.windows.1<br /><br /><br /><br />-=-=-=-=-=-=<br />Groups.io Links: You receive all messages sent to this group.<br />View/Reply Online (#70232): <a href="https://edk2.groups.io/g/devel/message/70232" target="_blank" rel="noopener">https://edk2.groups.io/g/devel/message/70232</a><br />Mute This Topic: <a href="https://groups.io/mt/79647273/4905953" target="_blank" rel="noopener">https://groups.io/mt/79647273/4905953</a><br />Group Owner: devel+owner@edk2.groups.io<br />Unsubscribe: <a href="https://edk2.groups.io/g/devel/unsub" target="_blank" rel="noopener">https://edk2.groups.io/g/devel/unsub</a><br />[gaoliming@byosoft.com.cn]<br />-=-=-=-=-=-=</blockquote>
</blockquote>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/70269">View/Reply Online (#70269)</a> |    |  <a target="_blank" href="https://groups.io/mt/79665827/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>