[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).  |