From a815f41aa3563be7d2f541a334f1afce1ca81141 Mon Sep 17 00:00:00 2001 From: Adam Szady Date: Tue, 16 Oct 2018 13:46:15 +0200 Subject: [PATCH 1/4] Run on python3.7 --- python/pip.bzl | 2 +- python/whl.bzl | 2 +- tools/piptool.par | Bin 5879466 -> 5879719 bytes tools/update_tools/Dockerfile | 9 +++++---- tools/whltool.par | Bin 1386426 -> 1386683 bytes update_tools.sh | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/python/pip.bzl b/python/pip.bzl index 237b7d2baa..f45fdd689d 100644 --- a/python/pip.bzl +++ b/python/pip.bzl @@ -24,7 +24,7 @@ def _pip_import_impl(repository_ctx): # To see the output, pass: quiet=False result = repository_ctx.execute([ - "python", repository_ctx.path(repository_ctx.attr._script), + "/usr/bin/env", "python3", repository_ctx.path(repository_ctx.attr._script), "--name", repository_ctx.attr.name, "--input", repository_ctx.path(repository_ctx.attr.requirements), "--output", repository_ctx.path("requirements.bzl"), diff --git a/python/whl.bzl b/python/whl.bzl index 496755671f..ce971cafb0 100644 --- a/python/whl.bzl +++ b/python/whl.bzl @@ -17,7 +17,7 @@ def _whl_impl(repository_ctx): """Core implementation of whl_library.""" args = [ - "python", + "/usr/bin/env", "python3", repository_ctx.path(repository_ctx.attr._script), "--whl", repository_ctx.path(repository_ctx.attr.whl), "--requirements", repository_ctx.attr.requirements, diff --git a/tools/piptool.par b/tools/piptool.par index 11ec453cd739666539b47b41bdd3e783a6929200..da692baa84e213d65068f1d2b852383f5cbb8e8d 100755 GIT binary patch delta 9497 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 delta 8961 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 diff --git a/tools/update_tools/Dockerfile b/tools/update_tools/Dockerfile index 4439eb810c..41e6e8c37d 100644 --- a/tools/update_tools/Dockerfile +++ b/tools/update_tools/Dockerfile @@ -1,14 +1,15 @@ -FROM gcr.io/gcp-runtimes/ubuntu_16_0_4:latest +FROM ubuntu:18.04 # Install Bazel (https://docs.bazel.build/versions/master/install-ubuntu.html) -RUN apt-get update -y && apt-get install openjdk-8-jdk -y +RUN apt-get update -y && apt-get install openjdk-8-jdk curl gnupg -y RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list RUN curl https://bazel.build/bazel-release.pub.gpg | apt-key add - RUN apt-get update -y && apt-get install bazel -y RUN bazel help info >/dev/null 2>&1 -# Install Python 2.7.12 -RUN apt-get install python -y +# Install Python 3.7 +RUN apt-get install python3.7 python3.7-distutils -y +RUN ln -s /usr/bin/python3.7 /usr/bin/python # Build par files. We have a source and work directory to avoid # stomping on other files as root. diff --git a/tools/whltool.par b/tools/whltool.par index 7cb59c0fbe05171c8405f4b72e7843670b6a017e..54ab3d994c16829f80a78a251c580cd72dc6a3d1 100755 GIT binary patch delta 2205 zcmY+Edr(wW9LM*?UiL2gfZYSgA{-LfT?ZDBmm-a9TC#>bVok9LU11e;gN?i7qZ!>^ zhSO*!GyY7R%(U#GsI85YTB9|UHKl@Bjyl=&5OdVh{G+U?e)pV<;LiMJ&*%GloZorf z!>9a52K*am8yv%bv<)SzR6_?IE!3)=kX5Bg(K+*|6N+?%@R6*=&T4PE#Z|=vzif4= zR9hXf)A2VV)=-cJx|Vc55$uRaba{KEjY{D_OHiUMon2kQmPlx2o+y`+e-kJs(Dn!o zv_!fCq0mYyMFL%z7obx2qHtFy=1FvEw-lkFDecRGV^mKI#(VBo3a)66xJGlB*M)sZ zZnp^D^=kWb-kC3YXR6UOXj(KKS{#}lO+brBGoXoRMzjPp6Pg*#f@VcaL`y=m9rDh! ze|AJ4RpS|{V274C((WD^N=8&ieo-}ewWM4ZRad4!fsW+#MpI0%z)8$-R7+A(?_s)Y zvyRvtqerPyO&lqK|55b^;L(ve7!E#Yn663d{knRjjEYG>8kQGk~;Ak8vMy~#q^X9372>E*A!r63Qpz)*v(kg`n z*v_@G8C+XaDHy>ju(&M`aqaqp8WEyg^UvbiJ3fsWZgZ`wUe-cb`CJ$_#*-&;RP`*6 zn`R)Ti0Qv`eBVF{5i@Ubq#~JwP43Lp%1sx-Zy8#nT-6G1h$Iy~mv`v-a&CykgNa|I z05y_D==m;7kUdW5H|rA!g31 zP&jBJ9^{-R#uYGVVnwcUE`_O0f*q>OOq}+ZlC*KYV1>h6tXrapuP+u%;I^>HGpiKw zB@1hG-qQ--v9Rf5$VEM-Y-qHy6PvzC;eA$8j_ow=QP`5m@=tuiI0rfsNfG*OpT^7i zIq)Ut=3xWp?UxODn3%+xcxzac#XPuiSv0~1F4kOC#Ni~?Ny=>zp0SZhP-|nG{Y3>t zZ6tu(uJX#GVyLY$if}d;&u5aIUC?i*%MK6xSA$on$IhRRzBGeKM*YN9w9}DFQ1e#fXmu7XyhGV8!+fw%q9o(iyCg#GNbW(tOx4xHgHtbDjS1Jk$ zAKPpedAD!wHCs)iUy?2TN<`~;Rv}ztksHc}{SR9b;KX>=(CWrfQ3vBQNEvRr-w*pU z@ENYoV0UJCp^ScXtnHRZx!}oUOC0F7!hsBu1M4`aZ%gF-b0$k{-3DQb;gyta(DCgu z&d0@E+nvN)$=jV|fPW}|R39ti>?~4%lbvdYXci0Kw#>%EFD|uN`C3a2_OWYqiFO{* zX0V%hL|n-|5r38_5tB^@sIVoMeJg();ib9k>_Y>Jf6r-q qlKeL1FZ{Y8P&-K_jy@a$uanHcLN|x(U>dTg!7eAU>Mv;tp8o%VVRQQc delta 2037 zcmY*aeN0nV6o2&NmG<@Hwe$kgLR+ODP6}uNhm#d>bAXBp^W@N0db4g8M+3nP4`vCC0dO@2#}HuAKLbh>R&8F4V32 zZA(XYnjmziMTY(B#qb*eTY@)Sm{+Xy=6EA*d9orhP%t3xD=q6RElWUCpefN*XlgVO zO@o$*rbW}CNoaaB1DX-dgeIez(JW|5-3EE)~(M1Rv=OQJkqEOR%)E7+hMi3~WUjJsi`pcJfznZf}uB;)zeM zRK!<@SGnN9N`(&o%*4uFi6j-XRhRR?mlX;lJW6EQf@>+a6QdK2(4{5K=mp!ku2@I% z5!z-rjOa)%!i4$Z&xND&LF?q|2V4pT_$o*1QCKm0W&@%IT1r?4Bl&I5N+F>ot|4bi%v z!aP`+N*3X=b4Mu5himKbO_)l-cF&(Q#J79q1Ql#YsSx4P)_Lr``t>4(ewduchJJ2@ z!`>=P#P(gE#_C(gcwpfOGv5QdlABUqhc8>4rjr@oL zc9MgqaV0m3kA^f_=(V$RJewaQMR;sy=hjulNDpjGCpoyC1BanFgLt4noo%PBn?oss z4Ho(+456-Z6%06t8wN8-9>Uft4!^H9S@@@8xr2Whs%gLrZ4UN^PSsIJ6LjpMo(FQA zYzHHIWM~eV-0&gCwjMLbTYJqS+;_4YvAqYHUAU&m#fEU{GYV@k+5OYhbA$g2ix!@^ zn0RcEbCvVi#;(>v`+O$ud5d~(xZRK>!y^d~w?Jo&KU}XCn%yYap|cw3*GvX6|2e_G z0WK)aN5RMfR<5>yb4QmVmz~MD>X$gzmdP$dXOP3&96DD~=z-;KHrt$i6mC`uf*P9K zII^-1s~(=ZS*DF2bM2=GG5b~z<3_*c>H0n7MVx^c;ZXLnle-gz4PG{@h7lg^8?{>C zhL`y8r?P+CD!kLOt*QQPIIbdg_8XD$cO3VeABR#Oc?GZ3?6?(-*R5%A%131J7X?Ap E{|0Fh?EnA( diff --git a/update_tools.sh b/update_tools.sh index 24a655e392..748c9b7e98 100755 --- a/update_tools.sh +++ b/update_tools.sh @@ -22,7 +22,7 @@ usage() { } if [ "$#" -eq 0 ] ; then - docker build --no-cache -f tools/update_tools/Dockerfile --tag rules_python:update_tools . + docker build -f tools/update_tools/Dockerfile --tag rules_python:update_tools . docker run -v"$PWD":/opt/rules_python_source rules_python:update_tools elif [ "$#" -eq 1 -a "$1" == "--nodocker" ] ; then bazel build //rules_python:piptool.par //rules_python:whltool.par From 8c27ac2117272d1938e44d4f095323ecfab06b9a Mon Sep 17 00:00:00 2001 From: Ali Shariat Date: Mon, 17 Sep 2018 14:44:00 -0700 Subject: [PATCH 2/4] add support METADATA 2.1 in wheels `wheel` has dropped support for `metadata.json`. This change adds the functionality to parse METADATA 2.1 files and create the same structure as depricted `metadata.json`. adsz: cherry-picked without binary files --- rules_python/whl.py | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/rules_python/whl.py b/rules_python/whl.py index 3e9d4f88fa..8ac0601d86 100644 --- a/rules_python/whl.py +++ b/rules_python/whl.py @@ -14,12 +14,17 @@ """The whl modules defines classes for interacting with Python packages.""" import argparse +import collections +import email.parser import json import os import pkg_resources import re import zipfile +EXTRA_RE = re.compile("""^(?P.*?)(;\s*(?P.*?)(extra == '(?P.*?)')?)$""") +MayRequiresKey = collections.namedtuple('MayRequiresKey', ('condition', 'extra')) + class Wheel(object): @@ -107,9 +112,43 @@ 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) } + metadata = {} + pkg_info = email.parser.Parser().parsestr(content) + metadata['name'] = pkg_info.get('Name') + extras = pkg_info.get_all('Provides-Extra') + if extras: + metadata['extras'] = list(set(extras)) + + reqs_dist = pkg_info.get_all('Requires-Dist') or [] + requires = collections.defaultdict(set) + for value in sorted(reqs_dist): + extra_match = EXTRA_RE.search(value) + if extra_match: + groupdict = extra_match.groupdict() + condition = groupdict['condition'] + extra = groupdict['extra'] + package = groupdict['package'] + if condition.endswith(' and '): + condition = condition[:-5] + else: + condition, extra = None, None + package = value + key = MayRequiresKey(condition, extra) + requires[key].add(package) + + if requires: + metadata['run_requires'] = [] + for key, value in requires.items(): + requirement = { + 'requires': list(value) + } + if key.extra: + requirement['extra'] = key.extra + if key.condition: + requirement['environment'] = key.condition + metadata['run_requires'].append(requirement) + + return metadata parser = argparse.ArgumentParser( From 7a809c222686cd88751fd3f93c419de28ed1449b Mon Sep 17 00:00:00 2001 From: Adam Szady Date: Tue, 16 Oct 2018 15:54:46 +0200 Subject: [PATCH 3/4] Regenerate par files --- tools/piptool.par | Bin 5879719 -> 5880988 bytes tools/whltool.par | Bin 1386683 -> 1389221 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/piptool.par b/tools/piptool.par index da692baa84e213d65068f1d2b852383f5cbb8e8d..8b6b74dd7cc7b2e2d38b7074c23919d2a95ba732 100755 GIT binary patch delta 8494 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 From 082c4bed943a7c293be74aa7a9172b626a469243 Mon Sep 17 00:00:00 2001 From: Adam Szady Date: Wed, 17 Oct 2018 11:28:09 +0200 Subject: [PATCH 4/4] Migrate python3 to python3.7 --- python/pip.bzl | 48 +++++++++++++++++++++++++++--------------------- python/whl.bzl | 33 ++++++++++++++++++--------------- 2 files changed, 45 insertions(+), 36 deletions(-) diff --git a/python/pip.bzl b/python/pip.bzl index f45fdd689d..6b48d8f1e2 100644 --- a/python/pip.bzl +++ b/python/pip.bzl @@ -14,25 +14,31 @@ """Import pip requirements into Bazel.""" def _pip_import_impl(repository_ctx): - """Core implementation of pip_import.""" + """Core implementation of pip_import.""" - # Add an empty top-level BUILD file. - # This is because Bazel requires BUILD files along all paths accessed - # via //this/sort/of:path and we wouldn't be able to load our generated - # requirements.bzl without it. - repository_ctx.file("BUILD", "") + # Add an empty top-level BUILD file. + # This is because Bazel requires BUILD files along all paths accessed + # via //this/sort/of:path and we wouldn't be able to load our generated + # requirements.bzl without it. + repository_ctx.file("BUILD", "") - # To see the output, pass: quiet=False - result = repository_ctx.execute([ - "/usr/bin/env", "python3", repository_ctx.path(repository_ctx.attr._script), - "--name", repository_ctx.attr.name, - "--input", repository_ctx.path(repository_ctx.attr.requirements), - "--output", repository_ctx.path("requirements.bzl"), - "--directory", repository_ctx.path(""), - ]) + # To see the output, pass: quiet=False + result = repository_ctx.execute([ + "/usr/bin/env", + "python3.7", + repository_ctx.path(repository_ctx.attr._script), + "--name", + repository_ctx.attr.name, + "--input", + repository_ctx.path(repository_ctx.attr.requirements), + "--output", + repository_ctx.path("requirements.bzl"), + "--directory", + repository_ctx.path(""), + ]) - if result.return_code: - fail("pip_import failed: %s (%s)" % (result.stdout, result.stderr)) + if result.return_code: + fail("pip_import failed: %s (%s)" % (result.stdout, result.stderr)) pip_import = repository_rule( attrs = { @@ -93,9 +99,9 @@ Args: """ def pip_repositories(): - """Pull in dependencies needed for pulling in pip dependencies. + """Pull in dependencies needed for pulling in pip dependencies. - A placeholder method that will eventually pull in any dependencies - needed to install pip dependencies. - """ - pass + A placeholder method that will eventually pull in any dependencies + needed to install pip dependencies. + """ + pass diff --git a/python/whl.bzl b/python/whl.bzl index ce971cafb0..b71f1d073a 100644 --- a/python/whl.bzl +++ b/python/whl.bzl @@ -14,24 +14,27 @@ """Import .whl files into Bazel.""" def _whl_impl(repository_ctx): - """Core implementation of whl_library.""" + """Core implementation of whl_library.""" - args = [ - "/usr/bin/env", "python3", - repository_ctx.path(repository_ctx.attr._script), - "--whl", repository_ctx.path(repository_ctx.attr.whl), - "--requirements", repository_ctx.attr.requirements, - ] - - if repository_ctx.attr.extras: - args += [ - "--extras=%s" % extra - for extra in repository_ctx.attr.extras + args = [ + "/usr/bin/env", + "python3.7", + repository_ctx.path(repository_ctx.attr._script), + "--whl", + repository_ctx.path(repository_ctx.attr.whl), + "--requirements", + repository_ctx.attr.requirements, ] - result = repository_ctx.execute(args) - if result.return_code: - fail("whl_library failed: %s (%s)" % (result.stdout, result.stderr)) + if repository_ctx.attr.extras: + args += [ + "--extras=%s" % extra + for extra in repository_ctx.attr.extras + ] + + result = repository_ctx.execute(args) + if result.return_code: + fail("whl_library failed: %s (%s)" % (result.stdout, result.stderr)) whl_library = repository_rule( attrs = {