{"action":"created","comment":{"url":"https://api.github.com/repos/pantsbuild/pex/pulls/comments/236053515","pull_request_review_id":178062044,"id":236053515,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNjA1MzUxNQ==","diff_hunk":"@@ -1,31 +1,33 @@\n # Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).\n # Licensed under the Apache License, Version 2.0 (see LICENSE).\n \n-from __future__ import absolute_import, print_function","path":"pex/pex_builder.py","position":4,"original_position":4,"commit_id":"9f2ba07cbcda05a223956d606cbb3c33c0f5881d","original_commit_id":"ab7d2586e2c9691d47f809e38086d2f04781e8ce","user":{"login":"jsirois","id":157586,"node_id":"MDQ6VXNlcjE1NzU4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/157586?v=4","gravatar_id":"","url":"https://api.github.com/users/jsirois","html_url":"https://github.com/jsirois","followers_url":"https://api.github.com/users/jsirois/followers","following_url":"https://api.github.com/users/jsirois/following{/other_user}","gists_url":"https://api.github.com/users/jsirois/gists{/gist_id}","starred_url":"https://api.github.com/users/jsirois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsirois/subscriptions","organizations_url":"https://api.github.com/users/jsirois/orgs","repos_url":"https://api.github.com/users/jsirois/repos","events_url":"https://api.github.com/users/jsirois/events{/privacy}","received_events_url":"https://api.github.com/users/jsirois/received_events","type":"User","site_admin":false},"body":"There is no use of `print`.","created_at":"2018-11-24T20:55:24Z","updated_at":"2018-11-24T20:55:24Z","html_url":"https://github.com/pantsbuild/pex/pull/624#discussion_r236053515","pull_request_url":"https://api.github.com/repos/pantsbuild/pex/pulls/624","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/comments/236053515"},"html":{"href":"https://github.com/pantsbuild/pex/pull/624#discussion_r236053515"},"pull_request":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/624"}},"in_reply_to_id":234458609},"pull_request":{"url":"https://api.github.com/repos/pantsbuild/pex/pulls/624","id":231636449,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxNjM2NDQ5","html_url":"https://github.com/pantsbuild/pex/pull/624","diff_url":"https://github.com/pantsbuild/pex/pull/624.diff","patch_url":"https://github.com/pantsbuild/pex/pull/624.patch","issue_url":"https://api.github.com/repos/pantsbuild/pex/issues/624","number":624,"state":"open","locked":false,"title":"Vendor `setuptools` and `wheel`.","user":{"login":"jsirois","id":157586,"node_id":"MDQ6VXNlcjE1NzU4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/157586?v=4","gravatar_id":"","url":"https://api.github.com/users/jsirois","html_url":"https://github.com/jsirois","followers_url":"https://api.github.com/users/jsirois/followers","following_url":"https://api.github.com/users/jsirois/following{/other_user}","gists_url":"https://api.github.com/users/jsirois/gists{/gist_id}","starred_url":"https://api.github.com/users/jsirois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsirois/subscriptions","organizations_url":"https://api.github.com/users/jsirois/orgs","repos_url":"https://api.github.com/users/jsirois/repos","events_url":"https://api.github.com/users/jsirois/events{/privacy}","received_events_url":"https://api.github.com/users/jsirois/received_events","type":"User","site_admin":false},"body":"This change removes pex dependence on `setuptools` and `wheel`\r\nresolution at build time in favor of vendoring pinned versions.\r\nSwitching to a vendoring model allows us to eliminate code that dealt\r\nwith the vagaries of supporting a ~5 year span of setuptools organic\r\ngrowth and API drift and it also allows us to fully isolate pex\r\nbuild-time interpreters. Going forward more libraries could be vendored\r\neasily at the cost of pex distribution size.\r\n\r\nThree changes make this possible:\r\n1. The `pex.vendor` module is introduced to centralize vendored\r\n   distribution management including establishing vendored distribution\r\n   requirements and setting up interpreters with vendored distribution\r\n   extras.\r\n2. A `pex.vendor.__main__` is introduced and run via `tox -e vendor` to\r\n   actually perform vendoring of third-party distributions inside pex.\r\n   This includes installing the distributions in the\r\n   `pex/vendor/_vendored` subtree and re-writing their imports\r\n   (shading).\r\n3. The `pex.third_party` module is introduced to provide runtime import\r\n   support for the vendored code using a\r\n   [PEP-302](https://www.python.org/dev/peps/pep-0302/) `sys.meta_path`\r\n   importer.\r\n\r\nImportant consequences of this change include:\r\n1. The pex runtime that used to be vendored under `.bootstrap/_pex` is\r\n   now vendored under `.bootstrap/pex` in order to support a fixed\r\n   `pex.third_party` vendor shading import prefix. The PEX runtime\r\n   bootstrap demotion code is made more aggressive, correct and complete\r\n   as a result to support an old pex vendored runtime handing off to a\r\n   newer pex distribution to support pexed pex. In addtion, the\r\n   `pex.third_party` vendoring importer is re-used to expose `pex` as\r\n   `_pex` for users taking advantage of `_pex.util.DistributionHelper`\r\n   and its `access_zipped_assets` for a deprecation period up to pex\r\n   2.0.0.\r\n2. Since we no longer re-name `pex` to `_pex` in the runtime, all\r\n   imports are now absolute.\r\n3. The pex build-time interpreter cache is eliminated. Since we vendor\r\n   the extras needed by interpreters, setup is now cheap, fast and\r\n   hermetic and needs no cache. As a result the\r\n   `--interpreter-cache-dir` flag now no-ops and is deprecated for\r\n   removal in pex 2.0.0.\r\n\r\nAdditional changes of note include:\r\n1. The `bdist_pex` distutils command now dogfoods the pex cli for better\r\n   fidelity with standard pex tool usage.\r\n2. The pex `setup.py` is now self-hosting and can be run by a python\r\n   interpreter lacking `setuptools` and/or `wheel`; in fact, pex can be\r\n   pexed via `python -sSE setup.py bdist_pex`.\r\n\r\nReplaces #612\r\nFixes #607","created_at":"2018-11-16T19:45:40Z","updated_at":"2018-11-24T20:55:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b73b081cec8ed3e121c4ce0727b9666451afced2","assignee":null,"assignees":[],"requested_reviewers":[{"login":"wickman","id":200731,"node_id":"MDQ6VXNlcjIwMDczMQ==","avatar_url":"https://avatars2.githubusercontent.com/u/200731?v=4","gravatar_id":"","url":"https://api.github.com/users/wickman","html_url":"https://github.com/wickman","followers_url":"https://api.github.com/users/wickman/followers","following_url":"https://api.github.com/users/wickman/following{/other_user}","gists_url":"https://api.github.com/users/wickman/gists{/gist_id}","starred_url":"https://api.github.com/users/wickman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wickman/subscriptions","organizations_url":"https://api.github.com/users/wickman/orgs","repos_url":"https://api.github.com/users/wickman/repos","events_url":"https://api.github.com/users/wickman/events{/privacy}","received_events_url":"https://api.github.com/users/wickman/received_events","type":"User","site_admin":false},{"login":"kwlzn","id":1883523,"node_id":"MDQ6VXNlcjE4ODM1MjM=","avatar_url":"https://avatars0.githubusercontent.com/u/1883523?v=4","gravatar_id":"","url":"https://api.github.com/users/kwlzn","html_url":"https://github.com/kwlzn","followers_url":"https://api.github.com/users/kwlzn/followers","following_url":"https://api.github.com/users/kwlzn/following{/other_user}","gists_url":"https://api.github.com/users/kwlzn/gists{/gist_id}","starred_url":"https://api.github.com/users/kwlzn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwlzn/subscriptions","organizations_url":"https://api.github.com/users/kwlzn/orgs","repos_url":"https://api.github.com/users/kwlzn/repos","events_url":"https://api.github.com/users/kwlzn/events{/privacy}","received_events_url":"https://api.github.com/users/kwlzn/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/pantsbuild/pex/pulls/624/commits","review_comments_url":"https://api.github.com/repos/pantsbuild/pex/pulls/624/comments","review_comment_url":"https://api.github.com/repos/pantsbuild/pex/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pantsbuild/pex/issues/624/comments","statuses_url":"https://api.github.com/repos/pantsbuild/pex/statuses/9f2ba07cbcda05a223956d606cbb3c33c0f5881d","head":{"label":"jsirois:issues/607-alternate-idea","ref":"issues/607-alternate-idea","sha":"9f2ba07cbcda05a223956d606cbb3c33c0f5881d","user":{"login":"jsirois","id":157586,"node_id":"MDQ6VXNlcjE1NzU4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/157586?v=4","gravatar_id":"","url":"https://api.github.com/users/jsirois","html_url":"https://github.com/jsirois","followers_url":"https://api.github.com/users/jsirois/followers","following_url":"https://api.github.com/users/jsirois/following{/other_user}","gists_url":"https://api.github.com/users/jsirois/gists{/gist_id}","starred_url":"https://api.github.com/users/jsirois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsirois/subscriptions","organizations_url":"https://api.github.com/users/jsirois/orgs","repos_url":"https://api.github.com/users/jsirois/repos","events_url":"https://api.github.com/users/jsirois/events{/privacy}","received_events_url":"https://api.github.com/users/jsirois/received_events","type":"User","site_admin":false},"repo":{"id":22323384,"node_id":"MDEwOlJlcG9zaXRvcnkyMjMyMzM4NA==","name":"pex","full_name":"jsirois/pex","private":false,"owner":{"login":"jsirois","id":157586,"node_id":"MDQ6VXNlcjE1NzU4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/157586?v=4","gravatar_id":"","url":"https://api.github.com/users/jsirois","html_url":"https://github.com/jsirois","followers_url":"https://api.github.com/users/jsirois/followers","following_url":"https://api.github.com/users/jsirois/following{/other_user}","gists_url":"https://api.github.com/users/jsirois/gists{/gist_id}","starred_url":"https://api.github.com/users/jsirois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsirois/subscriptions","organizations_url":"https://api.github.com/users/jsirois/orgs","repos_url":"https://api.github.com/users/jsirois/repos","events_url":"https://api.github.com/users/jsirois/events{/privacy}","received_events_url":"https://api.github.com/users/jsirois/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jsirois/pex","description":null,"fork":true,"url":"https://api.github.com/repos/jsirois/pex","forks_url":"https://api.github.com/repos/jsirois/pex/forks","keys_url":"https://api.github.com/repos/jsirois/pex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jsirois/pex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jsirois/pex/teams","hooks_url":"https://api.github.com/repos/jsirois/pex/hooks","issue_events_url":"https://api.github.com/repos/jsirois/pex/issues/events{/number}","events_url":"https://api.github.com/repos/jsirois/pex/events","assignees_url":"https://api.github.com/repos/jsirois/pex/assignees{/user}","branches_url":"https://api.github.com/repos/jsirois/pex/branches{/branch}","tags_url":"https://api.github.com/repos/jsirois/pex/tags","blobs_url":"https://api.github.com/repos/jsirois/pex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jsirois/pex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jsirois/pex/git/refs{/sha}","trees_url":"https://api.github.com/repos/jsirois/pex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jsirois/pex/statuses/{sha}","languages_url":"https://api.github.com/repos/jsirois/pex/languages","stargazers_url":"https://api.github.com/repos/jsirois/pex/stargazers","contributors_url":"https://api.github.com/repos/jsirois/pex/contributors","subscribers_url":"https://api.github.com/repos/jsirois/pex/subscribers","subscription_url":"https://api.github.com/repos/jsirois/pex/subscription","commits_url":"https://api.github.com/repos/jsirois/pex/commits{/sha}","git_commits_url":"https://api.github.com/repos/jsirois/pex/git/commits{/sha}","comments_url":"https://api.github.com/repos/jsirois/pex/comments{/number}","issue_comment_url":"https://api.github.com/repos/jsirois/pex/issues/comments{/number}","contents_url":"https://api.github.com/repos/jsirois/pex/contents/{+path}","compare_url":"https://api.github.com/repos/jsirois/pex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jsirois/pex/merges","archive_url":"https://api.github.com/repos/jsirois/pex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jsirois/pex/downloads","issues_url":"https://api.github.com/repos/jsirois/pex/issues{/number}","pulls_url":"https://api.github.com/repos/jsirois/pex/pulls{/number}","milestones_url":"https://api.github.com/repos/jsirois/pex/milestones{/number}","notifications_url":"https://api.github.com/repos/jsirois/pex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jsirois/pex/labels{/name}","releases_url":"https://api.github.com/repos/jsirois/pex/releases{/id}","deployments_url":"https://api.github.com/repos/jsirois/pex/deployments","created_at":"2014-07-27T21:58:29Z","updated_at":"2018-10-15T21:23:42Z","pushed_at":"2018-11-21T17:39:27Z","git_url":"git://github.com/jsirois/pex.git","ssh_url":"git@github.com:jsirois/pex.git","clone_url":"https://github.com/jsirois/pex.git","svn_url":"https://github.com/jsirois/pex","homepage":null,"size":3631,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pantsbuild:master","ref":"master","sha":"22b3eb95bbca8f4c5db28bc74f3ce7693c8b47c5","user":{"login":"pantsbuild","id":3065172,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjUxNzI=","avatar_url":"https://avatars0.githubusercontent.com/u/3065172?v=4","gravatar_id":"","url":"https://api.github.com/users/pantsbuild","html_url":"https://github.com/pantsbuild","followers_url":"https://api.github.com/users/pantsbuild/followers","following_url":"https://api.github.com/users/pantsbuild/following{/other_user}","gists_url":"https://api.github.com/users/pantsbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/pantsbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pantsbuild/subscriptions","organizations_url":"https://api.github.com/users/pantsbuild/orgs","repos_url":"https://api.github.com/users/pantsbuild/repos","events_url":"https://api.github.com/users/pantsbuild/events{/privacy}","received_events_url":"https://api.github.com/users/pantsbuild/received_events","type":"Organization","site_admin":false},"repo":{"id":22072746,"node_id":"MDEwOlJlcG9zaXRvcnkyMjA3Mjc0Ng==","name":"pex","full_name":"pantsbuild/pex","private":false,"owner":{"login":"pantsbuild","id":3065172,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjUxNzI=","avatar_url":"https://avatars0.githubusercontent.com/u/3065172?v=4","gravatar_id":"","url":"https://api.github.com/users/pantsbuild","html_url":"https://github.com/pantsbuild","followers_url":"https://api.github.com/users/pantsbuild/followers","following_url":"https://api.github.com/users/pantsbuild/following{/other_user}","gists_url":"https://api.github.com/users/pantsbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/pantsbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pantsbuild/subscriptions","organizations_url":"https://api.github.com/users/pantsbuild/orgs","repos_url":"https://api.github.com/users/pantsbuild/repos","events_url":"https://api.github.com/users/pantsbuild/events{/privacy}","received_events_url":"https://api.github.com/users/pantsbuild/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pantsbuild/pex","description":"A library and tool for generating .pex (Python EXecutable) files","fork":false,"url":"https://api.github.com/repos/pantsbuild/pex","forks_url":"https://api.github.com/repos/pantsbuild/pex/forks","keys_url":"https://api.github.com/repos/pantsbuild/pex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pantsbuild/pex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pantsbuild/pex/teams","hooks_url":"https://api.github.com/repos/pantsbuild/pex/hooks","issue_events_url":"https://api.github.com/repos/pantsbuild/pex/issues/events{/number}","events_url":"https://api.github.com/repos/pantsbuild/pex/events","assignees_url":"https://api.github.com/repos/pantsbuild/pex/assignees{/user}","branches_url":"https://api.github.com/repos/pantsbuild/pex/branches{/branch}","tags_url":"https://api.github.com/repos/pantsbuild/pex/tags","blobs_url":"https://api.github.com/repos/pantsbuild/pex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pantsbuild/pex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pantsbuild/pex/git/refs{/sha}","trees_url":"https://api.github.com/repos/pantsbuild/pex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pantsbuild/pex/statuses/{sha}","languages_url":"https://api.github.com/repos/pantsbuild/pex/languages","stargazers_url":"https://api.github.com/repos/pantsbuild/pex/stargazers","contributors_url":"https://api.github.com/repos/pantsbuild/pex/contributors","subscribers_url":"https://api.github.com/repos/pantsbuild/pex/subscribers","subscription_url":"https://api.github.com/repos/pantsbuild/pex/subscription","commits_url":"https://api.github.com/repos/pantsbuild/pex/commits{/sha}","git_commits_url":"https://api.github.com/repos/pantsbuild/pex/git/commits{/sha}","comments_url":"https://api.github.com/repos/pantsbuild/pex/comments{/number}","issue_comment_url":"https://api.github.com/repos/pantsbuild/pex/issues/comments{/number}","contents_url":"https://api.github.com/repos/pantsbuild/pex/contents/{+path}","compare_url":"https://api.github.com/repos/pantsbuild/pex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pantsbuild/pex/merges","archive_url":"https://api.github.com/repos/pantsbuild/pex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pantsbuild/pex/downloads","issues_url":"https://api.github.com/repos/pantsbuild/pex/issues{/number}","pulls_url":"https://api.github.com/repos/pantsbuild/pex/pulls{/number}","milestones_url":"https://api.github.com/repos/pantsbuild/pex/milestones{/number}","notifications_url":"https://api.github.com/repos/pantsbuild/pex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pantsbuild/pex/labels{/name}","releases_url":"https://api.github.com/repos/pantsbuild/pex/releases{/id}","deployments_url":"https://api.github.com/repos/pantsbuild/pex/deployments","created_at":"2014-07-21T17:06:12Z","updated_at":"2018-11-23T06:34:08Z","pushed_at":"2018-11-21T17:39:28Z","git_url":"git://github.com/pantsbuild/pex.git","ssh_url":"git@github.com:pantsbuild/pex.git","clone_url":"https://github.com/pantsbuild/pex.git","svn_url":"https://github.com/pantsbuild/pex","homepage":"","size":3220,"stargazers_count":1152,"watchers_count":1152,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":130,"mirror_url":null,"archived":false,"open_issues_count":113,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":130,"open_issues":113,"watchers":1152,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/624"},"html":{"href":"https://github.com/pantsbuild/pex/pull/624"},"issue":{"href":"https://api.github.com/repos/pantsbuild/pex/issues/624"},"comments":{"href":"https://api.github.com/repos/pantsbuild/pex/issues/624/comments"},"review_comments":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/624/comments"},"review_comment":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pantsbuild/pex/pulls/624/commits"},"statuses":{"href":"https://api.github.com/repos/pantsbuild/pex/statuses/9f2ba07cbcda05a223956d606cbb3c33c0f5881d"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"jsirois"}}