{"action":"created","issue":{"url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/17","repository_url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi","labels_url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/17/comments","events_url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/17/events","html_url":"https://github.com/tsvetan-stoyanov/launchpi/issues/17","id":77113354,"number":17,"title":"Faster synchronization of the project classpath","user":{"login":"frederikb","id":232148,"avatar_url":"https://avatars.githubusercontent.com/u/232148?v=3","gravatar_id":"","url":"https://api.github.com/users/frederikb","html_url":"https://github.com/frederikb","followers_url":"https://api.github.com/users/frederikb/followers","following_url":"https://api.github.com/users/frederikb/following{/other_user}","gists_url":"https://api.github.com/users/frederikb/gists{/gist_id}","starred_url":"https://api.github.com/users/frederikb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frederikb/subscriptions","organizations_url":"https://api.github.com/users/frederikb/orgs","repos_url":"https://api.github.com/users/frederikb/repos","events_url":"https://api.github.com/users/frederikb/events{/privacy}","received_events_url":"https://api.github.com/users/frederikb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"tsvetan-stoyanov","id":6024682,"avatar_url":"https://avatars.githubusercontent.com/u/6024682?v=3","gravatar_id":"","url":"https://api.github.com/users/tsvetan-stoyanov","html_url":"https://github.com/tsvetan-stoyanov","followers_url":"https://api.github.com/users/tsvetan-stoyanov/followers","following_url":"https://api.github.com/users/tsvetan-stoyanov/following{/other_user}","gists_url":"https://api.github.com/users/tsvetan-stoyanov/gists{/gist_id}","starred_url":"https://api.github.com/users/tsvetan-stoyanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsvetan-stoyanov/subscriptions","organizations_url":"https://api.github.com/users/tsvetan-stoyanov/orgs","repos_url":"https://api.github.com/users/tsvetan-stoyanov/repos","events_url":"https://api.github.com/users/tsvetan-stoyanov/events{/privacy}","received_events_url":"https://api.github.com/users/tsvetan-stoyanov/received_events","type":"User","site_admin":false},"assignees":[{"login":"tsvetan-stoyanov","id":6024682,"avatar_url":"https://avatars.githubusercontent.com/u/6024682?v=3","gravatar_id":"","url":"https://api.github.com/users/tsvetan-stoyanov","html_url":"https://github.com/tsvetan-stoyanov","followers_url":"https://api.github.com/users/tsvetan-stoyanov/followers","following_url":"https://api.github.com/users/tsvetan-stoyanov/following{/other_user}","gists_url":"https://api.github.com/users/tsvetan-stoyanov/gists{/gist_id}","starred_url":"https://api.github.com/users/tsvetan-stoyanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsvetan-stoyanov/subscriptions","organizations_url":"https://api.github.com/users/tsvetan-stoyanov/orgs","repos_url":"https://api.github.com/users/tsvetan-stoyanov/repos","events_url":"https://api.github.com/users/tsvetan-stoyanov/events{/privacy}","received_events_url":"https://api.github.com/users/tsvetan-stoyanov/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2015-05-16T19:48:39Z","updated_at":"2016-08-03T03:18:44Z","closed_at":null,"body":"##### Problem\r\nRunning projects with many (large) dependencies (JARs) using the LaunchPi launch configurations can take a while. This is especially the case if the endpoint is not available in the same network but must be accessed over the Internet.\r\n\r\n##### Background\r\nLaunchPi works by completely transferring the compiled source of the selected project and the referenced dependencies in a single TAR archive, extracting it on the target and then running it. This processed is repeated every time while discarding/deleting the previously transferred files. This archive can easily be tens of megabytes large (e.g. a Dropwizard application).\r\n\r\n##### Solution\r\nThe project dependencies are comparatively stable between two runs. Instead of transferring all of them over and over again we should attempt to only transfer new or changed dependencies while deleting those which have since been dropped. The classpath synchronization process can thus be broken up into a series of steps:\r\n\r\n1. Create an index¹ the required dependencies \r\n2. Create an index of the remotely deployed dependencies\r\n3. Compute the difference and only transfer/delete added/changed/removed dependencies\r\n4. Transfer/replace all class files (unchanged from before, using the TAR archive) \r\n\r\n¹: Using the file name, last modification time and file length \r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/comments/237123819","html_url":"https://github.com/tsvetan-stoyanov/launchpi/issues/17#issuecomment-237123819","issue_url":"https://api.github.com/repos/tsvetan-stoyanov/launchpi/issues/17","id":237123819,"user":{"login":"whitestripes","id":5848481,"avatar_url":"https://avatars.githubusercontent.com/u/5848481?v=3","gravatar_id":"","url":"https://api.github.com/users/whitestripes","html_url":"https://github.com/whitestripes","followers_url":"https://api.github.com/users/whitestripes/followers","following_url":"https://api.github.com/users/whitestripes/following{/other_user}","gists_url":"https://api.github.com/users/whitestripes/gists{/gist_id}","starred_url":"https://api.github.com/users/whitestripes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whitestripes/subscriptions","organizations_url":"https://api.github.com/users/whitestripes/orgs","repos_url":"https://api.github.com/users/whitestripes/repos","events_url":"https://api.github.com/users/whitestripes/events{/privacy}","received_events_url":"https://api.github.com/users/whitestripes/received_events","type":"User","site_admin":false},"created_at":"2016-08-03T03:18:44Z","updated_at":"2016-08-03T03:18:44Z","body":"Is there any news on the proposed improvement. I could really do with this enhancement? \r\nI am using digi's java xbee library among many other libraries and it takes quite a while to transfer the tar each and every time i make a small fix. In addition to this, the xbee lib uses rxtx native files and i have set the path to native libraries in eclipse which gets included in the java command executed. Problem is, it is the full path on my computer ie c:/blah/blah. Is there a way i can specify it as a parameter rather than  from the native library path i set in eclipse?"}}
{"actor":{"display_login":"whitestripes"}}