{"action":"created","comment":{"url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/comments/183755138","pull_request_review_id":114813244,"id":183755138,"diff_hunk":"@@ -0,0 +1,229 @@\n+﻿using System;\n+using System.Collections;\n+using System.Collections.Generic;\n+using System.Linq;\n+using System.Xml;\n+using System.Threading;\n+using System.IO;\n+using DesignScript.Builtin;\n+using Dynamo.Models;\n+using Dynamo.Applications;\n+using Dynamo.Graph.Workspaces;\n+using Dynamo.ViewModels;\n+using Dynamo.Visualization;\n+using Newtonsoft.Json;\n+\n+namespace DynamoWPFCLI\n+{\n+    /// <summary>\n+    /// This class invokes a dynamo model's run methods in a headless mode from the CLI using a set of flags.\n+    /// This class also has a very limited method for exporting the graph evaluation to an xml file, so that \n+    /// the results from invoking dynamo from the command line are useable.\n+    /// </summary>\n+    public class CommandLineRunner","path":"src/DynamoWPFCLI/CommandLineRunner.cs","position":23,"original_position":23,"commit_id":"0bee032c6441ff71a80ba904d41a6b181eac31ec","original_commit_id":"0bee032c6441ff71a80ba904d41a6b181eac31ec","user":{"login":"mjkkirschner","id":508936,"avatar_url":"https://avatars3.githubusercontent.com/u/508936?v=4","gravatar_id":"","url":"https://api.github.com/users/mjkkirschner","html_url":"https://github.com/mjkkirschner","followers_url":"https://api.github.com/users/mjkkirschner/followers","following_url":"https://api.github.com/users/mjkkirschner/following{/other_user}","gists_url":"https://api.github.com/users/mjkkirschner/gists{/gist_id}","starred_url":"https://api.github.com/users/mjkkirschner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjkkirschner/subscriptions","organizations_url":"https://api.github.com/users/mjkkirschner/orgs","repos_url":"https://api.github.com/users/mjkkirschner/repos","events_url":"https://api.github.com/users/mjkkirschner/events{/privacy}","received_events_url":"https://api.github.com/users/mjkkirschner/received_events","type":"User","site_admin":false},"body":"doesn't it make sense for this to extend CommandLineRunner and override its methods - seems weird to have two classes with the same name in the solution.","created_at":"2018-04-24T14:35:47Z","updated_at":"2018-04-24T14:35:47Z","html_url":"https://github.com/DynamoDS/Dynamo/pull/8775#discussion_r183755138","pull_request_url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/comments/183755138"},"html":{"href":"https://github.com/DynamoDS/Dynamo/pull/8775#discussion_r183755138"},"pull_request":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775"}}},"pull_request":{"url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775","id":182852917,"html_url":"https://github.com/DynamoDS/Dynamo/pull/8775","diff_url":"https://github.com/DynamoDS/Dynamo/pull/8775.diff","patch_url":"https://github.com/DynamoDS/Dynamo/pull/8775.patch","issue_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/8775","number":8775,"state":"open","locked":false,"title":"QNTM-3841 Add geometry creation option to Dynamo CLI","user":{"login":"sm6srw","id":7033002,"avatar_url":"https://avatars2.githubusercontent.com/u/7033002?v=4","gravatar_id":"","url":"https://api.github.com/users/sm6srw","html_url":"https://github.com/sm6srw","followers_url":"https://api.github.com/users/sm6srw/followers","following_url":"https://api.github.com/users/sm6srw/following{/other_user}","gists_url":"https://api.github.com/users/sm6srw/gists{/gist_id}","starred_url":"https://api.github.com/users/sm6srw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sm6srw/subscriptions","organizations_url":"https://api.github.com/users/sm6srw/orgs","repos_url":"https://api.github.com/users/sm6srw/repos","events_url":"https://api.github.com/users/sm6srw/events{/privacy}","received_events_url":"https://api.github.com/users/sm6srw/received_events","type":"User","site_admin":false},"body":"### Purpose\r\n\r\nThis PR:\r\n* Add a new command line tool, DynamoWPFCLI, that uses DynamoViewModel.\r\n* Add a new command line option, /G, to Dynamo WPF CLI that generates a file in JSON format with the geometry.\r\n*  Updates the list of libraries that is pre-loaded for the CLI. We now pre-load the same libraries in the CLI as we do in the Sandbox. I can see no reason why the CLI should behave differently compared to Sandbox. It is very confusing that a graph that works in sandbox doesn't work in the CLI (and there is no feedback at all from the CLI when it happens) and the performance impact from adding a couple of more libraries is minimal.\r\n* The geometry format chosen is right now work in progress and will most likely change in the next couple of sprints.   \r\n* Unit test added.\r\n\r\n\r\n### Declarations\r\n\r\nCheck these if you believe they are true\r\n\r\n- [X] The code base is in a better state after this PR\r\n- [X] Is documented according to the [standards](https://github.com/DynamoDS/Dynamo/wiki/Coding-Standards)\r\n- [X] The level of testing this PR includes is appropriate\r\nN/A User facing strings, if any, are extracted into `*.resx` files\r\n- [X] All tests pass using the self-service CI.\r\nN/A Snapshot of UI changes, if any.\r\nN/A Changes to the API follow [Semantic Versioning](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-Versions), and are documented in the [API Changes](https://github.com/DynamoDS/Dynamo/wiki/API-Changes) document.\r\n\r\n### Reviewers\r\n\r\n@mjkkirschner @QilongTang \r\n\r\n### FYIs\r\n\r\n@saintentropy @Racel \r\n","created_at":"2018-04-19T17:57:01Z","updated_at":"2018-04-24T14:35:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"afd01adb67c07ea207659bf5dbcd204b7e9caa1f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775/commits","review_comments_url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775/comments","review_comment_url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/8775/comments","statuses_url":"https://api.github.com/repos/DynamoDS/Dynamo/statuses/0bee032c6441ff71a80ba904d41a6b181eac31ec","head":{"label":"sm6srw:QNTM-3841","ref":"QNTM-3841","sha":"0bee032c6441ff71a80ba904d41a6b181eac31ec","user":{"login":"sm6srw","id":7033002,"avatar_url":"https://avatars2.githubusercontent.com/u/7033002?v=4","gravatar_id":"","url":"https://api.github.com/users/sm6srw","html_url":"https://github.com/sm6srw","followers_url":"https://api.github.com/users/sm6srw/followers","following_url":"https://api.github.com/users/sm6srw/following{/other_user}","gists_url":"https://api.github.com/users/sm6srw/gists{/gist_id}","starred_url":"https://api.github.com/users/sm6srw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sm6srw/subscriptions","organizations_url":"https://api.github.com/users/sm6srw/orgs","repos_url":"https://api.github.com/users/sm6srw/repos","events_url":"https://api.github.com/users/sm6srw/events{/privacy}","received_events_url":"https://api.github.com/users/sm6srw/received_events","type":"User","site_admin":false},"repo":{"id":51018030,"name":"Dynamo","full_name":"sm6srw/Dynamo","owner":{"login":"sm6srw","id":7033002,"avatar_url":"https://avatars2.githubusercontent.com/u/7033002?v=4","gravatar_id":"","url":"https://api.github.com/users/sm6srw","html_url":"https://github.com/sm6srw","followers_url":"https://api.github.com/users/sm6srw/followers","following_url":"https://api.github.com/users/sm6srw/following{/other_user}","gists_url":"https://api.github.com/users/sm6srw/gists{/gist_id}","starred_url":"https://api.github.com/users/sm6srw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sm6srw/subscriptions","organizations_url":"https://api.github.com/users/sm6srw/orgs","repos_url":"https://api.github.com/users/sm6srw/repos","events_url":"https://api.github.com/users/sm6srw/events{/privacy}","received_events_url":"https://api.github.com/users/sm6srw/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sm6srw/Dynamo","description":"Visual Programming","fork":true,"url":"https://api.github.com/repos/sm6srw/Dynamo","forks_url":"https://api.github.com/repos/sm6srw/Dynamo/forks","keys_url":"https://api.github.com/repos/sm6srw/Dynamo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sm6srw/Dynamo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sm6srw/Dynamo/teams","hooks_url":"https://api.github.com/repos/sm6srw/Dynamo/hooks","issue_events_url":"https://api.github.com/repos/sm6srw/Dynamo/issues/events{/number}","events_url":"https://api.github.com/repos/sm6srw/Dynamo/events","assignees_url":"https://api.github.com/repos/sm6srw/Dynamo/assignees{/user}","branches_url":"https://api.github.com/repos/sm6srw/Dynamo/branches{/branch}","tags_url":"https://api.github.com/repos/sm6srw/Dynamo/tags","blobs_url":"https://api.github.com/repos/sm6srw/Dynamo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sm6srw/Dynamo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sm6srw/Dynamo/git/refs{/sha}","trees_url":"https://api.github.com/repos/sm6srw/Dynamo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sm6srw/Dynamo/statuses/{sha}","languages_url":"https://api.github.com/repos/sm6srw/Dynamo/languages","stargazers_url":"https://api.github.com/repos/sm6srw/Dynamo/stargazers","contributors_url":"https://api.github.com/repos/sm6srw/Dynamo/contributors","subscribers_url":"https://api.github.com/repos/sm6srw/Dynamo/subscribers","subscription_url":"https://api.github.com/repos/sm6srw/Dynamo/subscription","commits_url":"https://api.github.com/repos/sm6srw/Dynamo/commits{/sha}","git_commits_url":"https://api.github.com/repos/sm6srw/Dynamo/git/commits{/sha}","comments_url":"https://api.github.com/repos/sm6srw/Dynamo/comments{/number}","issue_comment_url":"https://api.github.com/repos/sm6srw/Dynamo/issues/comments{/number}","contents_url":"https://api.github.com/repos/sm6srw/Dynamo/contents/{+path}","compare_url":"https://api.github.com/repos/sm6srw/Dynamo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sm6srw/Dynamo/merges","archive_url":"https://api.github.com/repos/sm6srw/Dynamo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sm6srw/Dynamo/downloads","issues_url":"https://api.github.com/repos/sm6srw/Dynamo/issues{/number}","pulls_url":"https://api.github.com/repos/sm6srw/Dynamo/pulls{/number}","milestones_url":"https://api.github.com/repos/sm6srw/Dynamo/milestones{/number}","notifications_url":"https://api.github.com/repos/sm6srw/Dynamo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sm6srw/Dynamo/labels{/name}","releases_url":"https://api.github.com/repos/sm6srw/Dynamo/releases{/id}","deployments_url":"https://api.github.com/repos/sm6srw/Dynamo/deployments","created_at":"2016-02-03T17:41:35Z","updated_at":"2016-02-03T17:41:47Z","pushed_at":"2018-04-24T13:40:00Z","git_url":"git://github.com/sm6srw/Dynamo.git","ssh_url":"git@github.com:sm6srw/Dynamo.git","clone_url":"https://github.com/sm6srw/Dynamo.git","svn_url":"https://github.com/sm6srw/Dynamo","homepage":"http://dynamobim.org","size":1016776,"stargazers_count":0,"watchers_count":0,"language":"C#","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":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"DynamoDS:master","ref":"master","sha":"549d2572359e405924e027194a40bb8156dd835c","user":{"login":"DynamoDS","id":6528209,"avatar_url":"https://avatars3.githubusercontent.com/u/6528209?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamoDS","html_url":"https://github.com/DynamoDS","followers_url":"https://api.github.com/users/DynamoDS/followers","following_url":"https://api.github.com/users/DynamoDS/following{/other_user}","gists_url":"https://api.github.com/users/DynamoDS/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamoDS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamoDS/subscriptions","organizations_url":"https://api.github.com/users/DynamoDS/orgs","repos_url":"https://api.github.com/users/DynamoDS/repos","events_url":"https://api.github.com/users/DynamoDS/events{/privacy}","received_events_url":"https://api.github.com/users/DynamoDS/received_events","type":"Organization","site_admin":false},"repo":{"id":3395179,"name":"Dynamo","full_name":"DynamoDS/Dynamo","owner":{"login":"DynamoDS","id":6528209,"avatar_url":"https://avatars3.githubusercontent.com/u/6528209?v=4","gravatar_id":"","url":"https://api.github.com/users/DynamoDS","html_url":"https://github.com/DynamoDS","followers_url":"https://api.github.com/users/DynamoDS/followers","following_url":"https://api.github.com/users/DynamoDS/following{/other_user}","gists_url":"https://api.github.com/users/DynamoDS/gists{/gist_id}","starred_url":"https://api.github.com/users/DynamoDS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DynamoDS/subscriptions","organizations_url":"https://api.github.com/users/DynamoDS/orgs","repos_url":"https://api.github.com/users/DynamoDS/repos","events_url":"https://api.github.com/users/DynamoDS/events{/privacy}","received_events_url":"https://api.github.com/users/DynamoDS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DynamoDS/Dynamo","description":"Open Source Graphical Programming for Design","fork":false,"url":"https://api.github.com/repos/DynamoDS/Dynamo","forks_url":"https://api.github.com/repos/DynamoDS/Dynamo/forks","keys_url":"https://api.github.com/repos/DynamoDS/Dynamo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DynamoDS/Dynamo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DynamoDS/Dynamo/teams","hooks_url":"https://api.github.com/repos/DynamoDS/Dynamo/hooks","issue_events_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/events{/number}","events_url":"https://api.github.com/repos/DynamoDS/Dynamo/events","assignees_url":"https://api.github.com/repos/DynamoDS/Dynamo/assignees{/user}","branches_url":"https://api.github.com/repos/DynamoDS/Dynamo/branches{/branch}","tags_url":"https://api.github.com/repos/DynamoDS/Dynamo/tags","blobs_url":"https://api.github.com/repos/DynamoDS/Dynamo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DynamoDS/Dynamo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DynamoDS/Dynamo/git/refs{/sha}","trees_url":"https://api.github.com/repos/DynamoDS/Dynamo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DynamoDS/Dynamo/statuses/{sha}","languages_url":"https://api.github.com/repos/DynamoDS/Dynamo/languages","stargazers_url":"https://api.github.com/repos/DynamoDS/Dynamo/stargazers","contributors_url":"https://api.github.com/repos/DynamoDS/Dynamo/contributors","subscribers_url":"https://api.github.com/repos/DynamoDS/Dynamo/subscribers","subscription_url":"https://api.github.com/repos/DynamoDS/Dynamo/subscription","commits_url":"https://api.github.com/repos/DynamoDS/Dynamo/commits{/sha}","git_commits_url":"https://api.github.com/repos/DynamoDS/Dynamo/git/commits{/sha}","comments_url":"https://api.github.com/repos/DynamoDS/Dynamo/comments{/number}","issue_comment_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/comments{/number}","contents_url":"https://api.github.com/repos/DynamoDS/Dynamo/contents/{+path}","compare_url":"https://api.github.com/repos/DynamoDS/Dynamo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DynamoDS/Dynamo/merges","archive_url":"https://api.github.com/repos/DynamoDS/Dynamo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DynamoDS/Dynamo/downloads","issues_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues{/number}","pulls_url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls{/number}","milestones_url":"https://api.github.com/repos/DynamoDS/Dynamo/milestones{/number}","notifications_url":"https://api.github.com/repos/DynamoDS/Dynamo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DynamoDS/Dynamo/labels{/name}","releases_url":"https://api.github.com/repos/DynamoDS/Dynamo/releases{/id}","deployments_url":"https://api.github.com/repos/DynamoDS/Dynamo/deployments","created_at":"2012-02-09T07:35:33Z","updated_at":"2018-04-23T13:13:14Z","pushed_at":"2018-04-24T13:40:01Z","git_url":"git://github.com/DynamoDS/Dynamo.git","ssh_url":"git@github.com:DynamoDS/Dynamo.git","clone_url":"https://github.com/DynamoDS/Dynamo.git","svn_url":"https://github.com/DynamoDS/Dynamo","homepage":"http://dynamobim.org","size":1062448,"stargazers_count":575,"watchers_count":575,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":345,"mirror_url":null,"archived":false,"open_issues_count":642,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":345,"open_issues":642,"watchers":575,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775"},"html":{"href":"https://github.com/DynamoDS/Dynamo/pull/8775"},"issue":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/issues/8775"},"comments":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/issues/8775/comments"},"review_comments":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775/comments"},"review_comment":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/8775/commits"},"statuses":{"href":"https://api.github.com/repos/DynamoDS/Dynamo/statuses/0bee032c6441ff71a80ba904d41a6b181eac31ec"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mjkkirschner"}}