{"action":"created","issue":{"url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/50","repository_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration","labels_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/50/comments","events_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/50/events","html_url":"https://github.com/nebula-plugins/gradle-nebula-integration/issues/50","id":374579513,"node_id":"MDU6SXNzdWUzNzQ1Nzk1MTM=","number":50,"title":"Interaction between substitution and alignment","user":{"login":"chali","id":600335,"node_id":"MDQ6VXNlcjYwMDMzNQ==","avatar_url":"https://avatars3.githubusercontent.com/u/600335?v=4","gravatar_id":"","url":"https://api.github.com/users/chali","html_url":"https://github.com/chali","followers_url":"https://api.github.com/users/chali/followers","following_url":"https://api.github.com/users/chali/following{/other_user}","gists_url":"https://api.github.com/users/chali/gists{/gist_id}","starred_url":"https://api.github.com/users/chali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chali/subscriptions","organizations_url":"https://api.github.com/users/chali/orgs","repos_url":"https://api.github.com/users/chali/repos","events_url":"https://api.github.com/users/chali/events{/privacy}","received_events_url":"https://api.github.com/users/chali/received_events","type":"User","site_admin":false},"labels":[{"id":1017494273,"node_id":"MDU6TGFiZWwxMDE3NDk0Mjcz","url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/labels/priority","name":"priority","color":"e88695","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/milestones/3","html_url":"https://github.com/nebula-plugins/gradle-nebula-integration/milestone/3","labels_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/milestones/3/labels","id":3579403,"node_id":"MDk6TWlsZXN0b25lMzU3OTQwMw==","number":3,"title":"Alignment","description":"","creator":{"login":"OdysseusLives","id":2860150,"node_id":"MDQ6VXNlcjI4NjAxNTA=","avatar_url":"https://avatars3.githubusercontent.com/u/2860150?v=4","gravatar_id":"","url":"https://api.github.com/users/OdysseusLives","html_url":"https://github.com/OdysseusLives","followers_url":"https://api.github.com/users/OdysseusLives/followers","following_url":"https://api.github.com/users/OdysseusLives/following{/other_user}","gists_url":"https://api.github.com/users/OdysseusLives/gists{/gist_id}","starred_url":"https://api.github.com/users/OdysseusLives/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OdysseusLives/subscriptions","organizations_url":"https://api.github.com/users/OdysseusLives/orgs","repos_url":"https://api.github.com/users/OdysseusLives/repos","events_url":"https://api.github.com/users/OdysseusLives/events{/privacy}","received_events_url":"https://api.github.com/users/OdysseusLives/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":8,"state":"open","created_at":"2018-08-17T16:28:48Z","updated_at":"2018-10-26T23:32:28Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2018-10-26T23:32:08Z","updated_at":"2018-10-30T09:54:48Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I have a rule which should align guice and I have a rule which should bring guice to 4.1.0 if it is 4.2.+. When I run this `./gradlew dI --dependency guice --configuration compile` I'm getting:\r\n\r\n```\r\n> Task :dependencyInsight\r\ncom.google.inject:guice:4.2.1\r\n   variant \"runtime\" [\r\n      org.gradle.status             = release (not requested)\r\n      org.gradle.usage              = java-runtime (not requested)\r\n      org.gradle.component.category = library (not requested)\r\n   ]\r\n   Selection reasons:\r\n      - By constraint : belongs to platform aligned-platform:guice:4.2.1\r\n      - Selected by rule\r\n      - By conflict resolution : between versions 4.2.1 and 4.1.0\r\n\r\ncom.google.inject:guice:4.2.1\r\n\\--- com.google.inject.extensions:guice-grapher:4.2.1 (conflict resolution between versions 4.1.0 and 4.2.1)\r\n     +--- sample:module:1.0\r\n     |    \\--- compile\r\n     \\--- compile\r\n\r\ncom.google.inject:guice:4.1.0 -> 4.2.1\r\n\\--- com.google.inject.extensions:guice-assistedinject:4.1.0\r\n     +--- com.google.inject.extensions:guice-grapher:4.2.1 (conflict resolution between versions 4.1.0 and 4.2.1)\r\n     |    +--- sample:module:1.0\r\n     |    |    \\--- compile\r\n     |    \\--- compile\r\n     \\--- compile\r\n\r\ncom.google.inject:guice:4.+ -> 4.2.1\r\n\\--- compile\r\n\r\ncom.google.inject.extensions:guice-assistedinject:4.1.0\r\n   variant \"runtime\" [\r\n      org.gradle.status             = release (not requested)\r\n      org.gradle.usage              = java-runtime (not requested)\r\n      org.gradle.component.category = library (not requested)\r\n   ]\r\n   Selection reasons:\r\n      - By constraint : belongs to platform aligned-platform:guice:4.2.1\r\n      - Selected by rule\r\n\r\ncom.google.inject.extensions:guice-assistedinject:4.2.1 -> 4.1.0\r\n\\--- com.google.inject.extensions:guice-grapher:4.2.1 (conflict resolution between versions 4.1.0 and 4.2.1)\r\n     +--- sample:module:1.0\r\n     |    \\--- compile\r\n     \\--- compile\r\n\r\ncom.google.inject.extensions:guice-grapher:4.2.1\r\n   variant \"runtime\" [\r\n      org.gradle.status             = release (not requested)\r\n      org.gradle.usage              = java-runtime (not requested)\r\n      org.gradle.component.category = library (not requested)\r\n   ]\r\n   Selection reasons:\r\n      - By constraint : belongs to platform aligned-platform:guice:4.2.1\r\n      - Selected by rule\r\n      - By conflict resolution : between versions 4.1.0 and 4.2.1\r\n\r\ncom.google.inject.extensions:guice-grapher:4.1.0 -> 4.2.1\r\n\\--- sample:module:1.0\r\n     \\--- compile\r\n\r\n(*) - dependencies omitted (listed previously)\r\n\r\nA web-based, searchable dependency report is available by adding the --scan option.\r\n\r\nBUILD SUCCESSFUL in 0s\r\n1 actionable task: 1 executed\r\n```\r\n\r\nI would assume that all guice libraries should be at 4.1.0. Here is the full sample https://github.com/nebula-plugins/gradle-nebula-integration/tree/master/alignment-substitution-missalignment"},"comment":{"url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/comments/434237854","html_url":"https://github.com/nebula-plugins/gradle-nebula-integration/issues/50#issuecomment-434237854","issue_url":"https://api.github.com/repos/nebula-plugins/gradle-nebula-integration/issues/50","id":434237854,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDIzNzg1NA==","user":{"login":"ljacomet","id":135308,"node_id":"MDQ6VXNlcjEzNTMwOA==","avatar_url":"https://avatars0.githubusercontent.com/u/135308?v=4","gravatar_id":"","url":"https://api.github.com/users/ljacomet","html_url":"https://github.com/ljacomet","followers_url":"https://api.github.com/users/ljacomet/followers","following_url":"https://api.github.com/users/ljacomet/following{/other_user}","gists_url":"https://api.github.com/users/ljacomet/gists{/gist_id}","starred_url":"https://api.github.com/users/ljacomet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ljacomet/subscriptions","organizations_url":"https://api.github.com/users/ljacomet/orgs","repos_url":"https://api.github.com/users/ljacomet/repos","events_url":"https://api.github.com/users/ljacomet/events{/privacy}","received_events_url":"https://api.github.com/users/ljacomet/received_events","type":"User","site_admin":false},"created_at":"2018-10-30T09:54:48Z","updated_at":"2018-10-30T09:54:48Z","author_association":"COLLABORATOR","body":"Indeed a `println` will show that the rule applied to `guice`, however this application is after a `guice:4.2.1` has been accepted into the graph. When debugging the execution, I can tell you that `VERSION_SCHEME.parseSelector(\"[4.2.0,)\").accept(\"4.+\")` returns false and thus the substitution does not take place at that time."}}
{"actor":{"display_login":"ljacomet"}}