Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> > -----邮件原件----- > 发件人: Michael D Kinney <michael.d.kin...@intel.com> > 发送时间: 2021年11月24日 1:32 > 收件人: devel@edk2.groups.io > 抄送: Sean Brogan <sean.bro...@microsoft.com>; Bret Barkelew > <bret.barke...@microsoft.com>; Liming Gao <gaolim...@byosoft.com.cn>; > Michael Kubacki <michael.kuba...@microsoft.com> > 主题: [Patch V2 1/1] .pytools/Plugin/LicenseCheck: Use temp directory for git > diff output > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3746 > > Use --output option in git diff command to remove code diffs > from build log on stdout when LicenseCheck plugin is run. > Instead, create a temp directory for the diff output file and > remove the temp directory after the diff output is processed. > > Cc: Sean Brogan <sean.bro...@microsoft.com> > Cc: Bret Barkelew <bret.barke...@microsoft.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Michael Kubacki <michael.kuba...@microsoft.com> > Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com> > --- > .pytool/Plugin/LicenseCheck/LicenseCheck.py | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/.pytool/Plugin/LicenseCheck/LicenseCheck.py > b/.pytool/Plugin/LicenseCheck/LicenseCheck.py > index 5733f7bf4ec0..7b998daf6f6b 100644 > --- a/.pytool/Plugin/LicenseCheck/LicenseCheck.py > +++ b/.pytool/Plugin/LicenseCheck/LicenseCheck.py > @@ -5,6 +5,7 @@ > ## > > import os > +import shutil > import logging > import re > from io import StringIO > @@ -61,12 +62,19 @@ class LicenseCheck(ICiBuildPlugin): > # - Junit Logger > # - output_stream the StringIO output stream from this plugin via > logging > def RunBuildPlugin(self, packagename, Edk2pathObj, pkgconfig, > environment, PLM, PLMHelper, tc, output_stream=None): > - return_buffer = StringIO() > - params = "diff --unified=0 origin/master HEAD" > - RunCmd("git", params, outstream=return_buffer) > - p = return_buffer.getvalue().strip() > - patch = p.split("\n") > - return_buffer.close() > + # Create temp directory > + temp_path = os.path.join(Edk2pathObj.WorkspacePath, 'Build', > '.pytool', 'Plugin', 'LicenseCheck') > + if not os.path.exists(temp_path): > + os.makedirs(temp_path) > + # Output file to use for git diff operations > + temp_diff_output = os.path.join (temp_path, 'diff.txt') > + params = "diff --output={} --unified=0 origin/master > HEAD".format(temp_diff_output) > + RunCmd("git", params) > + with open(temp_diff_output) as file: > + patch = file.read().strip().split("\n") > + # Delete temp directory > + if os.path.exists(temp_path): > + shutil.rmtree(temp_path) > > ignore_files = [] > if "IgnoreFiles" in pkgconfig: > -- > 2.32.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#84019): https://edk2.groups.io/g/devel/message/84019 Mute This Topic: https://groups.io/mt/87276462/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-