[GRADLE-3101] Changes to IDEA scopes mapping can trigger dependency resolving Created: 06/Jun/14 Updated: 23/Jun/14 Resolved: 14/Jun/14 |
|
Status: | Resolved |
Project: | Gradle |
Affects Version/s: | 2.0-rc-1 |
Fix Version/s: | 2.0-rc-1 |
Type: | Bug | ||
Reporter: | Radim Kubacki | Assignee: | Radim Kubacki |
Resolution: | Won't Fix | Votes: | 0 |
Known Issue Of: |
Description |
Modifications to IDEA scopes using += operator can cause dependency resolving for configuration and the configuration cannot be changed after that. It means script like this: apply plugin: 'java' apply plugin: 'idea' configurations { provided provided.extendsFrom(compile) } idea { module { scopes.PROVIDED.plus += configurations.provided } } dependencies { provided '...' } will fail. Possible ways how to work around this is to avoid += operator or to push this block towards the end of build script. |
Comments |
Comment by Daz DeBoer [ 12/Jun/14 ] |
This bug is due to a change in the way that groovy evaluates '+='. The general solution is to switch the idea plugin to replace: scopes.PROVIDED.plus += project.configurations.provided with scopes.PROVIDED.plus += [project.configurations.provided] |
Comment by Radim Kubacki [ 14/Jun/14 ] |
We're not going to fix this: there is a simple way how to migrate build scripts (wrapping the right side argument into a list or using << operator) and possible fixes look to complex at the moment. |
Comment by Szczepan Faber [ 23/Jun/14 ] |
This issue has been thoroughly documented in the 2.0 release notes. We cannot really fix it but there's a very easy solution to the problem (documented). |