distutils is deprecated and may be removed in python 3.12.
Use shlex.split which has been around since python 2.3.
shlex.split does not split on all the ASCII control characters that
split_quoted will[1], but for edk2 usage I don't think that matters.
[1] https://stackoverflow.com/questions/
54999301/what-is-the-difference-between-distutils-util-split-quoted-and-shlex-split
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
#\r
from __future__ import print_function\r
import Common.LongFilePathOs as os, codecs, re\r
-import distutils.util\r
+import shlex\r
import Common.EdkLogger as EdkLogger\r
from io import BytesIO\r
from Common.BuildToolError import *\r
# Get Language definition\r
#\r
def GetLangDef(self, File, Line):\r
- Lang = distutils.util.split_quoted((Line.split(u"//")[0]))\r
+ Lang = shlex.split(Line.split(u"//")[0])\r
if len(Lang) != 3:\r
try:\r
FileIn = UniFileClassObject.OpenUniFile(LongFilePath(File.Path))\r
# Import Modules\r
#\r
import os, codecs, re\r
-import distutils.util\r
+import shlex\r
from Logger import ToolError\r
from Logger import Log as EdkLogger\r
from Logger import StringTable as ST\r
# Get Language definition\r
#\r
def GetLangDef(self, File, Line):\r
- Lang = distutils.util.split_quoted((Line.split(u"//")[0]))\r
+ Lang = shlex.split(Line.split(u"//")[0])\r
if len(Lang) != 3:\r
try:\r
FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').readlines()\r