{"action":"opened","issue":{"url":"https://api.github.com/repos/FundingCircle/fc4-framework/issues/105","repository_url":"https://api.github.com/repos/FundingCircle/fc4-framework","labels_url":"https://api.github.com/repos/FundingCircle/fc4-framework/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/FundingCircle/fc4-framework/issues/105/comments","events_url":"https://api.github.com/repos/FundingCircle/fc4-framework/issues/105/events","html_url":"https://github.com/FundingCircle/fc4-framework/issues/105","id":384526407,"node_id":"MDU6SXNzdWUzODQ1MjY0MDc=","number":105,"title":"Possible enhancement: bundle packaged renderer executable in uberjar","user":{"login":"aviflax","id":141844,"node_id":"MDQ6VXNlcjE0MTg0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/141844?v=4","gravatar_id":"","url":"https://api.github.com/users/aviflax","html_url":"https://github.com/aviflax","followers_url":"https://api.github.com/users/aviflax/followers","following_url":"https://api.github.com/users/aviflax/following{/other_user}","gists_url":"https://api.github.com/users/aviflax/gists{/gist_id}","starred_url":"https://api.github.com/users/aviflax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aviflax/subscriptions","organizations_url":"https://api.github.com/users/aviflax/orgs","repos_url":"https://api.github.com/users/aviflax/repos","events_url":"https://api.github.com/users/aviflax/events{/privacy}","received_events_url":"https://api.github.com/users/aviflax/received_events","type":"User","site_admin":false},"labels":[{"id":810330602,"node_id":"MDU6TGFiZWw4MTAzMzA2MDI=","url":"https://api.github.com/repos/FundingCircle/fc4-framework/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-26T21:53:20Z","updated_at":"2018-11-26T21:53:20Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Right now, the packaged renderer executable (with its embedded Node runtime courtesy of [pkg](https://github.com/zeit/pkg/)) is a discrete file in the distribution archive, and in order for the tool’s primary JVM program to invoke the renderer, the renderer must be in a directory in the user’s PATH environment variable. This is annoying and easy for users to miss; this might be one of the issues involved in #97.\r\n\r\nSo it might be worth considering to embed the renderer executable in the uberjar; the JVM program would have to extract it out to somewhere on the filesystem in order to invoke it (as per [this SO answer](https://stackoverflow.com/questions/600146/run-exe-which-is-packaged-inside-jar)), which wouldn’t be super-fast, but if we used a stable location then we’d only need to do it once, or every once in awhile (e.g. if we use a dir under `/tmp`).\r\n\r\nAnother potential option for addressing this PATH problem might be to have the JVM program figure out its own path (the path to the uberjar) and then look for the renderer in the same directory, invoking it directly if found."}}
{"actor":{"display_login":"aviflax"}}