##\r
\r
import os\r
+import shutil\r
import logging\r
import re\r
from io import StringIO\r
# - Junit Logger\r
# - output_stream the StringIO output stream from this plugin via logging\r
def RunBuildPlugin(self, packagename, Edk2pathObj, pkgconfig, environment, PLM, PLMHelper, tc, output_stream=None):\r
- return_buffer = StringIO()\r
- params = "diff --unified=0 origin/master HEAD"\r
- RunCmd("git", params, outstream=return_buffer)\r
- p = return_buffer.getvalue().strip()\r
- patch = p.split("\n")\r
- return_buffer.close()\r
+ # Create temp directory\r
+ temp_path = os.path.join(Edk2pathObj.WorkspacePath, 'Build', '.pytool', 'Plugin', 'LicenseCheck')\r
+ if not os.path.exists(temp_path):\r
+ os.makedirs(temp_path)\r
+ # Output file to use for git diff operations\r
+ temp_diff_output = os.path.join (temp_path, 'diff.txt')\r
+ params = "diff --output={} --unified=0 origin/master HEAD".format(temp_diff_output)\r
+ RunCmd("git", params)\r
+ with open(temp_diff_output) as file:\r
+ patch = file.read().strip().split("\n")\r
+ # Delete temp directory\r
+ if os.path.exists(temp_path):\r
+ shutil.rmtree(temp_path)\r
\r
ignore_files = []\r
if "IgnoreFiles" in pkgconfig:\r