From cd4482452053a73227a8ff37d70fe4cef2524244 Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Mon, 17 Jun 2019 16:12:10 +0200 Subject: [PATCH] Fix whl.py for Windows --- rules_python/whl.py | 8 ++++---- tools/piptool.par | Bin 5879466 -> 5881714 bytes tools/whltool.par | Bin 1386426 -> 1388774 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rules_python/whl.py b/rules_python/whl.py index 3e9d4f88fa..edd7906506 100644 --- a/rules_python/whl.py +++ b/rules_python/whl.py @@ -107,10 +107,10 @@ def expand(self, directory): # _parse_metadata parses METADATA files according to https://www.python.org/dev/peps/pep-0314/ def _parse_metadata(self, content): - # TODO: handle fields other than just name - name_pattern = re.compile('Name: (.*)') - return { 'name': name_pattern.search(content).group(1) } - + # TODO: handle fields other than just name and extras + name = re.compile('Name: (.*)').search(content).group(1) + extras = [extra.strip() for extra in re.findall('Provides-Extra: (.*)', content)] + return { 'name': name, 'extras': extras } parser = argparse.ArgumentParser( description='Unpack a WHL file as a py_library.') diff --git a/tools/piptool.par b/tools/piptool.par index 11ec453cd739666539b47b41bdd3e783a6929200..28e0e13e28feefa246dc7e82d0d40cdd6583bdcf 100755 GIT binary patch delta 10930 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 delta 8733 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 a%=@If^!$jJENs0?@vWktH93hmJ^mMzmMTO5 diff --git a/tools/whltool.par b/tools/whltool.par index 7cb59c0fbe05171c8405f4b72e7843670b6a017e..f2914a3345ccd383156d0b46bd96d01023f108f1 100755 GIT binary patch delta 4429 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