{"action":"created","issue":{"url":"https://api.github.com/repos/sbt/librarymanagement/issues/30","repository_url":"https://api.github.com/repos/sbt/librarymanagement","labels_url":"https://api.github.com/repos/sbt/librarymanagement/issues/30/labels{/name}","comments_url":"https://api.github.com/repos/sbt/librarymanagement/issues/30/comments","events_url":"https://api.github.com/repos/sbt/librarymanagement/issues/30/events","html_url":"https://github.com/sbt/librarymanagement/pull/30","id":139003637,"number":30,"title":"Allow customizing defaultConfMapping in InlineConfiguration","user":{"login":"dansanduleac","id":222827,"avatar_url":"https://avatars.githubusercontent.com/u/222827?v=3","gravatar_id":"","url":"https://api.github.com/users/dansanduleac","html_url":"https://github.com/dansanduleac","followers_url":"https://api.github.com/users/dansanduleac/followers","following_url":"https://api.github.com/users/dansanduleac/following{/other_user}","gists_url":"https://api.github.com/users/dansanduleac/gists{/gist_id}","starred_url":"https://api.github.com/users/dansanduleac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dansanduleac/subscriptions","organizations_url":"https://api.github.com/users/dansanduleac/orgs","repos_url":"https://api.github.com/users/dansanduleac/repos","events_url":"https://api.github.com/users/dansanduleac/events{/privacy}","received_events_url":"https://api.github.com/users/dansanduleac/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-07T15:14:33Z","updated_at":"2016-03-16T11:22:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sbt/librarymanagement/pulls/30","html_url":"https://github.com/sbt/librarymanagement/pull/30","diff_url":"https://github.com/sbt/librarymanagement/pull/30.diff","patch_url":"https://github.com/sbt/librarymanagement/pull/30.patch"},"body":"The defaultConfMapping in ivy is currently hard-coded to `*->default(compile)`. This works well for most purposes, but I have a use case where it falls short.  \r\n\r\nSay I want to have a flag that, when enabled, requires users to list all their `compile` dependencies explicitly. Everything they depend on + their transitive dependencies will end up in the `runtime` scope, but `compile` will only contain packages _explicitly listed as dependencies_.\r\nThis is what some call the _include-what-you-use_ principle, and it's useful to prevent you from using code from a transitive dependency B, in case your dependency A that depended on B stops depending on B later on, and subsequently causes your code to not compile anymore, even though you haven't made any changes to it.\r\n\r\nLet's say I build all my packages to export an `only-me` configuration, that contains only the artifacts published, but no dependencies. Now, when I activate this flag, it would be a pain to have to change all the dependencies in that project from \r\n* no dependency mapping at all, or\r\n* `compile`\r\n\r\nto `compile->only-me(default)`.\r\n\r\nBut if we can modify the `defaultConfMapping`, we'd just set that to `*->only-me(default)`, and this would do what you want without having to parse the configuration mapping of each dependency and mangle it programmatically."},"comment":{"url":"https://api.github.com/repos/sbt/librarymanagement/issues/comments/197272733","html_url":"https://github.com/sbt/librarymanagement/pull/30#issuecomment-197272733","issue_url":"https://api.github.com/repos/sbt/librarymanagement/issues/30","id":197272733,"user":{"login":"dansanduleac","id":222827,"avatar_url":"https://avatars.githubusercontent.com/u/222827?v=3","gravatar_id":"","url":"https://api.github.com/users/dansanduleac","html_url":"https://github.com/dansanduleac","followers_url":"https://api.github.com/users/dansanduleac/followers","following_url":"https://api.github.com/users/dansanduleac/following{/other_user}","gists_url":"https://api.github.com/users/dansanduleac/gists{/gist_id}","starred_url":"https://api.github.com/users/dansanduleac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dansanduleac/subscriptions","organizations_url":"https://api.github.com/users/dansanduleac/orgs","repos_url":"https://api.github.com/users/dansanduleac/repos","events_url":"https://api.github.com/users/dansanduleac/events{/privacy}","received_events_url":"https://api.github.com/users/dansanduleac/received_events","type":"User","site_admin":false},"created_at":"2016-03-16T11:22:34Z","updated_at":"2016-03-16T11:22:34Z","body":"Could someone look at this please? :)"}}