{"action":"created","issue":{"url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/142","repository_url":"https://api.github.com/repos/dnanexus/dx-toolkit","labels_url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/142/comments","events_url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/142/events","html_url":"https://github.com/dnanexus/dx-toolkit/pull/142","id":150129746,"number":142,"title":"Added ability to dereference symlinks","user":{"login":"johnwallace123","id":1088080,"avatar_url":"https://avatars.githubusercontent.com/u/1088080?v=3","gravatar_id":"","url":"https://api.github.com/users/johnwallace123","html_url":"https://github.com/johnwallace123","followers_url":"https://api.github.com/users/johnwallace123/followers","following_url":"https://api.github.com/users/johnwallace123/following{/other_user}","gists_url":"https://api.github.com/users/johnwallace123/gists{/gist_id}","starred_url":"https://api.github.com/users/johnwallace123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnwallace123/subscriptions","organizations_url":"https://api.github.com/users/johnwallace123/orgs","repos_url":"https://api.github.com/users/johnwallace123/repos","events_url":"https://api.github.com/users/johnwallace123/events{/privacy}","received_events_url":"https://api.github.com/users/johnwallace123/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-21T16:48:05Z","updated_at":"2016-05-05T13:06:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dnanexus/dx-toolkit/pulls/142","html_url":"https://github.com/dnanexus/dx-toolkit/pull/142","diff_url":"https://github.com/dnanexus/dx-toolkit/pull/142.diff","patch_url":"https://github.com/dnanexus/dx-toolkit/pull/142.patch"},"body":"Adding the ability to dereference symbolic links that are pointing to\r\nremote files (i.e. not in the resource directory) of an app.  This patch\r\nwill ensure the following cases:\r\n\r\n1. Links to local files and directories are kept\r\n2. Links to remote files are dereferenced\r\n3. Broken links cause an AppBuilderError\r\n4. Links to remote directories cause an AppBuilderError\r\n5. Links to local links (regardless of destination) are kept\r\n6. Links to remote links (links to files) are dereferenced\r\n7. Absolute links are treated as remote links (case 2,4)\r\n8. Links that travel outside of the resource directory (i.e. ../resources/foo)\r\nare treated as remote links (case 2,4).  This is pretty evil; please\r\ndon't be evil.\r\n\r\nIn any case, adding the new option \"--force-symlinks\" to the \"dx build\"\r\ncommand will restore the previous behavior and keep symlinks that may or\r\nmay not resolve.  The use case for this could be perhaps a link in\r\nresources that will point to a directory known to exist in a DNAnexus\r\ninstance (like /home/dnanexus for example).\r\n\r\nNote that in the upload_resources_advanced test relies on the \"old\"\r\nbehavior of symlinks, so I also added the \"--force-symlinks\" tag to\r\nthose unit tests."},"comment":{"url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/comments/217146982","html_url":"https://github.com/dnanexus/dx-toolkit/pull/142#issuecomment-217146982","issue_url":"https://api.github.com/repos/dnanexus/dx-toolkit/issues/142","id":217146982,"user":{"login":"johnwallace123","id":1088080,"avatar_url":"https://avatars.githubusercontent.com/u/1088080?v=3","gravatar_id":"","url":"https://api.github.com/users/johnwallace123","html_url":"https://github.com/johnwallace123","followers_url":"https://api.github.com/users/johnwallace123/followers","following_url":"https://api.github.com/users/johnwallace123/following{/other_user}","gists_url":"https://api.github.com/users/johnwallace123/gists{/gist_id}","starred_url":"https://api.github.com/users/johnwallace123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnwallace123/subscriptions","organizations_url":"https://api.github.com/users/johnwallace123/orgs","repos_url":"https://api.github.com/users/johnwallace123/repos","events_url":"https://api.github.com/users/johnwallace123/events{/privacy}","received_events_url":"https://api.github.com/users/johnwallace123/received_events","type":"User","site_admin":false},"created_at":"2016-05-05T13:06:06Z","updated_at":"2016-05-05T13:06:06Z","body":"Phil, dc66fa4 should incorporate all changes from https://github.com/johnwallace123/dx-toolkit/pull/1.  \r\n\r\nIf you'd like me to squash and rebase everything, let me know.  If you'd prefer to keep the history of the major commits, I hope everything looks good enough for a merge.\r\n\r\nThanks!"}}