{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments/113356699","pull_request_review_id":34736647,"id":113356699,"diff_hunk":"@@ -0,0 +1,34 @@\n+<?xml version=\"1.0\" encoding=\"UTF-8\"?>","path":"plugins/com.google.cloud.tools.eclipse.appengine.standard.java8/.project","position":1,"original_position":1,"commit_id":"25c7b9b1117f7088514e4fe56978be0b3eac1489","original_commit_id":"1559dc50c0ea96767bf90d0dbe9dd85a0480f110","user":{"login":"briandealwis","id":202851,"avatar_url":"https://avatars0.githubusercontent.com/u/202851?v=3","gravatar_id":"","url":"https://api.github.com/users/briandealwis","html_url":"https://github.com/briandealwis","followers_url":"https://api.github.com/users/briandealwis/followers","following_url":"https://api.github.com/users/briandealwis/following{/other_user}","gists_url":"https://api.github.com/users/briandealwis/gists{/gist_id}","starred_url":"https://api.github.com/users/briandealwis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briandealwis/subscriptions","organizations_url":"https://api.github.com/users/briandealwis/orgs","repos_url":"https://api.github.com/users/briandealwis/repos","events_url":"https://api.github.com/users/briandealwis/events{/privacy}","received_events_url":"https://api.github.com/users/briandealwis/received_events","type":"User","site_admin":false},"body":"It didn't, but it forced leveraging the facets constraint framework for testing compatibility (which is a good thing) rather than introducing a separate feature flag and littering `isJava8()`-style checks everywhere.","created_at":"2017-04-26T03:02:26Z","updated_at":"2017-04-26T03:02:26Z","html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855#discussion_r113356699","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments/113356699"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855#discussion_r113356699"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855","id":117555068,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855","diff_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855.diff","patch_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/1855","number":1855,"state":"open","locked":false,"title":"Add support for the App Engine Java 8 runtime","user":{"login":"briandealwis","id":202851,"avatar_url":"https://avatars0.githubusercontent.com/u/202851?v=3","gravatar_id":"","url":"https://api.github.com/users/briandealwis","html_url":"https://github.com/briandealwis","followers_url":"https://api.github.com/users/briandealwis/followers","following_url":"https://api.github.com/users/briandealwis/following{/other_user}","gists_url":"https://api.github.com/users/briandealwis/gists{/gist_id}","starred_url":"https://api.github.com/users/briandealwis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briandealwis/subscriptions","organizations_url":"https://api.github.com/users/briandealwis/orgs","repos_url":"https://api.github.com/users/briandealwis/repos","events_url":"https://api.github.com/users/briandealwis/events{/privacy}","received_events_url":"https://api.github.com/users/briandealwis/received_events","type":"User","site_admin":false},"body":"Brings in support for the new App Engine Java 8 runtime (#1057):\r\n\r\n- Switches the _App Engine Standard_ facet to using facet groups to specify compatible Servlet API and Java Runtimes as these facet groups can be extended/added to by other bundles\r\n- Creates new `com.google.cloud.tools.eclipse.appengine.standard.java8` and `.test` bundle that hold the Java 8 functionality.  All other changes leverage the facets framework by testing whether the _App Engine Standard v1_ facet-version is compatible with some proposed facet-version change via `IProjectFacetVersion#conflictsWith(IProjectFacetVersion)`.  No feature flag required!\r\n    - the `ServletClasspathProvider` uses the `jst.web` version strings to decide, but we could instead bundle the Servlet API and JSP libraries into a single per-Servlet API library bundle and then just use the jst.web version string directly.\r\n- Adds listeners and builders to translate between Java 1.8 facet and `<runtime>java8</runtime>` changes to `appengine-web.xml`.\r\n    - I wasn't able to figure out the right XSTL magic to properly indent the `<runtime>` element when added; adding `<xsl:output indent=\"yes\">` made some difference, but it wasn't enough on its own.\r\n- Fixed our Server Runtime definition in `.localserver` as the module-types are J2EE modules not facets (i.e., `java` is not a module-type).\r\n\r\nRequires no changes to deployment.\r\n\r\nFixes #1057\r\n\r\n# Side Effects\r\n\r\n# Facet Group Side-Effects\r\nWhen adding an AES facet to an existing project, the help content shown uses the group labels, which is of the form:\r\n\r\n    {{facet}} {{version}} requires any member of {{group-label}}} group.\r\n\r\nas you can see below.\r\n\r\n![facet group labels](https://cloud.githubusercontent.com/assets/202851/25401154/eb20f650-29c2-11e7-948f-e331040eff9f.PNG)","created_at":"2017-04-25T18:50:21Z","updated_at":"2017-04-26T03:02:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f5e8f8576afdbd58639fc431274009a148ed59b2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/1855/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/25c7b9b1117f7088514e4fe56978be0b3eac1489","head":{"label":"GoogleCloudPlatform:java8","ref":"java8","sha":"25c7b9b1117f7088514e4fe56978be0b3eac1489","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars3.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":53369484,"name":"google-cloud-eclipse","full_name":"GoogleCloudPlatform/google-cloud-eclipse","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars3.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","description":"Google Cloud Platform plugin for Eclipse","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/deployments","created_at":"2016-03-08T00:30:03Z","updated_at":"2017-04-18T16:51:12Z","pushed_at":"2017-04-26T02:47:03Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-eclipse.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","homepage":"","size":7197,"stargazers_count":26,"watchers_count":26,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"open_issues_count":290,"forks":16,"open_issues":290,"watchers":26,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"78eda11248296a845acc5f0b9bbdddae04309f91","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars3.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":53369484,"name":"google-cloud-eclipse","full_name":"GoogleCloudPlatform/google-cloud-eclipse","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars3.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","description":"Google Cloud Platform plugin for Eclipse","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/deployments","created_at":"2016-03-08T00:30:03Z","updated_at":"2017-04-18T16:51:12Z","pushed_at":"2017-04-26T02:47:03Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-eclipse.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","homepage":"","size":7197,"stargazers_count":26,"watchers_count":26,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"open_issues_count":290,"forks":16,"open_issues":290,"watchers":26,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/1855"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/1855"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/1855/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/1855/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/25c7b9b1117f7088514e4fe56978be0b3eac1489"}}}}
{"actor":{"display_login":"briandealwis"}}