{"action":"created","comment":{"url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments/228712961","pull_request_review_id":169055121,"id":228712961,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODcxMjk2MQ==","diff_hunk":"@@ -259,206 +151,85 @@ public static void main(String... args) throws IOException {\n     }\n \n     /**\n-     * Parses and executes Checkstyle based on passed arguments.\n-     * @param args\n-     *        command line parameters\n-     * @return parsed information about passed parameters\n-     * @throws ParseException\n-     *         when passed arguments are not valid\n-     */\n-    private static CommandLine parseCli(String... args)\n-            throws ParseException {\n-        // parse the parameters\n-        final CommandLineParser clp = new DefaultParser();\n-        // always returns not null value\n-        return clp.parse(buildOptions(), args);\n-    }\n-\n-    /**\n-     * Gets the list of exclusions provided through the command line argument.\n-     * @param commandLine command line object\n-     * @return List of exclusion patterns.\n+     * Validates the user input and returns {@value EXIT_WITH_INVALID_USER_INPUT_CODE} if\n+     * invalid, otherwise executes CheckStyle and returns the number of violations.\n+     * @param parseResult generic access to options and parameters found on the command line\n+     * @param options encapsulates options and parameters specified on the command line\n+     * @return number of violations\n+     * @throws IOException if a file could not be read.\n+     * @throws CheckstyleException if something happens processing the files.\n+     * @noinspection UseOfSystemOutOrSystemErr\n      */\n-    private static List<Pattern> getExclusions(CommandLine commandLine) {\n-        final List<Pattern> result = new ArrayList<>();\n-\n-        if (commandLine.hasOption(OPTION_E_NAME)) {\n-            for (String value : commandLine.getOptionValues(OPTION_E_NAME)) {\n-                result.add(Pattern.compile(\"^\" + Pattern.quote(new File(value).getAbsolutePath())\n-                        + \"$\"));\n-            }\n-        }\n-        if (commandLine.hasOption(OPTION_X_NAME)) {\n-            for (String value : commandLine.getOptionValues(OPTION_X_NAME)) {\n-                result.add(Pattern.compile(value));\n-            }\n-        }\n-\n-        return result;\n-    }\n+    private static int execute(ParseResult parseResult, CliOptions options)\n+            throws IOException, CheckstyleException {\n \n-    /**\n-     * Do validation of Command line options.\n-     * @param cmdLine command line object\n-     * @param filesToProcess List of files to process found from the command line.\n-     * @return list of violations\n-     */\n-    // -@cs[CyclomaticComplexity] Breaking apart will damage encapsulation\n-    private static List<String> validateCli(CommandLine cmdLine, List<File> filesToProcess) {\n-        final List<String> result = new ArrayList<>();\n-\n-        if (filesToProcess.isEmpty()) {\n-            result.add(\"Files to process must be specified, found 0.\");\n-        }\n-        // ensure there is no conflicting options\n-        else if (cmdLine.hasOption(OPTION_T_NAME) || cmdLine.hasOption(OPTION_CAPITAL_T_NAME)\n-                || cmdLine.hasOption(OPTION_J_NAME) || cmdLine.hasOption(OPTION_CAPITAL_J_NAME)) {\n-            if (cmdLine.hasOption(OPTION_S_NAME) || cmdLine.hasOption(OPTION_C_NAME)\n-                    || cmdLine.hasOption(OPTION_P_NAME) || cmdLine.hasOption(OPTION_F_NAME)\n-                    || cmdLine.hasOption(OPTION_O_NAME)) {\n-                result.add(\"Option '-t' cannot be used with other options.\");\n-            }\n-            else if (filesToProcess.size() > 1) {\n-                result.add(\"Printing AST is allowed for only one file.\");\n-            }\n-        }\n-        else if (cmdLine.hasOption(OPTION_S_NAME)) {\n-            if (cmdLine.hasOption(OPTION_C_NAME) || cmdLine.hasOption(OPTION_P_NAME)\n-                    || cmdLine.hasOption(OPTION_F_NAME) || cmdLine.hasOption(OPTION_O_NAME)) {\n-                result.add(\"Option '-s' cannot be used with other options.\");\n-            }\n-            else if (filesToProcess.size() > 1) {\n-                result.add(\"Printing xpath suppressions is allowed for only one file.\");\n-            }\n-        }\n-        // ensure a configuration file is specified\n-        else if (cmdLine.hasOption(OPTION_C_NAME)) {\n-            final String configLocation = cmdLine.getOptionValue(OPTION_C_NAME);\n-            try {\n-                // test location only\n-                CommonUtil.getUriByFilename(configLocation);\n-            }\n-            catch (CheckstyleException ignored) {\n-                result.add(String.format(\"Could not find config XML file '%s'.\", configLocation));\n-            }\n+        final int exitStatus;\n \n-            // validate optional parameters\n-            if (cmdLine.hasOption(OPTION_F_NAME)) {\n-                final String format = cmdLine.getOptionValue(OPTION_F_NAME);\n-                if (!PLAIN_FORMAT_NAME.equals(format) && !XML_FORMAT_NAME.equals(format)) {\n-                    result.add(String.format(\"Invalid output format.\"\n-                            + \" Found '%s' but expected '%s' or '%s'.\",\n-                            format, PLAIN_FORMAT_NAME, XML_FORMAT_NAME));\n-                }\n-            }\n-            if (cmdLine.hasOption(OPTION_P_NAME)) {\n-                final String propertiesLocation = cmdLine.getOptionValue(OPTION_P_NAME);\n-                final File file = new File(propertiesLocation);\n-                if (!file.exists()) {\n-                    result.add(String.format(\"Could not find file '%s'.\", propertiesLocation));\n-                }\n-            }\n-            verifyThreadsNumberParameter(cmdLine, result, OPTION_CAPITAL_C_NAME,\n-                \"Checker threads number must be greater than zero\",\n-                \"Invalid Checker threads number\");\n-            verifyThreadsNumberParameter(cmdLine, result, OPTION_CAPITAL_W_NAME,\n-                \"TreeWalker threads number must be greater than zero\",\n-                \"Invalid TreeWalker threads number\");\n+        // return error if something is wrong in arguments\n+        final List<File> filesToProcess = getFilesToProcess(options);","path":"src/main/java/com/puppycrawl/tools/checkstyle/Main.java","position":381,"original_position":381,"commit_id":"ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86","original_commit_id":"ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86","user":{"login":"romani","id":812984,"node_id":"MDQ6VXNlcjgxMjk4NA==","avatar_url":"https://avatars3.githubusercontent.com/u/812984?v=4","gravatar_id":"","url":"https://api.github.com/users/romani","html_url":"https://github.com/romani","followers_url":"https://api.github.com/users/romani/followers","following_url":"https://api.github.com/users/romani/following{/other_user}","gists_url":"https://api.github.com/users/romani/gists{/gist_id}","starred_url":"https://api.github.com/users/romani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/romani/subscriptions","organizations_url":"https://api.github.com/users/romani/orgs","repos_url":"https://api.github.com/users/romani/repos","events_url":"https://api.github.com/users/romani/events{/privacy}","received_events_url":"https://api.github.com/users/romani/received_events","type":"User","site_admin":false},"body":"getFilesToProcess need to be moved right after `execute`, to let read code as text by simply scrolling from to bottom.\r\nthe same problem is with getVersionString, just need to be moved to be right after `main`.\r\n\r\n\r\n\r\nplease do not be shocked, but we do really care about this :)\r\nOne day it will be completely automated, for now we did only half of way to this target.\r\n\r\nHere is diagrams to help see it visually:\r\nhttps://methods-distance.herokuapp.com/dsm?source_url=https://raw.githubusercontent.com/checkstyle/checkstyle/ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86/src/main/java/com/puppycrawl/tools/checkstyle/JavadocPropertiesGenerator.java\r\nhttps://methods-distance.herokuapp.com/dsm?source_url=https://raw.githubusercontent.com/checkstyle/checkstyle/ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86/src/main/java/com/puppycrawl/tools/checkstyle/Main.java\r\n\r\nfirst link - all is fine.\r\nsecond link show a problem, minor problem.\r\n\r\nSorry that we are so fanatic about easy to read code.\r\n ","created_at":"2018-10-27T13:26:31Z","updated_at":"2018-10-27T13:35:40Z","html_url":"https://github.com/checkstyle/checkstyle/pull/6126#discussion_r228712961","pull_request_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments/228712961"},"html":{"href":"https://github.com/checkstyle/checkstyle/pull/6126#discussion_r228712961"},"pull_request":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126"}}},"pull_request":{"url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126","id":216943470,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2OTQzNDcw","html_url":"https://github.com/checkstyle/checkstyle/pull/6126","diff_url":"https://github.com/checkstyle/checkstyle/pull/6126.diff","patch_url":"https://github.com/checkstyle/checkstyle/pull/6126.patch","issue_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/6126","number":6126,"state":"open","locked":false,"title":"Issue #6068: migrate to picocli command line parser from Commons CLI","user":{"login":"remkop","id":5917763,"node_id":"MDQ6VXNlcjU5MTc3NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/5917763?v=4","gravatar_id":"","url":"https://api.github.com/users/remkop","html_url":"https://github.com/remkop","followers_url":"https://api.github.com/users/remkop/followers","following_url":"https://api.github.com/users/remkop/following{/other_user}","gists_url":"https://api.github.com/users/remkop/gists{/gist_id}","starred_url":"https://api.github.com/users/remkop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remkop/subscriptions","organizations_url":"https://api.github.com/users/remkop/orgs","repos_url":"https://api.github.com/users/remkop/repos","events_url":"https://api.github.com/users/remkop/events{/privacy}","received_events_url":"https://api.github.com/users/remkop/received_events","type":"User","site_admin":false},"body":"Issue #6068: migrate to picocli command line parser from Commons CLI\r\n\r\nThis PR replaces #6082.\r\n\r\nSorry it took so long. It was harder than I thought to get all the tests and checks to pass. :-)","created_at":"2018-09-20T11:52:37Z","updated_at":"2018-10-27T13:35:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"70b3fafdf88417a07ad78c25cd926ccae8450c07","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126/commits","review_comments_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126/comments","review_comment_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/6126/comments","statuses_url":"https://api.github.com/repos/checkstyle/checkstyle/statuses/ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86","head":{"label":"remkop:#6068-v2-picocli-cli-parser","ref":"#6068-v2-picocli-cli-parser","sha":"ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86","user":{"login":"remkop","id":5917763,"node_id":"MDQ6VXNlcjU5MTc3NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/5917763?v=4","gravatar_id":"","url":"https://api.github.com/users/remkop","html_url":"https://github.com/remkop","followers_url":"https://api.github.com/users/remkop/followers","following_url":"https://api.github.com/users/remkop/following{/other_user}","gists_url":"https://api.github.com/users/remkop/gists{/gist_id}","starred_url":"https://api.github.com/users/remkop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remkop/subscriptions","organizations_url":"https://api.github.com/users/remkop/orgs","repos_url":"https://api.github.com/users/remkop/repos","events_url":"https://api.github.com/users/remkop/events{/privacy}","received_events_url":"https://api.github.com/users/remkop/received_events","type":"User","site_admin":false},"repo":{"id":131565755,"node_id":"MDEwOlJlcG9zaXRvcnkxMzE1NjU3NTU=","name":"checkstyle","full_name":"remkop/checkstyle","private":false,"owner":{"login":"remkop","id":5917763,"node_id":"MDQ6VXNlcjU5MTc3NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/5917763?v=4","gravatar_id":"","url":"https://api.github.com/users/remkop","html_url":"https://github.com/remkop","followers_url":"https://api.github.com/users/remkop/followers","following_url":"https://api.github.com/users/remkop/following{/other_user}","gists_url":"https://api.github.com/users/remkop/gists{/gist_id}","starred_url":"https://api.github.com/users/remkop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remkop/subscriptions","organizations_url":"https://api.github.com/users/remkop/orgs","repos_url":"https://api.github.com/users/remkop/repos","events_url":"https://api.github.com/users/remkop/events{/privacy}","received_events_url":"https://api.github.com/users/remkop/received_events","type":"User","site_admin":false},"html_url":"https://github.com/remkop/checkstyle","description":"Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.","fork":true,"url":"https://api.github.com/repos/remkop/checkstyle","forks_url":"https://api.github.com/repos/remkop/checkstyle/forks","keys_url":"https://api.github.com/repos/remkop/checkstyle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/remkop/checkstyle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/remkop/checkstyle/teams","hooks_url":"https://api.github.com/repos/remkop/checkstyle/hooks","issue_events_url":"https://api.github.com/repos/remkop/checkstyle/issues/events{/number}","events_url":"https://api.github.com/repos/remkop/checkstyle/events","assignees_url":"https://api.github.com/repos/remkop/checkstyle/assignees{/user}","branches_url":"https://api.github.com/repos/remkop/checkstyle/branches{/branch}","tags_url":"https://api.github.com/repos/remkop/checkstyle/tags","blobs_url":"https://api.github.com/repos/remkop/checkstyle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/remkop/checkstyle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/remkop/checkstyle/git/refs{/sha}","trees_url":"https://api.github.com/repos/remkop/checkstyle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/remkop/checkstyle/statuses/{sha}","languages_url":"https://api.github.com/repos/remkop/checkstyle/languages","stargazers_url":"https://api.github.com/repos/remkop/checkstyle/stargazers","contributors_url":"https://api.github.com/repos/remkop/checkstyle/contributors","subscribers_url":"https://api.github.com/repos/remkop/checkstyle/subscribers","subscription_url":"https://api.github.com/repos/remkop/checkstyle/subscription","commits_url":"https://api.github.com/repos/remkop/checkstyle/commits{/sha}","git_commits_url":"https://api.github.com/repos/remkop/checkstyle/git/commits{/sha}","comments_url":"https://api.github.com/repos/remkop/checkstyle/comments{/number}","issue_comment_url":"https://api.github.com/repos/remkop/checkstyle/issues/comments{/number}","contents_url":"https://api.github.com/repos/remkop/checkstyle/contents/{+path}","compare_url":"https://api.github.com/repos/remkop/checkstyle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/remkop/checkstyle/merges","archive_url":"https://api.github.com/repos/remkop/checkstyle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/remkop/checkstyle/downloads","issues_url":"https://api.github.com/repos/remkop/checkstyle/issues{/number}","pulls_url":"https://api.github.com/repos/remkop/checkstyle/pulls{/number}","milestones_url":"https://api.github.com/repos/remkop/checkstyle/milestones{/number}","notifications_url":"https://api.github.com/repos/remkop/checkstyle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/remkop/checkstyle/labels{/name}","releases_url":"https://api.github.com/repos/remkop/checkstyle/releases{/id}","deployments_url":"https://api.github.com/repos/remkop/checkstyle/deployments","created_at":"2018-04-30T07:06:13Z","updated_at":"2018-09-20T11:47:44Z","pushed_at":"2018-10-23T13:00:16Z","git_url":"git://github.com/remkop/checkstyle.git","ssh_url":"git@github.com:remkop/checkstyle.git","clone_url":"https://github.com/remkop/checkstyle.git","svn_url":"https://github.com/remkop/checkstyle","homepage":"http://checkstyle.sourceforge.net/","size":59351,"stargazers_count":0,"watchers_count":0,"language":"Java","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":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"checkstyle:master","ref":"master","sha":"51ca8e3d82f854ee85ddd1ac127473b7203f99ca","user":{"login":"checkstyle","id":5179750,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxNzk3NTA=","avatar_url":"https://avatars0.githubusercontent.com/u/5179750?v=4","gravatar_id":"","url":"https://api.github.com/users/checkstyle","html_url":"https://github.com/checkstyle","followers_url":"https://api.github.com/users/checkstyle/followers","following_url":"https://api.github.com/users/checkstyle/following{/other_user}","gists_url":"https://api.github.com/users/checkstyle/gists{/gist_id}","starred_url":"https://api.github.com/users/checkstyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/checkstyle/subscriptions","organizations_url":"https://api.github.com/users/checkstyle/orgs","repos_url":"https://api.github.com/users/checkstyle/repos","events_url":"https://api.github.com/users/checkstyle/events{/privacy}","received_events_url":"https://api.github.com/users/checkstyle/received_events","type":"Organization","site_admin":false},"repo":{"id":12499251,"node_id":"MDEwOlJlcG9zaXRvcnkxMjQ5OTI1MQ==","name":"checkstyle","full_name":"checkstyle/checkstyle","private":false,"owner":{"login":"checkstyle","id":5179750,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxNzk3NTA=","avatar_url":"https://avatars0.githubusercontent.com/u/5179750?v=4","gravatar_id":"","url":"https://api.github.com/users/checkstyle","html_url":"https://github.com/checkstyle","followers_url":"https://api.github.com/users/checkstyle/followers","following_url":"https://api.github.com/users/checkstyle/following{/other_user}","gists_url":"https://api.github.com/users/checkstyle/gists{/gist_id}","starred_url":"https://api.github.com/users/checkstyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/checkstyle/subscriptions","organizations_url":"https://api.github.com/users/checkstyle/orgs","repos_url":"https://api.github.com/users/checkstyle/repos","events_url":"https://api.github.com/users/checkstyle/events{/privacy}","received_events_url":"https://api.github.com/users/checkstyle/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/checkstyle/checkstyle","description":"Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.","fork":false,"url":"https://api.github.com/repos/checkstyle/checkstyle","forks_url":"https://api.github.com/repos/checkstyle/checkstyle/forks","keys_url":"https://api.github.com/repos/checkstyle/checkstyle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/checkstyle/checkstyle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/checkstyle/checkstyle/teams","hooks_url":"https://api.github.com/repos/checkstyle/checkstyle/hooks","issue_events_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/events{/number}","events_url":"https://api.github.com/repos/checkstyle/checkstyle/events","assignees_url":"https://api.github.com/repos/checkstyle/checkstyle/assignees{/user}","branches_url":"https://api.github.com/repos/checkstyle/checkstyle/branches{/branch}","tags_url":"https://api.github.com/repos/checkstyle/checkstyle/tags","blobs_url":"https://api.github.com/repos/checkstyle/checkstyle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/checkstyle/checkstyle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/checkstyle/checkstyle/git/refs{/sha}","trees_url":"https://api.github.com/repos/checkstyle/checkstyle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/checkstyle/checkstyle/statuses/{sha}","languages_url":"https://api.github.com/repos/checkstyle/checkstyle/languages","stargazers_url":"https://api.github.com/repos/checkstyle/checkstyle/stargazers","contributors_url":"https://api.github.com/repos/checkstyle/checkstyle/contributors","subscribers_url":"https://api.github.com/repos/checkstyle/checkstyle/subscribers","subscription_url":"https://api.github.com/repos/checkstyle/checkstyle/subscription","commits_url":"https://api.github.com/repos/checkstyle/checkstyle/commits{/sha}","git_commits_url":"https://api.github.com/repos/checkstyle/checkstyle/git/commits{/sha}","comments_url":"https://api.github.com/repos/checkstyle/checkstyle/comments{/number}","issue_comment_url":"https://api.github.com/repos/checkstyle/checkstyle/issues/comments{/number}","contents_url":"https://api.github.com/repos/checkstyle/checkstyle/contents/{+path}","compare_url":"https://api.github.com/repos/checkstyle/checkstyle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/checkstyle/checkstyle/merges","archive_url":"https://api.github.com/repos/checkstyle/checkstyle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/checkstyle/checkstyle/downloads","issues_url":"https://api.github.com/repos/checkstyle/checkstyle/issues{/number}","pulls_url":"https://api.github.com/repos/checkstyle/checkstyle/pulls{/number}","milestones_url":"https://api.github.com/repos/checkstyle/checkstyle/milestones{/number}","notifications_url":"https://api.github.com/repos/checkstyle/checkstyle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/checkstyle/checkstyle/labels{/name}","releases_url":"https://api.github.com/repos/checkstyle/checkstyle/releases{/id}","deployments_url":"https://api.github.com/repos/checkstyle/checkstyle/deployments","created_at":"2013-08-31T02:05:05Z","updated_at":"2018-10-27T05:19:20Z","pushed_at":"2018-10-27T05:19:20Z","git_url":"git://github.com/checkstyle/checkstyle.git","ssh_url":"git@github.com:checkstyle/checkstyle.git","clone_url":"https://github.com/checkstyle/checkstyle.git","svn_url":"https://github.com/checkstyle/checkstyle","homepage":"https://checkstyle.org/","size":59484,"stargazers_count":3969,"watchers_count":3969,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6645,"mirror_url":null,"archived":false,"open_issues_count":482,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":6645,"open_issues":482,"watchers":3969,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126"},"html":{"href":"https://github.com/checkstyle/checkstyle/pull/6126"},"issue":{"href":"https://api.github.com/repos/checkstyle/checkstyle/issues/6126"},"comments":{"href":"https://api.github.com/repos/checkstyle/checkstyle/issues/6126/comments"},"review_comments":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126/comments"},"review_comment":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/checkstyle/checkstyle/pulls/6126/commits"},"statuses":{"href":"https://api.github.com/repos/checkstyle/checkstyle/statuses/ea98b563e16b0c2bc09ee61d2824bdf0f1ea4a86"}},"author_association":"NONE"}}
{"actor":{"display_login":"romani"}}