{"action":"created","comment":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/comments/104801114","pull_request_review_id":25653867,"id":104801114,"diff_hunk":"@@ -192,13 +194,13 @@ public void printFailuresTo(PrintWriter writer) {\n \n \t@Override\n \tpublic List<Failure> getFailures() {\n-\t\treturn new ArrayList<>(failures);\n+\t\treturn Collections.unmodifiableList(new ArrayList<>(failures));","path":"junit-platform-launcher/src/main/java/org/junit/platform/launcher/listeners/MutableTestExecutionSummary.java","position":21,"original_position":21,"commit_id":"5822313edf9478fe89cf9eb7a59a90f20a361018","original_commit_id":"5822313edf9478fe89cf9eb7a59a90f20a361018","user":{"login":"sormuras","id":2319838,"avatar_url":"https://avatars2.githubusercontent.com/u/2319838?v=3","gravatar_id":"","url":"https://api.github.com/users/sormuras","html_url":"https://github.com/sormuras","followers_url":"https://api.github.com/users/sormuras/followers","following_url":"https://api.github.com/users/sormuras/following{/other_user}","gists_url":"https://api.github.com/users/sormuras/gists{/gist_id}","starred_url":"https://api.github.com/users/sormuras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sormuras/subscriptions","organizations_url":"https://api.github.com/users/sormuras/orgs","repos_url":"https://api.github.com/users/sormuras/repos","events_url":"https://api.github.com/users/sormuras/events{/privacy}","received_events_url":"https://api.github.com/users/sormuras/received_events","type":"User","site_admin":false},"body":"`return Collections.unmodifiableList(failures);` should suffice, iirc.","created_at":"2017-03-07T22:47:50Z","updated_at":"2017-03-07T22:47:50Z","html_url":"https://github.com/junit-team/junit5/pull/705#discussion_r104801114","pull_request_url":"https://api.github.com/repos/junit-team/junit5/pulls/705","_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments/104801114"},"html":{"href":"https://github.com/junit-team/junit5/pull/705#discussion_r104801114"},"pull_request":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/705"}}},"pull_request":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/705","id":109160419,"html_url":"https://github.com/junit-team/junit5/pull/705","diff_url":"https://github.com/junit-team/junit5/pull/705.diff","patch_url":"https://github.com/junit-team/junit5/pull/705.patch","issue_url":"https://api.github.com/repos/junit-team/junit5/issues/705","number":705,"state":"open","locked":false,"title":"Clean up and encourage immutability within the codebase","user":{"login":"jbduncan","id":2482228,"avatar_url":"https://avatars1.githubusercontent.com/u/2482228?v=3","gravatar_id":"","url":"https://api.github.com/users/jbduncan","html_url":"https://github.com/jbduncan","followers_url":"https://api.github.com/users/jbduncan/followers","following_url":"https://api.github.com/users/jbduncan/following{/other_user}","gists_url":"https://api.github.com/users/jbduncan/gists{/gist_id}","starred_url":"https://api.github.com/users/jbduncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbduncan/subscriptions","organizations_url":"https://api.github.com/users/jbduncan/orgs","repos_url":"https://api.github.com/users/jbduncan/repos","events_url":"https://api.github.com/users/jbduncan/events{/privacy}","received_events_url":"https://api.github.com/users/jbduncan/received_events","type":"User","site_admin":false},"body":"## Overview\r\n\r\nI've made a number of cleanup- and immutability-related changes to the JUnit 5 codebase in my spare time, mainly for fun, but also in the hope that it makes things a little easier to maintain in the future. However, it's not clear to me if all the changes I've made are actually desirable for backwards-compatibility or other reasons.\r\n\r\nAre all the changes I've made here OK? If not, I wonder if someone on the JUnit 5 team would kindly let me know either where I can improve or where I've overstepped my boundaries. :)\r\n\r\nHere's a summary of the main changes I've made, as I've written in my commit message:\r\n```\r\n    Clean up and encourage immutability within the codebase\r\n\r\n    - `Collections::unmodifiable*` has been used more for the return values\r\n      of public, non-internal, collection-returning methods, with the\r\n      intention of making them a bit easier to use and understand for\r\n      external users (since their mutability (or lack thereof) is now more\r\n      clearly defined and enforced).\r\n    - Code blocks between `// formatter:{off|on}` comments have been\r\n      manually formatted for consistenty.\r\n    - The methods of `Collectors` are statically imported more for\r\n      consistency.\r\n```\r\n\r\n---\r\n\r\nI hereby agree to the terms of the JUnit Contributor License Agreement.\r\n\r\n---\r\n\r\n### Definition of Done\r\n\r\n- [x] There are no TODOs left in the code\r\n- [x] Method [preconditions](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/util/Preconditions.html) are checked and documented in the method's Javadoc\r\n- [x] [Coding conventions](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#coding-conventions) (e.g. for logging) have been followed\r\n- [ ] Change is covered by [automated tests](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#tests)\r\n- [x] Public API has [Javadoc](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#javadoc) and [`@API` annotations](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/meta/API.html)\r\n- [ ] Change is documented in the [User Guide](http://junit.org/junit5/docs/snapshot/user-guide/) and [Release Notes](http://junit.org/junit5/docs/snapshot/user-guide/#release-notes)\r\n- [x] All [continuous integration builds](https://github.com/junit-team/junit5#continuous-integration-builds) pass\r\n","created_at":"2017-03-05T19:08:03Z","updated_at":"2017-03-07T22:47:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9c866560ab41324adc95d3c5cc1472c8c0a89f52","assignee":{"login":"sormuras","id":2319838,"avatar_url":"https://avatars2.githubusercontent.com/u/2319838?v=3","gravatar_id":"","url":"https://api.github.com/users/sormuras","html_url":"https://github.com/sormuras","followers_url":"https://api.github.com/users/sormuras/followers","following_url":"https://api.github.com/users/sormuras/following{/other_user}","gists_url":"https://api.github.com/users/sormuras/gists{/gist_id}","starred_url":"https://api.github.com/users/sormuras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sormuras/subscriptions","organizations_url":"https://api.github.com/users/sormuras/orgs","repos_url":"https://api.github.com/users/sormuras/repos","events_url":"https://api.github.com/users/sormuras/events{/privacy}","received_events_url":"https://api.github.com/users/sormuras/received_events","type":"User","site_admin":false},"assignees":[{"login":"sormuras","id":2319838,"avatar_url":"https://avatars2.githubusercontent.com/u/2319838?v=3","gravatar_id":"","url":"https://api.github.com/users/sormuras","html_url":"https://github.com/sormuras","followers_url":"https://api.github.com/users/sormuras/followers","following_url":"https://api.github.com/users/sormuras/following{/other_user}","gists_url":"https://api.github.com/users/sormuras/gists{/gist_id}","starred_url":"https://api.github.com/users/sormuras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sormuras/subscriptions","organizations_url":"https://api.github.com/users/sormuras/orgs","repos_url":"https://api.github.com/users/sormuras/repos","events_url":"https://api.github.com/users/sormuras/events{/privacy}","received_events_url":"https://api.github.com/users/sormuras/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/junit-team/junit5/milestones/8","html_url":"https://github.com/junit-team/junit5/milestone/8","labels_url":"https://api.github.com/repos/junit-team/junit5/milestones/8/labels","id":1902232,"number":8,"title":"5.0 M5","description":"Themes: Java 9 compatibility","creator":{"login":"sbrannen","id":104798,"avatar_url":"https://avatars3.githubusercontent.com/u/104798?v=3","gravatar_id":"","url":"https://api.github.com/users/sbrannen","html_url":"https://github.com/sbrannen","followers_url":"https://api.github.com/users/sbrannen/followers","following_url":"https://api.github.com/users/sbrannen/following{/other_user}","gists_url":"https://api.github.com/users/sbrannen/gists{/gist_id}","starred_url":"https://api.github.com/users/sbrannen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbrannen/subscriptions","organizations_url":"https://api.github.com/users/sbrannen/orgs","repos_url":"https://api.github.com/users/sbrannen/repos","events_url":"https://api.github.com/users/sbrannen/events{/privacy}","received_events_url":"https://api.github.com/users/sbrannen/received_events","type":"User","site_admin":false},"open_issues":39,"closed_issues":0,"state":"open","created_at":"2016-07-25T11:53:46Z","updated_at":"2017-03-07T08:31:20Z","due_on":"2017-06-25T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/junit-team/junit5/pulls/705/commits","review_comments_url":"https://api.github.com/repos/junit-team/junit5/pulls/705/comments","review_comment_url":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}","comments_url":"https://api.github.com/repos/junit-team/junit5/issues/705/comments","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/5822313edf9478fe89cf9eb7a59a90f20a361018","head":{"label":"jbduncan:clean-up-and-immutability","ref":"clean-up-and-immutability","sha":"5822313edf9478fe89cf9eb7a59a90f20a361018","user":{"login":"jbduncan","id":2482228,"avatar_url":"https://avatars1.githubusercontent.com/u/2482228?v=3","gravatar_id":"","url":"https://api.github.com/users/jbduncan","html_url":"https://github.com/jbduncan","followers_url":"https://api.github.com/users/jbduncan/followers","following_url":"https://api.github.com/users/jbduncan/following{/other_user}","gists_url":"https://api.github.com/users/jbduncan/gists{/gist_id}","starred_url":"https://api.github.com/users/jbduncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbduncan/subscriptions","organizations_url":"https://api.github.com/users/jbduncan/orgs","repos_url":"https://api.github.com/users/jbduncan/repos","events_url":"https://api.github.com/users/jbduncan/events{/privacy}","received_events_url":"https://api.github.com/users/jbduncan/received_events","type":"User","site_admin":false},"repo":{"id":60414723,"name":"junit5","full_name":"jbduncan/junit5","owner":{"login":"jbduncan","id":2482228,"avatar_url":"https://avatars1.githubusercontent.com/u/2482228?v=3","gravatar_id":"","url":"https://api.github.com/users/jbduncan","html_url":"https://github.com/jbduncan","followers_url":"https://api.github.com/users/jbduncan/followers","following_url":"https://api.github.com/users/jbduncan/following{/other_user}","gists_url":"https://api.github.com/users/jbduncan/gists{/gist_id}","starred_url":"https://api.github.com/users/jbduncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbduncan/subscriptions","organizations_url":"https://api.github.com/users/jbduncan/orgs","repos_url":"https://api.github.com/users/jbduncan/repos","events_url":"https://api.github.com/users/jbduncan/events{/privacy}","received_events_url":"https://api.github.com/users/jbduncan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jbduncan/junit5","description":"The next generation of JUnit.","fork":true,"url":"https://api.github.com/repos/jbduncan/junit5","forks_url":"https://api.github.com/repos/jbduncan/junit5/forks","keys_url":"https://api.github.com/repos/jbduncan/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jbduncan/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jbduncan/junit5/teams","hooks_url":"https://api.github.com/repos/jbduncan/junit5/hooks","issue_events_url":"https://api.github.com/repos/jbduncan/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/jbduncan/junit5/events","assignees_url":"https://api.github.com/repos/jbduncan/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/jbduncan/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/jbduncan/junit5/tags","blobs_url":"https://api.github.com/repos/jbduncan/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jbduncan/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jbduncan/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/jbduncan/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jbduncan/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/jbduncan/junit5/languages","stargazers_url":"https://api.github.com/repos/jbduncan/junit5/stargazers","contributors_url":"https://api.github.com/repos/jbduncan/junit5/contributors","subscribers_url":"https://api.github.com/repos/jbduncan/junit5/subscribers","subscription_url":"https://api.github.com/repos/jbduncan/junit5/subscription","commits_url":"https://api.github.com/repos/jbduncan/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/jbduncan/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/jbduncan/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/jbduncan/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/jbduncan/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/jbduncan/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jbduncan/junit5/merges","archive_url":"https://api.github.com/repos/jbduncan/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jbduncan/junit5/downloads","issues_url":"https://api.github.com/repos/jbduncan/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/jbduncan/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/jbduncan/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/jbduncan/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jbduncan/junit5/labels{/name}","releases_url":"https://api.github.com/repos/jbduncan/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/jbduncan/junit5/deployments","created_at":"2016-06-04T14:41:29Z","updated_at":"2016-06-04T14:41:31Z","pushed_at":"2017-03-07T22:41:54Z","git_url":"git://github.com/jbduncan/junit5.git","ssh_url":"git@github.com:jbduncan/junit5.git","clone_url":"https://github.com/jbduncan/junit5.git","svn_url":"https://github.com/jbduncan/junit5","homepage":"http://junit.org/junit5/","size":8326,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"junit-team:master","ref":"master","sha":"3699324e0e71d2c9a5039a4459c0887ce596db4a","user":{"login":"junit-team","id":874086,"avatar_url":"https://avatars2.githubusercontent.com/u/874086?v=3","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"repo":{"id":29102367,"name":"junit5","full_name":"junit-team/junit5","owner":{"login":"junit-team","id":874086,"avatar_url":"https://avatars2.githubusercontent.com/u/874086?v=3","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/junit-team/junit5","description":"The next generation of JUnit.","fork":false,"url":"https://api.github.com/repos/junit-team/junit5","forks_url":"https://api.github.com/repos/junit-team/junit5/forks","keys_url":"https://api.github.com/repos/junit-team/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/junit-team/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/junit-team/junit5/teams","hooks_url":"https://api.github.com/repos/junit-team/junit5/hooks","issue_events_url":"https://api.github.com/repos/junit-team/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/junit-team/junit5/events","assignees_url":"https://api.github.com/repos/junit-team/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/junit-team/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/junit-team/junit5/tags","blobs_url":"https://api.github.com/repos/junit-team/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/junit-team/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/junit-team/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/junit-team/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/junit-team/junit5/languages","stargazers_url":"https://api.github.com/repos/junit-team/junit5/stargazers","contributors_url":"https://api.github.com/repos/junit-team/junit5/contributors","subscribers_url":"https://api.github.com/repos/junit-team/junit5/subscribers","subscription_url":"https://api.github.com/repos/junit-team/junit5/subscription","commits_url":"https://api.github.com/repos/junit-team/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/junit-team/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/junit-team/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/junit-team/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/junit-team/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/junit-team/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/junit-team/junit5/merges","archive_url":"https://api.github.com/repos/junit-team/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/junit-team/junit5/downloads","issues_url":"https://api.github.com/repos/junit-team/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/junit-team/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/junit-team/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/junit-team/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/junit-team/junit5/labels{/name}","releases_url":"https://api.github.com/repos/junit-team/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/junit-team/junit5/deployments","created_at":"2015-01-11T19:06:10Z","updated_at":"2017-03-07T08:49:22Z","pushed_at":"2017-03-07T22:41:55Z","git_url":"git://github.com/junit-team/junit5.git","ssh_url":"git@github.com:junit-team/junit5.git","clone_url":"https://github.com/junit-team/junit5.git","svn_url":"https://github.com/junit-team/junit5","homepage":"http://junit.org/junit5/","size":99601,"stargazers_count":879,"watchers_count":879,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":217,"mirror_url":null,"open_issues_count":118,"forks":217,"open_issues":118,"watchers":879,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/705"},"html":{"href":"https://github.com/junit-team/junit5/pull/705"},"issue":{"href":"https://api.github.com/repos/junit-team/junit5/issues/705"},"comments":{"href":"https://api.github.com/repos/junit-team/junit5/issues/705/comments"},"review_comments":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/705/comments"},"review_comment":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/705/commits"},"statuses":{"href":"https://api.github.com/repos/junit-team/junit5/statuses/5822313edf9478fe89cf9eb7a59a90f20a361018"}}}}
{"actor":{"display_login":"sormuras"}}