{"action":"created","comment":{"url":"https://api.github.com/repos/Workiva/dart_dev/pulls/comments/51129362","id":51129362,"diff_hunk":"@@ -0,0 +1,87 @@\n+// Copyright 2015 Workiva Inc.\n+//\n+// Licensed under the Apache License, Version 2.0 (the \"License\");\n+// you may not use this file except in compliance with the License.\n+// You may obtain a copy of the License at\n+//\n+//     http://www.apache.org/licenses/LICENSE-2.0\n+//\n+// Unless required by applicable law or agreed to in writing, software\n+// distributed under the License is distributed on an \"AS IS\" BASIS,\n+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+// See the License for the specific language governing permissions and\n+// limitations under the License.\n+\n+library dart_dev.src.tasks.gen_test_runner.cli;\n+\n+import 'dart:async';\n+import 'dart:io';\n+\n+import 'package:args/args.dart';\n+\n+import 'package:dart_dev/src/tasks/cli.dart';\n+import 'package:dart_dev/src/tasks/config.dart';\n+import 'package:dart_dev/src/tasks/gen_test_runner/api.dart';\n+import 'package:dart_dev/src/tasks/gen_test_runner/config.dart';\n+\n+class GenResultGroup {\n+  List<bool> passing = [];\n+  List<GenTestRunnerTask> tasks = [];\n+}\n+\n+class GenTestRunnerCli extends TaskCli {\n+  final ArgParser argParser = new ArgParser()\n+    ..addOption('config',\n+        help:\n+            'Configuration options should be performed in local dev.dart file');\n+\n+  final String command = 'gen-test-runner';\n+\n+  Future<CliResult> run(ArgResults parsedArgs) async {\n+    GenResultGroup results = new GenResultGroup();\n+\n+    for (var i = 0; i < config.genTestRunner.configs.length; i++) {\n+      SingleRunnerConfig currentConfig = config.genTestRunner.configs[i];","path":"lib/src/tasks/gen_test_runner/cli.dart","position":44,"original_position":44,"commit_id":"5ef4d0026cad6728b3d0e976b448434b8515ecdd","original_commit_id":"5ef4d0026cad6728b3d0e976b448434b8515ecdd","user":{"login":"jayudey-wf","id":4429043,"avatar_url":"https://avatars.githubusercontent.com/u/4429043?v=3","gravatar_id":"","url":"https://api.github.com/users/jayudey-wf","html_url":"https://github.com/jayudey-wf","followers_url":"https://api.github.com/users/jayudey-wf/followers","following_url":"https://api.github.com/users/jayudey-wf/following{/other_user}","gists_url":"https://api.github.com/users/jayudey-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/jayudey-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayudey-wf/subscriptions","organizations_url":"https://api.github.com/users/jayudey-wf/orgs","repos_url":"https://api.github.com/users/jayudey-wf/repos","events_url":"https://api.github.com/users/jayudey-wf/events{/privacy}","received_events_url":"https://api.github.com/users/jayudey-wf/received_events","type":"User","site_admin":false},"body":"i don't know if that would work in this sense because i'm iterating over the results of the tasks that were generated from the configs rather then the configs themselvs","created_at":"2016-01-28T14:36:53Z","updated_at":"2016-01-28T14:36:53Z","html_url":"https://github.com/Workiva/dart_dev/pull/124#discussion_r51129362","pull_request_url":"https://api.github.com/repos/Workiva/dart_dev/pulls/124","_links":{"self":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/comments/51129362"},"html":{"href":"https://github.com/Workiva/dart_dev/pull/124#discussion_r51129362"},"pull_request":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/124"}}},"pull_request":{"url":"https://api.github.com/repos/Workiva/dart_dev/pulls/124","id":57385586,"html_url":"https://github.com/Workiva/dart_dev/pull/124","diff_url":"https://github.com/Workiva/dart_dev/pull/124.diff","patch_url":"https://github.com/Workiva/dart_dev/pull/124.patch","issue_url":"https://api.github.com/repos/Workiva/dart_dev/issues/124","number":124,"state":"open","locked":false,"title":"Dart test runner generator","user":{"login":"jayudey-wf","id":4429043,"avatar_url":"https://avatars.githubusercontent.com/u/4429043?v=3","gravatar_id":"","url":"https://api.github.com/users/jayudey-wf","html_url":"https://github.com/jayudey-wf","followers_url":"https://api.github.com/users/jayudey-wf/followers","following_url":"https://api.github.com/users/jayudey-wf/following{/other_user}","gists_url":"https://api.github.com/users/jayudey-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/jayudey-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayudey-wf/subscriptions","organizations_url":"https://api.github.com/users/jayudey-wf/orgs","repos_url":"https://api.github.com/users/jayudey-wf/repos","events_url":"https://api.github.com/users/jayudey-wf/events{/privacy}","received_events_url":"https://api.github.com/users/jayudey-wf/received_events","type":"User","site_admin":false},"body":"## Issue\r\n- Several teams were creating test runners in different ways.  It would be nice to unify this approach across teams.\r\n\r\n## Changes\r\n**Source:**\r\n- Added dart_dev task to generate a test runner\r\n\r\n**Tests:**\r\n- added\r\n\r\n## Areas of Regression\r\n- n/a (failing smithy build from additional tests)\r\n\r\n## Testing\r\n- install into a project and ensure that runner is created as expected\r\n\r\n## Code Review\r\n@trentgrover-wf\r\n@maxwellpeterson-wf\r\n@evanweible-wf\r\n@dustinlessard-wf","created_at":"2016-01-27T16:35:11Z","updated_at":"2016-01-28T14:36:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4d8ef33833d37979397ce8953efe5cbd871ba404","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Workiva/dart_dev/pulls/124/commits","review_comments_url":"https://api.github.com/repos/Workiva/dart_dev/pulls/124/comments","review_comment_url":"https://api.github.com/repos/Workiva/dart_dev/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Workiva/dart_dev/issues/124/comments","statuses_url":"https://api.github.com/repos/Workiva/dart_dev/statuses/5ef4d0026cad6728b3d0e976b448434b8515ecdd","head":{"label":"jayudey-wf:runner_generator","ref":"runner_generator","sha":"5ef4d0026cad6728b3d0e976b448434b8515ecdd","user":{"login":"jayudey-wf","id":4429043,"avatar_url":"https://avatars.githubusercontent.com/u/4429043?v=3","gravatar_id":"","url":"https://api.github.com/users/jayudey-wf","html_url":"https://github.com/jayudey-wf","followers_url":"https://api.github.com/users/jayudey-wf/followers","following_url":"https://api.github.com/users/jayudey-wf/following{/other_user}","gists_url":"https://api.github.com/users/jayudey-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/jayudey-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayudey-wf/subscriptions","organizations_url":"https://api.github.com/users/jayudey-wf/orgs","repos_url":"https://api.github.com/users/jayudey-wf/repos","events_url":"https://api.github.com/users/jayudey-wf/events{/privacy}","received_events_url":"https://api.github.com/users/jayudey-wf/received_events","type":"User","site_admin":false},"repo":{"id":49677199,"name":"dart_dev","full_name":"jayudey-wf/dart_dev","owner":{"login":"jayudey-wf","id":4429043,"avatar_url":"https://avatars.githubusercontent.com/u/4429043?v=3","gravatar_id":"","url":"https://api.github.com/users/jayudey-wf","html_url":"https://github.com/jayudey-wf","followers_url":"https://api.github.com/users/jayudey-wf/followers","following_url":"https://api.github.com/users/jayudey-wf/following{/other_user}","gists_url":"https://api.github.com/users/jayudey-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/jayudey-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayudey-wf/subscriptions","organizations_url":"https://api.github.com/users/jayudey-wf/orgs","repos_url":"https://api.github.com/users/jayudey-wf/repos","events_url":"https://api.github.com/users/jayudey-wf/events{/privacy}","received_events_url":"https://api.github.com/users/jayudey-wf/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jayudey-wf/dart_dev","description":"","fork":true,"url":"https://api.github.com/repos/jayudey-wf/dart_dev","forks_url":"https://api.github.com/repos/jayudey-wf/dart_dev/forks","keys_url":"https://api.github.com/repos/jayudey-wf/dart_dev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jayudey-wf/dart_dev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jayudey-wf/dart_dev/teams","hooks_url":"https://api.github.com/repos/jayudey-wf/dart_dev/hooks","issue_events_url":"https://api.github.com/repos/jayudey-wf/dart_dev/issues/events{/number}","events_url":"https://api.github.com/repos/jayudey-wf/dart_dev/events","assignees_url":"https://api.github.com/repos/jayudey-wf/dart_dev/assignees{/user}","branches_url":"https://api.github.com/repos/jayudey-wf/dart_dev/branches{/branch}","tags_url":"https://api.github.com/repos/jayudey-wf/dart_dev/tags","blobs_url":"https://api.github.com/repos/jayudey-wf/dart_dev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jayudey-wf/dart_dev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jayudey-wf/dart_dev/git/refs{/sha}","trees_url":"https://api.github.com/repos/jayudey-wf/dart_dev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jayudey-wf/dart_dev/statuses/{sha}","languages_url":"https://api.github.com/repos/jayudey-wf/dart_dev/languages","stargazers_url":"https://api.github.com/repos/jayudey-wf/dart_dev/stargazers","contributors_url":"https://api.github.com/repos/jayudey-wf/dart_dev/contributors","subscribers_url":"https://api.github.com/repos/jayudey-wf/dart_dev/subscribers","subscription_url":"https://api.github.com/repos/jayudey-wf/dart_dev/subscription","commits_url":"https://api.github.com/repos/jayudey-wf/dart_dev/commits{/sha}","git_commits_url":"https://api.github.com/repos/jayudey-wf/dart_dev/git/commits{/sha}","comments_url":"https://api.github.com/repos/jayudey-wf/dart_dev/comments{/number}","issue_comment_url":"https://api.github.com/repos/jayudey-wf/dart_dev/issues/comments{/number}","contents_url":"https://api.github.com/repos/jayudey-wf/dart_dev/contents/{+path}","compare_url":"https://api.github.com/repos/jayudey-wf/dart_dev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jayudey-wf/dart_dev/merges","archive_url":"https://api.github.com/repos/jayudey-wf/dart_dev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jayudey-wf/dart_dev/downloads","issues_url":"https://api.github.com/repos/jayudey-wf/dart_dev/issues{/number}","pulls_url":"https://api.github.com/repos/jayudey-wf/dart_dev/pulls{/number}","milestones_url":"https://api.github.com/repos/jayudey-wf/dart_dev/milestones{/number}","notifications_url":"https://api.github.com/repos/jayudey-wf/dart_dev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jayudey-wf/dart_dev/labels{/name}","releases_url":"https://api.github.com/repos/jayudey-wf/dart_dev/releases{/id}","deployments_url":"https://api.github.com/repos/jayudey-wf/dart_dev/deployments","created_at":"2016-01-14T21:43:57Z","updated_at":"2016-01-14T21:43:58Z","pushed_at":"2016-01-27T15:29:52Z","git_url":"git://github.com/jayudey-wf/dart_dev.git","ssh_url":"git@github.com:jayudey-wf/dart_dev.git","clone_url":"https://github.com/jayudey-wf/dart_dev.git","svn_url":"https://github.com/jayudey-wf/dart_dev","homepage":null,"size":310,"stargazers_count":0,"watchers_count":0,"language":"Dart","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":"Workiva:master","ref":"master","sha":"7dea61c8ea2cd2d4d1cb041c440aa84692733a12","user":{"login":"Workiva","id":1087529,"avatar_url":"https://avatars.githubusercontent.com/u/1087529?v=3","gravatar_id":"","url":"https://api.github.com/users/Workiva","html_url":"https://github.com/Workiva","followers_url":"https://api.github.com/users/Workiva/followers","following_url":"https://api.github.com/users/Workiva/following{/other_user}","gists_url":"https://api.github.com/users/Workiva/gists{/gist_id}","starred_url":"https://api.github.com/users/Workiva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Workiva/subscriptions","organizations_url":"https://api.github.com/users/Workiva/orgs","repos_url":"https://api.github.com/users/Workiva/repos","events_url":"https://api.github.com/users/Workiva/events{/privacy}","received_events_url":"https://api.github.com/users/Workiva/received_events","type":"Organization","site_admin":false},"repo":{"id":37938617,"name":"dart_dev","full_name":"Workiva/dart_dev","owner":{"login":"Workiva","id":1087529,"avatar_url":"https://avatars.githubusercontent.com/u/1087529?v=3","gravatar_id":"","url":"https://api.github.com/users/Workiva","html_url":"https://github.com/Workiva","followers_url":"https://api.github.com/users/Workiva/followers","following_url":"https://api.github.com/users/Workiva/following{/other_user}","gists_url":"https://api.github.com/users/Workiva/gists{/gist_id}","starred_url":"https://api.github.com/users/Workiva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Workiva/subscriptions","organizations_url":"https://api.github.com/users/Workiva/orgs","repos_url":"https://api.github.com/users/Workiva/repos","events_url":"https://api.github.com/users/Workiva/events{/privacy}","received_events_url":"https://api.github.com/users/Workiva/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Workiva/dart_dev","description":"","fork":false,"url":"https://api.github.com/repos/Workiva/dart_dev","forks_url":"https://api.github.com/repos/Workiva/dart_dev/forks","keys_url":"https://api.github.com/repos/Workiva/dart_dev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Workiva/dart_dev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Workiva/dart_dev/teams","hooks_url":"https://api.github.com/repos/Workiva/dart_dev/hooks","issue_events_url":"https://api.github.com/repos/Workiva/dart_dev/issues/events{/number}","events_url":"https://api.github.com/repos/Workiva/dart_dev/events","assignees_url":"https://api.github.com/repos/Workiva/dart_dev/assignees{/user}","branches_url":"https://api.github.com/repos/Workiva/dart_dev/branches{/branch}","tags_url":"https://api.github.com/repos/Workiva/dart_dev/tags","blobs_url":"https://api.github.com/repos/Workiva/dart_dev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Workiva/dart_dev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Workiva/dart_dev/git/refs{/sha}","trees_url":"https://api.github.com/repos/Workiva/dart_dev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Workiva/dart_dev/statuses/{sha}","languages_url":"https://api.github.com/repos/Workiva/dart_dev/languages","stargazers_url":"https://api.github.com/repos/Workiva/dart_dev/stargazers","contributors_url":"https://api.github.com/repos/Workiva/dart_dev/contributors","subscribers_url":"https://api.github.com/repos/Workiva/dart_dev/subscribers","subscription_url":"https://api.github.com/repos/Workiva/dart_dev/subscription","commits_url":"https://api.github.com/repos/Workiva/dart_dev/commits{/sha}","git_commits_url":"https://api.github.com/repos/Workiva/dart_dev/git/commits{/sha}","comments_url":"https://api.github.com/repos/Workiva/dart_dev/comments{/number}","issue_comment_url":"https://api.github.com/repos/Workiva/dart_dev/issues/comments{/number}","contents_url":"https://api.github.com/repos/Workiva/dart_dev/contents/{+path}","compare_url":"https://api.github.com/repos/Workiva/dart_dev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Workiva/dart_dev/merges","archive_url":"https://api.github.com/repos/Workiva/dart_dev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Workiva/dart_dev/downloads","issues_url":"https://api.github.com/repos/Workiva/dart_dev/issues{/number}","pulls_url":"https://api.github.com/repos/Workiva/dart_dev/pulls{/number}","milestones_url":"https://api.github.com/repos/Workiva/dart_dev/milestones{/number}","notifications_url":"https://api.github.com/repos/Workiva/dart_dev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Workiva/dart_dev/labels{/name}","releases_url":"https://api.github.com/repos/Workiva/dart_dev/releases{/id}","deployments_url":"https://api.github.com/repos/Workiva/dart_dev/deployments","created_at":"2015-06-23T18:56:12Z","updated_at":"2016-01-19T23:46:39Z","pushed_at":"2016-01-27T16:35:11Z","git_url":"git://github.com/Workiva/dart_dev.git","ssh_url":"git@github.com:Workiva/dart_dev.git","clone_url":"https://github.com/Workiva/dart_dev.git","svn_url":"https://github.com/Workiva/dart_dev","homepage":null,"size":27751,"stargazers_count":22,"watchers_count":22,"language":"Dart","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":41,"forks":11,"open_issues":41,"watchers":22,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/124"},"html":{"href":"https://github.com/Workiva/dart_dev/pull/124"},"issue":{"href":"https://api.github.com/repos/Workiva/dart_dev/issues/124"},"comments":{"href":"https://api.github.com/repos/Workiva/dart_dev/issues/124/comments"},"review_comments":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/124/comments"},"review_comment":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Workiva/dart_dev/pulls/124/commits"},"statuses":{"href":"https://api.github.com/repos/Workiva/dart_dev/statuses/5ef4d0026cad6728b3d0e976b448434b8515ecdd"}}}}