{"action":"created","comment":{"url":"https://api.github.com/repos/nodejs/node-gyp/pulls/comments/231470553","pull_request_review_id":172446342,"id":231470553,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMTQ3MDU1Mw==","diff_hunk":"@@ -1,7 +1,7 @@\n {\n   \"asi\": true,\n   \"laxcomma\": true,\n-  \"es5\": true,\n+  \"esversion\": 6,","path":".jshintrc","position":5,"original_position":5,"commit_id":"138f6c35fa4cf29f86d507ef220cd5f07e149324","original_commit_id":"138f6c35fa4cf29f86d507ef220cd5f07e149324","user":{"login":"richardlau","id":5445507,"node_id":"MDQ6VXNlcjU0NDU1MDc=","avatar_url":"https://avatars0.githubusercontent.com/u/5445507?v=4","gravatar_id":"","url":"https://api.github.com/users/richardlau","html_url":"https://github.com/richardlau","followers_url":"https://api.github.com/users/richardlau/followers","following_url":"https://api.github.com/users/richardlau/following{/other_user}","gists_url":"https://api.github.com/users/richardlau/gists{/gist_id}","starred_url":"https://api.github.com/users/richardlau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richardlau/subscriptions","organizations_url":"https://api.github.com/users/richardlau/orgs","repos_url":"https://api.github.com/users/richardlau/repos","events_url":"https://api.github.com/users/richardlau/events{/privacy}","received_events_url":"https://api.github.com/users/richardlau/received_events","type":"User","site_admin":false},"body":"This is fine for master but shouldn't be backported to 3.x (do we have the equivalent of core's dont-land labels)?","created_at":"2018-11-07T11:30:30Z","updated_at":"2018-11-07T11:30:30Z","html_url":"https://github.com/nodejs/node-gyp/pull/1582#discussion_r231470553","pull_request_url":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/comments/231470553"},"html":{"href":"https://github.com/nodejs/node-gyp/pull/1582#discussion_r231470553"},"pull_request":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582"}}},"pull_request":{"url":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582","id":225943854,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1OTQzODU0","html_url":"https://github.com/nodejs/node-gyp/pull/1582","diff_url":"https://github.com/nodejs/node-gyp/pull/1582.diff","patch_url":"https://github.com/nodejs/node-gyp/pull/1582.patch","issue_url":"https://api.github.com/repos/nodejs/node-gyp/issues/1582","number":1582,"state":"open","locked":false,"title":"Clean-up python detection","user":{"login":"joaocgreis","id":134460,"node_id":"MDQ6VXNlcjEzNDQ2MA==","avatar_url":"https://avatars0.githubusercontent.com/u/134460?v=4","gravatar_id":"","url":"https://api.github.com/users/joaocgreis","html_url":"https://github.com/joaocgreis","followers_url":"https://api.github.com/users/joaocgreis/followers","following_url":"https://api.github.com/users/joaocgreis/following{/other_user}","gists_url":"https://api.github.com/users/joaocgreis/gists{/gist_id}","starred_url":"https://api.github.com/users/joaocgreis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaocgreis/subscriptions","organizations_url":"https://api.github.com/users/joaocgreis/orgs","repos_url":"https://api.github.com/users/joaocgreis/repos","events_url":"https://api.github.com/users/joaocgreis/events{/privacy}","received_events_url":"https://api.github.com/users/joaocgreis/received_events","type":"User","site_admin":false},"body":"This changes Python detection to make it try a sequence of possibilities. Every possibility will be tried discarding errors along the way, only giving up when there's nothing else to try. This should make Python detection more robust.\r\n\r\nThis stops using `which` to find the executable, instead relying on the mechanism that was already used for the py launcher: run Python and print `sys.executable`. This means that BAT files can be used, making node-gyp work when depot_tools is the first thing in the path.\r\n\r\n![image](https://user-images.githubusercontent.com/134460/47537048-86fcd280-d8bb-11e8-80a0-1b8d95ddf018.png)\r\n\r\n@refack I based this on your commit from https://github.com/nodejs/node-gyp/pull/1269 . Ended up changing much of it, but I used some of the info text so I include your commit for proper credit. Let me know if I should remove it or if you want to land https://github.com/nodejs/node-gyp/pull/1269 separately. I rebased it on master and included `es6: true` in `.eslintrc` to make linting work (since ES6 was already there for `.jshintrc`).\r\n\r\nError output when no Python is installed:\r\n![image](https://user-images.githubusercontent.com/134460/47536756-de01a800-d8b9-11e8-84d0-3c71cae4744c.png)\r\n\r\n\r\n##### Checklist\r\n<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->\r\n\r\n- [x] `npm install && npm test` passes\r\n- [x] tests are included <!-- Bug fixes and new features should include tests -->\r\n- [x] commit message follows [commit guidelines](https://github.com/nodejs/node/blob/master/doc/guides/contributing/pull-requests.md#commit-message-guidelines)\r\n","created_at":"2018-10-26T00:30:33Z","updated_at":"2018-11-07T11:30:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e21e0a613a97b5a3653891a5511fba9316297bed","assignee":null,"assignees":[],"requested_reviewers":[{"login":"refack","id":96947,"node_id":"MDQ6VXNlcjk2OTQ3","avatar_url":"https://avatars3.githubusercontent.com/u/96947?v=4","gravatar_id":"","url":"https://api.github.com/users/refack","html_url":"https://github.com/refack","followers_url":"https://api.github.com/users/refack/followers","following_url":"https://api.github.com/users/refack/following{/other_user}","gists_url":"https://api.github.com/users/refack/gists{/gist_id}","starred_url":"https://api.github.com/users/refack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refack/subscriptions","organizations_url":"https://api.github.com/users/refack/orgs","repos_url":"https://api.github.com/users/refack/repos","events_url":"https://api.github.com/users/refack/events{/privacy}","received_events_url":"https://api.github.com/users/refack/received_events","type":"User","site_admin":false},{"login":"bnoordhuis","id":275871,"node_id":"MDQ6VXNlcjI3NTg3MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/275871?v=4","gravatar_id":"","url":"https://api.github.com/users/bnoordhuis","html_url":"https://github.com/bnoordhuis","followers_url":"https://api.github.com/users/bnoordhuis/followers","following_url":"https://api.github.com/users/bnoordhuis/following{/other_user}","gists_url":"https://api.github.com/users/bnoordhuis/gists{/gist_id}","starred_url":"https://api.github.com/users/bnoordhuis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bnoordhuis/subscriptions","organizations_url":"https://api.github.com/users/bnoordhuis/orgs","repos_url":"https://api.github.com/users/bnoordhuis/repos","events_url":"https://api.github.com/users/bnoordhuis/events{/privacy}","received_events_url":"https://api.github.com/users/bnoordhuis/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582/commits","review_comments_url":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582/comments","review_comment_url":"https://api.github.com/repos/nodejs/node-gyp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nodejs/node-gyp/issues/1582/comments","statuses_url":"https://api.github.com/repos/nodejs/node-gyp/statuses/138f6c35fa4cf29f86d507ef220cd5f07e149324","head":{"label":"janeasystems:joaocgreis-IAP-python","ref":"joaocgreis-IAP-python","sha":"138f6c35fa4cf29f86d507ef220cd5f07e149324","user":{"login":"janeasystems","id":9194778,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxOTQ3Nzg=","avatar_url":"https://avatars2.githubusercontent.com/u/9194778?v=4","gravatar_id":"","url":"https://api.github.com/users/janeasystems","html_url":"https://github.com/janeasystems","followers_url":"https://api.github.com/users/janeasystems/followers","following_url":"https://api.github.com/users/janeasystems/following{/other_user}","gists_url":"https://api.github.com/users/janeasystems/gists{/gist_id}","starred_url":"https://api.github.com/users/janeasystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janeasystems/subscriptions","organizations_url":"https://api.github.com/users/janeasystems/orgs","repos_url":"https://api.github.com/users/janeasystems/repos","events_url":"https://api.github.com/users/janeasystems/events{/privacy}","received_events_url":"https://api.github.com/users/janeasystems/received_events","type":"Organization","site_admin":false},"repo":{"id":60692718,"node_id":"MDEwOlJlcG9zaXRvcnk2MDY5MjcxOA==","name":"node-gyp","full_name":"janeasystems/node-gyp","private":false,"owner":{"login":"janeasystems","id":9194778,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxOTQ3Nzg=","avatar_url":"https://avatars2.githubusercontent.com/u/9194778?v=4","gravatar_id":"","url":"https://api.github.com/users/janeasystems","html_url":"https://github.com/janeasystems","followers_url":"https://api.github.com/users/janeasystems/followers","following_url":"https://api.github.com/users/janeasystems/following{/other_user}","gists_url":"https://api.github.com/users/janeasystems/gists{/gist_id}","starred_url":"https://api.github.com/users/janeasystems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janeasystems/subscriptions","organizations_url":"https://api.github.com/users/janeasystems/orgs","repos_url":"https://api.github.com/users/janeasystems/repos","events_url":"https://api.github.com/users/janeasystems/events{/privacy}","received_events_url":"https://api.github.com/users/janeasystems/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/janeasystems/node-gyp","description":"Node.js native addon build tool","fork":true,"url":"https://api.github.com/repos/janeasystems/node-gyp","forks_url":"https://api.github.com/repos/janeasystems/node-gyp/forks","keys_url":"https://api.github.com/repos/janeasystems/node-gyp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/janeasystems/node-gyp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/janeasystems/node-gyp/teams","hooks_url":"https://api.github.com/repos/janeasystems/node-gyp/hooks","issue_events_url":"https://api.github.com/repos/janeasystems/node-gyp/issues/events{/number}","events_url":"https://api.github.com/repos/janeasystems/node-gyp/events","assignees_url":"https://api.github.com/repos/janeasystems/node-gyp/assignees{/user}","branches_url":"https://api.github.com/repos/janeasystems/node-gyp/branches{/branch}","tags_url":"https://api.github.com/repos/janeasystems/node-gyp/tags","blobs_url":"https://api.github.com/repos/janeasystems/node-gyp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/janeasystems/node-gyp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/janeasystems/node-gyp/git/refs{/sha}","trees_url":"https://api.github.com/repos/janeasystems/node-gyp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/janeasystems/node-gyp/statuses/{sha}","languages_url":"https://api.github.com/repos/janeasystems/node-gyp/languages","stargazers_url":"https://api.github.com/repos/janeasystems/node-gyp/stargazers","contributors_url":"https://api.github.com/repos/janeasystems/node-gyp/contributors","subscribers_url":"https://api.github.com/repos/janeasystems/node-gyp/subscribers","subscription_url":"https://api.github.com/repos/janeasystems/node-gyp/subscription","commits_url":"https://api.github.com/repos/janeasystems/node-gyp/commits{/sha}","git_commits_url":"https://api.github.com/repos/janeasystems/node-gyp/git/commits{/sha}","comments_url":"https://api.github.com/repos/janeasystems/node-gyp/comments{/number}","issue_comment_url":"https://api.github.com/repos/janeasystems/node-gyp/issues/comments{/number}","contents_url":"https://api.github.com/repos/janeasystems/node-gyp/contents/{+path}","compare_url":"https://api.github.com/repos/janeasystems/node-gyp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/janeasystems/node-gyp/merges","archive_url":"https://api.github.com/repos/janeasystems/node-gyp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/janeasystems/node-gyp/downloads","issues_url":"https://api.github.com/repos/janeasystems/node-gyp/issues{/number}","pulls_url":"https://api.github.com/repos/janeasystems/node-gyp/pulls{/number}","milestones_url":"https://api.github.com/repos/janeasystems/node-gyp/milestones{/number}","notifications_url":"https://api.github.com/repos/janeasystems/node-gyp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/janeasystems/node-gyp/labels{/name}","releases_url":"https://api.github.com/repos/janeasystems/node-gyp/releases{/id}","deployments_url":"https://api.github.com/repos/janeasystems/node-gyp/deployments","created_at":"2016-06-08T11:25:26Z","updated_at":"2018-07-02T15:08:03Z","pushed_at":"2018-10-26T00:24:38Z","git_url":"git://github.com/janeasystems/node-gyp.git","ssh_url":"git@github.com:janeasystems/node-gyp.git","clone_url":"https://github.com/janeasystems/node-gyp.git","svn_url":"https://github.com/janeasystems/node-gyp","homepage":"","size":3464,"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":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nodejs:master","ref":"master","sha":"3fcddce5972a3e7381092045c26f91d83711a6d7","user":{"login":"nodejs","id":9950313,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk5NTAzMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/9950313?v=4","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"repo":{"id":3342055,"node_id":"MDEwOlJlcG9zaXRvcnkzMzQyMDU1","name":"node-gyp","full_name":"nodejs/node-gyp","private":false,"owner":{"login":"nodejs","id":9950313,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk5NTAzMTM=","avatar_url":"https://avatars3.githubusercontent.com/u/9950313?v=4","gravatar_id":"","url":"https://api.github.com/users/nodejs","html_url":"https://github.com/nodejs","followers_url":"https://api.github.com/users/nodejs/followers","following_url":"https://api.github.com/users/nodejs/following{/other_user}","gists_url":"https://api.github.com/users/nodejs/gists{/gist_id}","starred_url":"https://api.github.com/users/nodejs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nodejs/subscriptions","organizations_url":"https://api.github.com/users/nodejs/orgs","repos_url":"https://api.github.com/users/nodejs/repos","events_url":"https://api.github.com/users/nodejs/events{/privacy}","received_events_url":"https://api.github.com/users/nodejs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nodejs/node-gyp","description":"Node.js native addon build tool","fork":false,"url":"https://api.github.com/repos/nodejs/node-gyp","forks_url":"https://api.github.com/repos/nodejs/node-gyp/forks","keys_url":"https://api.github.com/repos/nodejs/node-gyp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nodejs/node-gyp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nodejs/node-gyp/teams","hooks_url":"https://api.github.com/repos/nodejs/node-gyp/hooks","issue_events_url":"https://api.github.com/repos/nodejs/node-gyp/issues/events{/number}","events_url":"https://api.github.com/repos/nodejs/node-gyp/events","assignees_url":"https://api.github.com/repos/nodejs/node-gyp/assignees{/user}","branches_url":"https://api.github.com/repos/nodejs/node-gyp/branches{/branch}","tags_url":"https://api.github.com/repos/nodejs/node-gyp/tags","blobs_url":"https://api.github.com/repos/nodejs/node-gyp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nodejs/node-gyp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nodejs/node-gyp/git/refs{/sha}","trees_url":"https://api.github.com/repos/nodejs/node-gyp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nodejs/node-gyp/statuses/{sha}","languages_url":"https://api.github.com/repos/nodejs/node-gyp/languages","stargazers_url":"https://api.github.com/repos/nodejs/node-gyp/stargazers","contributors_url":"https://api.github.com/repos/nodejs/node-gyp/contributors","subscribers_url":"https://api.github.com/repos/nodejs/node-gyp/subscribers","subscription_url":"https://api.github.com/repos/nodejs/node-gyp/subscription","commits_url":"https://api.github.com/repos/nodejs/node-gyp/commits{/sha}","git_commits_url":"https://api.github.com/repos/nodejs/node-gyp/git/commits{/sha}","comments_url":"https://api.github.com/repos/nodejs/node-gyp/comments{/number}","issue_comment_url":"https://api.github.com/repos/nodejs/node-gyp/issues/comments{/number}","contents_url":"https://api.github.com/repos/nodejs/node-gyp/contents/{+path}","compare_url":"https://api.github.com/repos/nodejs/node-gyp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nodejs/node-gyp/merges","archive_url":"https://api.github.com/repos/nodejs/node-gyp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nodejs/node-gyp/downloads","issues_url":"https://api.github.com/repos/nodejs/node-gyp/issues{/number}","pulls_url":"https://api.github.com/repos/nodejs/node-gyp/pulls{/number}","milestones_url":"https://api.github.com/repos/nodejs/node-gyp/milestones{/number}","notifications_url":"https://api.github.com/repos/nodejs/node-gyp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nodejs/node-gyp/labels{/name}","releases_url":"https://api.github.com/repos/nodejs/node-gyp/releases{/id}","deployments_url":"https://api.github.com/repos/nodejs/node-gyp/deployments","created_at":"2012-02-03T05:50:50Z","updated_at":"2018-11-07T07:44:04Z","pushed_at":"2018-11-01T14:38:21Z","git_url":"git://github.com/nodejs/node-gyp.git","ssh_url":"git@github.com:nodejs/node-gyp.git","clone_url":"https://github.com/nodejs/node-gyp.git","svn_url":"https://github.com/nodejs/node-gyp","homepage":"","size":3361,"stargazers_count":4678,"watchers_count":4678,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":783,"mirror_url":null,"archived":false,"open_issues_count":161,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":783,"open_issues":161,"watchers":4678,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582"},"html":{"href":"https://github.com/nodejs/node-gyp/pull/1582"},"issue":{"href":"https://api.github.com/repos/nodejs/node-gyp/issues/1582"},"comments":{"href":"https://api.github.com/repos/nodejs/node-gyp/issues/1582/comments"},"review_comments":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582/comments"},"review_comment":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nodejs/node-gyp/pulls/1582/commits"},"statuses":{"href":"https://api.github.com/repos/nodejs/node-gyp/statuses/138f6c35fa4cf29f86d507ef220cd5f07e149324"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"richardlau"}}