{"action":"created","issue":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/6597","repository_url":"https://api.github.com/repos/ceylon/ceylon","labels_url":"https://api.github.com/repos/ceylon/ceylon/issues/6597/labels{/name}","comments_url":"https://api.github.com/repos/ceylon/ceylon/issues/6597/comments","events_url":"https://api.github.com/repos/ceylon/ceylon/issues/6597/events","html_url":"https://github.com/ceylon/ceylon/issues/6597","id":183264625,"number":6597,"title":"--fully-export-maven-dependencies","user":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceylon/ceylon/labels/m-cmr","name":"m-cmr","color":"00aa00"},{"url":"https://api.github.com/repos/ceylon/ceylon/labels/prio-high","name":"prio-high","color":"fbca04"},{"url":"https://api.github.com/repos/ceylon/ceylon/labels/t-feature","name":"t-feature","color":"02e10c"}],"state":"open","locked":false,"assignee":{"login":"FroMage","id":179265,"avatar_url":"https://avatars.githubusercontent.com/u/179265?v=3","gravatar_id":"","url":"https://api.github.com/users/FroMage","html_url":"https://github.com/FroMage","followers_url":"https://api.github.com/users/FroMage/followers","following_url":"https://api.github.com/users/FroMage/following{/other_user}","gists_url":"https://api.github.com/users/FroMage/gists{/gist_id}","starred_url":"https://api.github.com/users/FroMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FroMage/subscriptions","organizations_url":"https://api.github.com/users/FroMage/orgs","repos_url":"https://api.github.com/users/FroMage/repos","events_url":"https://api.github.com/users/FroMage/events{/privacy}","received_events_url":"https://api.github.com/users/FroMage/received_events","type":"User","site_admin":false},"assignees":[{"login":"FroMage","id":179265,"avatar_url":"https://avatars.githubusercontent.com/u/179265?v=3","gravatar_id":"","url":"https://api.github.com/users/FroMage","html_url":"https://github.com/FroMage","followers_url":"https://api.github.com/users/FroMage/followers","following_url":"https://api.github.com/users/FroMage/following{/other_user}","gists_url":"https://api.github.com/users/FroMage/gists{/gist_id}","starred_url":"https://api.github.com/users/FroMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FroMage/subscriptions","organizations_url":"https://api.github.com/users/FroMage/orgs","repos_url":"https://api.github.com/users/FroMage/repos","events_url":"https://api.github.com/users/FroMage/events{/privacy}","received_events_url":"https://api.github.com/users/FroMage/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ceylon/ceylon/milestones/16","html_url":"https://github.com/ceylon/ceylon/milestones/1.3.1","labels_url":"https://api.github.com/repos/ceylon/ceylon/milestones/16/labels","id":1997781,"number":16,"title":"1.3.1","description":"","creator":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"open_issues":34,"closed_issues":82,"state":"open","created_at":"2016-09-12T09:15:53Z","updated_at":"2016-10-25T12:34:34Z","due_on":"2016-10-24T00:00:00Z","closed_at":null},"comments":57,"created_at":"2016-10-16T12:31:07Z","updated_at":"2016-10-25T16:36:15Z","closed_at":null,"body":"The existing `--auto-export-maven-dependencies` flag has the effect exporting every dependency Y of a maven module X to other maven modules that depend on X, but, confusingly for most people, it does not export Y to *Ceylon* modules that depend on X. \r\n\r\nAt least, I *think* that's the right way to describe its effect.\r\n\r\nThe reasoning behind this was that the transitive dependencies of a maven module can include a whole heap of rubbish which just doesn't affect the Ceylon program, and which would clog up IDE autocompletion, etc.\r\n\r\nHowever, in practice, the need to explicitly specify a dependency on every dependency of a dependency (!) has been shown to be a major problem for people getting started in environments such as, for example, WildFly Swarm.\r\n\r\nWorse, people are starting to invent workarounds like the Ceylon Gradle plugin's `generateOverridesFile` command which generates a massive `overrides.xml` file which just exports all deps of all the maven modules, completely negating the \"advantage\" of not having `--auto-export-maven-dependencies` do it. \r\n\r\nTherefore, I propose that we provide a *second* option, `--fully-export-maven-dependencies`, which exports transitive dependencies all the way to the Ceylon module. Even if it's not *ideal*, it's still a good way to get started when all else fails.\r\n\r\nAnd it's not like you can't filter *out* stuff you *don't* need. There are multiple ways to do that: `overrides.xml`, and IDE completion filters."},"comment":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/comments/256089034","html_url":"https://github.com/ceylon/ceylon/issues/6597#issuecomment-256089034","issue_url":"https://api.github.com/repos/ceylon/ceylon/issues/6597","id":256089034,"user":{"login":"FroMage","id":179265,"avatar_url":"https://avatars.githubusercontent.com/u/179265?v=3","gravatar_id":"","url":"https://api.github.com/users/FroMage","html_url":"https://github.com/FroMage","followers_url":"https://api.github.com/users/FroMage/followers","following_url":"https://api.github.com/users/FroMage/following{/other_user}","gists_url":"https://api.github.com/users/FroMage/gists{/gist_id}","starred_url":"https://api.github.com/users/FroMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FroMage/subscriptions","organizations_url":"https://api.github.com/users/FroMage/orgs","repos_url":"https://api.github.com/users/FroMage/repos","events_url":"https://api.github.com/users/FroMage/events{/privacy}","received_events_url":"https://api.github.com/users/FroMage/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T16:36:15Z","updated_at":"2016-10-25T16:36:15Z","body":"And I found the `logback` mystery: the gradle ceylon tool creates an override (it's not removed there) AND a maven repo where the `.pom` files are generated to reflect the logback exclusion, so that's how.\r\n\r\nOK mystery solved. Now I go back to making the compiler auto-select the latest versions."}}
{"actor":{"display_login":"FroMage"}}