{"action":"created","issue":{"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1416","repository_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner","labels_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1416/labels{/name}","comments_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1416/comments","events_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1416/events","html_url":"https://github.com/opentripplanner/OpenTripPlanner/issues/1416","id":34271256,"node_id":"MDU6SXNzdWUzNDI3MTI1Ng==","number":1416,"title":"minimize shaded JAR","user":{"login":"abyrd","id":112871,"node_id":"MDQ6VXNlcjExMjg3MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/112871?v=4","gravatar_id":"","url":"https://api.github.com/users/abyrd","html_url":"https://github.com/abyrd","followers_url":"https://api.github.com/users/abyrd/followers","following_url":"https://api.github.com/users/abyrd/following{/other_user}","gists_url":"https://api.github.com/users/abyrd/gists{/gist_id}","starred_url":"https://api.github.com/users/abyrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abyrd/subscriptions","organizations_url":"https://api.github.com/users/abyrd/orgs","repos_url":"https://api.github.com/users/abyrd/repos","events_url":"https://api.github.com/users/abyrd/events{/privacy}","received_events_url":"https://api.github.com/users/abyrd/received_events","type":"User","site_admin":false},"labels":[{"id":1311030045,"node_id":"MDU6TGFiZWwxMzExMDMwMDQ1","url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/labels/OTP2","name":"OTP2","color":"b1e4fc","default":false,"description":"This issue apply the 2.x version of OTP"},{"id":626499,"node_id":"MDU6TGFiZWw2MjY0OTk=","url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/labels/improvement","name":"improvement","color":"d7e102","default":false,"description":null}],"state":"open","locked":false,"assignee":{"login":"abyrd","id":112871,"node_id":"MDQ6VXNlcjExMjg3MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/112871?v=4","gravatar_id":"","url":"https://api.github.com/users/abyrd","html_url":"https://github.com/abyrd","followers_url":"https://api.github.com/users/abyrd/followers","following_url":"https://api.github.com/users/abyrd/following{/other_user}","gists_url":"https://api.github.com/users/abyrd/gists{/gist_id}","starred_url":"https://api.github.com/users/abyrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abyrd/subscriptions","organizations_url":"https://api.github.com/users/abyrd/orgs","repos_url":"https://api.github.com/users/abyrd/repos","events_url":"https://api.github.com/users/abyrd/events{/privacy}","received_events_url":"https://api.github.com/users/abyrd/received_events","type":"User","site_admin":false},"assignees":[{"login":"abyrd","id":112871,"node_id":"MDQ6VXNlcjExMjg3MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/112871?v=4","gravatar_id":"","url":"https://api.github.com/users/abyrd","html_url":"https://github.com/abyrd","followers_url":"https://api.github.com/users/abyrd/followers","following_url":"https://api.github.com/users/abyrd/following{/other_user}","gists_url":"https://api.github.com/users/abyrd/gists{/gist_id}","starred_url":"https://api.github.com/users/abyrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abyrd/subscriptions","organizations_url":"https://api.github.com/users/abyrd/orgs","repos_url":"https://api.github.com/users/abyrd/repos","events_url":"https://api.github.com/users/abyrd/events{/privacy}","received_events_url":"https://api.github.com/users/abyrd/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2014-05-25T19:40:23Z","updated_at":"2019-11-22T15:45:16Z","closed_at":null,"author_association":"MEMBER","body":"We use the shade plugin (called shadow in Gradle) to combine OTP with its dependencies into a single JAR. This includes all the classes in those dependencies, even ones that are not used by OTP. Shade has a `<minimizeJar>true</minimizeJar>` parameter which attempts to remove unused classes. Experiments indicate this will probably reduce the size of otp.jar by roughly half to around 20MB. \n\nUnfortunately even though we are now explicitly assembling the Jersey application and its optional features instead of relying on autoscanning, there is still some code (at least in Grizzly) that imports classes by mysterious reflective means that minimizeJar doesn't detect.\n\nSomeday we should get this working because it will make our distribution half as big. \n"},"comment":{"url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/comments/557583401","html_url":"https://github.com/opentripplanner/OpenTripPlanner/issues/1416#issuecomment-557583401","issue_url":"https://api.github.com/repos/opentripplanner/OpenTripPlanner/issues/1416","id":557583401,"node_id":"MDEyOklzc3VlQ29tbWVudDU1NzU4MzQwMQ==","user":{"login":"t2gran","id":5525340,"node_id":"MDQ6VXNlcjU1MjUzNDA=","avatar_url":"https://avatars0.githubusercontent.com/u/5525340?v=4","gravatar_id":"","url":"https://api.github.com/users/t2gran","html_url":"https://github.com/t2gran","followers_url":"https://api.github.com/users/t2gran/followers","following_url":"https://api.github.com/users/t2gran/following{/other_user}","gists_url":"https://api.github.com/users/t2gran/gists{/gist_id}","starred_url":"https://api.github.com/users/t2gran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/t2gran/subscriptions","organizations_url":"https://api.github.com/users/t2gran/orgs","repos_url":"https://api.github.com/users/t2gran/repos","events_url":"https://api.github.com/users/t2gran/events{/privacy}","received_events_url":"https://api.github.com/users/t2gran/received_events","type":"User","site_admin":false},"created_at":"2019-11-22T15:45:15Z","updated_at":"2019-11-22T15:45:15Z","author_association":"MEMBER","body":"@buma God to now about. But it is important to us that the jar contains everything, we will not open up the possibility for a component in our cluster to download anything from the internet, as this would make us more vulnerable to both failures (error in download) and to security risks."}}
{"actor":{"display_login":"t2gran"}}