{"action":"created","issue":{"url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/4712","labels_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/4712/labels{/name}","comments_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/4712/comments","events_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/4712/events","html_url":"https://github.com/DynamoDS/Dynamo/pull/4712","id":88555439,"number":4712,"title":"running Dynamo from command line and tests","user":{"login":"holyjewsus","id":508936,"avatar_url":"https://avatars.githubusercontent.com/u/508936?v=3","gravatar_id":"","url":"https://api.github.com/users/holyjewsus","html_url":"https://github.com/holyjewsus","followers_url":"https://api.github.com/users/holyjewsus/followers","following_url":"https://api.github.com/users/holyjewsus/following{/other_user}","gists_url":"https://api.github.com/users/holyjewsus/gists{/gist_id}","starred_url":"https://api.github.com/users/holyjewsus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holyjewsus/subscriptions","organizations_url":"https://api.github.com/users/holyjewsus/orgs","repos_url":"https://api.github.com/users/holyjewsus/repos","events_url":"https://api.github.com/users/holyjewsus/events{/privacy}","received_events_url":"https://api.github.com/users/holyjewsus/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/DynamoDS/Dynamo/labels/Requires%20Changes","name":"Requires Changes","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"holyjewsus","id":508936,"avatar_url":"https://avatars.githubusercontent.com/u/508936?v=3","gravatar_id":"","url":"https://api.github.com/users/holyjewsus","html_url":"https://github.com/holyjewsus","followers_url":"https://api.github.com/users/holyjewsus/followers","following_url":"https://api.github.com/users/holyjewsus/following{/other_user}","gists_url":"https://api.github.com/users/holyjewsus/gists{/gist_id}","starred_url":"https://api.github.com/users/holyjewsus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holyjewsus/subscriptions","organizations_url":"https://api.github.com/users/holyjewsus/orgs","repos_url":"https://api.github.com/users/holyjewsus/repos","events_url":"https://api.github.com/users/holyjewsus/events{/privacy}","received_events_url":"https://api.github.com/users/holyjewsus/received_events","type":"User","site_admin":false},"milestone":null,"comments":7,"created_at":"2015-06-15T22:20:10Z","updated_at":"2015-06-30T16:48:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/DynamoDS/Dynamo/pulls/4712","html_url":"https://github.com/DynamoDS/Dynamo/pull/4712","diff_url":"https://github.com/DynamoDS/Dynamo/pull/4712.diff","patch_url":"https://github.com/DynamoDS/Dynamo/pull/4712.patch"},"body":"### Purpose\r\n\r\nThis PR modifies Program.CS and adds a series of command flags that let a user automate the running of dynamo graphs and the setting of the graph to preset states.\r\n\r\nI've modified this PR according to comments below.\r\n* commandLineArguments parsing is now handled by NDesk.Options which we are already include in our repo and which handles / and - command line flags\r\n*  Startup logic, model creation, preloading methods, and locale setting is now handled in Dynamo.Applications namespace\r\n* Dynamo Sandbox and DynamoCLI both reference DynamoApplications to handle these startup activities.\r\n* I've added DynamoCLI and DynamoApplications to the Mono.2013 solution and tested DynamoCLI on mac (it requires being run as sudo as it might create user folders to hold settings)\r\n\r\nplease see this proposed documentation for more info on available flags:\r\nhttps://github.com/holyjewsus/Dynamo/wiki/Proposed-Command-Line-Documentation\r\n\r\nsee a video here:\r\nhttps://www.dropbox.com/s/3k54qg4udbdmaqz/command%20line%20restorestate.mov?dl=0\r\n\r\n### Impact assessment\r\n\r\n- [x] Changes the way 3rd party nodes work (Add ikeough to the reviewer list)\r\n- [x] Affects which components of the system depends on which other components (Add pboyer to the reviewer list)\r\n\r\n* Link to communications doc (same doc as above): https://github.com/holyjewsus/Dynamo/wiki/Proposed-Command-Line-Documentation\r\n\r\n#### Testing strategy\r\n\r\nthe commandLineRunner class separates out of program.cs the logic for invoking run operations on a DynamoModel, via an array of arguments. There are a basic tests in this PR that check each command flag and run the DynamoTestModelBase model with the command line runner.\r\n\r\nThere are also tests that invoke the main method of the DynamoCLI with the command line runner class.\r\n\r\n### Reviewers\r\n\r\n@ikeough \r\n@pboyer \r\n\r\n### FYIs\r\n\r\n@jnealb \r\n@Benglin "},"comment":{"url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/comments/117251926","html_url":"https://github.com/DynamoDS/Dynamo/pull/4712#issuecomment-117251926","issue_url":"https://api.github.com/repos/DynamoDS/Dynamo/issues/4712","id":117251926,"user":{"login":"ikeough","id":1139788,"avatar_url":"https://avatars.githubusercontent.com/u/1139788?v=3","gravatar_id":"","url":"https://api.github.com/users/ikeough","html_url":"https://github.com/ikeough","followers_url":"https://api.github.com/users/ikeough/followers","following_url":"https://api.github.com/users/ikeough/following{/other_user}","gists_url":"https://api.github.com/users/ikeough/gists{/gist_id}","starred_url":"https://api.github.com/users/ikeough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikeough/subscriptions","organizations_url":"https://api.github.com/users/ikeough/orgs","repos_url":"https://api.github.com/users/ikeough/repos","events_url":"https://api.github.com/users/ikeough/events{/privacy}","received_events_url":"https://api.github.com/users/ikeough/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T16:48:05Z","updated_at":"2015-06-30T16:48:05Z","body":"@holyjewsus Lots of comments. Sorry for the back and forth. But you're changing the way that the application is created :), so it's worth being overly thorough."}}