{"action":"created","issue":{"url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/94","labels_url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/94/labels{/name}","comments_url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/94/comments","events_url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/94/events","html_url":"https://github.com/tunnelvisionlabs/antlr4cs/pull/94","id":53710958,"number":94,"title":"Support launching ANTLR as a standalone executable","user":{"login":"doucette","id":147199,"avatar_url":"https://avatars.githubusercontent.com/u/147199?v=3","gravatar_id":"","url":"https://api.github.com/users/doucette","html_url":"https://github.com/doucette","followers_url":"https://api.github.com/users/doucette/followers","following_url":"https://api.github.com/users/doucette/following{/other_user}","gists_url":"https://api.github.com/users/doucette/gists{/gist_id}","starred_url":"https://api.github.com/users/doucette/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/doucette/subscriptions","organizations_url":"https://api.github.com/users/doucette/orgs","repos_url":"https://api.github.com/users/doucette/repos","events_url":"https://api.github.com/users/doucette/events{/privacy}","received_events_url":"https://api.github.com/users/doucette/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-01-08T03:30:02Z","updated_at":"2015-06-02T06:21:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/pulls/94","html_url":"https://github.com/tunnelvisionlabs/antlr4cs/pull/94","diff_url":"https://github.com/tunnelvisionlabs/antlr4cs/pull/94.diff","patch_url":"https://github.com/tunnelvisionlabs/antlr4cs/pull/94.patch"},"body":"The default behavior should be unchanged. If ToolPath does not point to a JAR, however, we now assume it is a standalone executable and do not attempt to run it with Java.\r\n\r\nThe use case that inspired this change is using an IKVM.NET static conversion of ANTLR to avoid the need to have Java installed on every machine that will build the project. Without this change it is already possible to override JavaExecutable to point to ikvm.exe and thus use IKVM.NET in dynamic mode, but this runs much more slowly and requires distributing the rather large IKVM.NET with the project.\r\n\r\nIf you wanted to try out that specific use case, grab the latest build of IKVM.NET and run `ikvmc -target:exe -main:org.antlr.v4.CSharpTool antlr4-csharp-4.3-complete.jar` then edit Antlr4ToolLocation to point to the .exe generated by that command. Only four IKVM libraries are required to run the generated executable: Core, Text, Util, and Runtime."},"comment":{"url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/comments/107824262","html_url":"https://github.com/tunnelvisionlabs/antlr4cs/pull/94#issuecomment-107824262","issue_url":"https://api.github.com/repos/tunnelvisionlabs/antlr4cs/issues/94","id":107824262,"user":{"login":"ViceIce","id":1798109,"avatar_url":"https://avatars.githubusercontent.com/u/1798109?v=3","gravatar_id":"","url":"https://api.github.com/users/ViceIce","html_url":"https://github.com/ViceIce","followers_url":"https://api.github.com/users/ViceIce/followers","following_url":"https://api.github.com/users/ViceIce/following{/other_user}","gists_url":"https://api.github.com/users/ViceIce/gists{/gist_id}","starred_url":"https://api.github.com/users/ViceIce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ViceIce/subscriptions","organizations_url":"https://api.github.com/users/ViceIce/orgs","repos_url":"https://api.github.com/users/ViceIce/repos","events_url":"https://api.github.com/users/ViceIce/events{/privacy}","received_events_url":"https://api.github.com/users/ViceIce/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T06:21:44Z","updated_at":"2015-06-02T06:21:44Z","body":"I think we should pack the required assemblies directly and not reference [IKVM](https://www.nuget.org/packages/IKVM/) because we only need 5 libraries:\r\n\r\n- IKVM.OpenJDK.Core\r\n- IKVM.OpenJDK.Localedata\r\n- IKVM.OpenJDK.Text\r\n- IKVM.OpenJDK.Util\r\n- IKVM.Runtime\r\n\r\nFor CF we can compile the jar to an executable and run that from the msbuild task, so only net45 runtime has to be installed as dependency."}}