In 1.5, it appears that Daz refactored IvyXmlModuleDescriptorParser.java. And in the process he renamed a variable, but didn’t change all usages of it. On this location:
https://github.com/gradle/gradle/commit/637f0e1e94023600a7ee083de3c736d5e1400d9d#L0R681
defaultConf is being checked for null, but it’s suppose to be checking defaultConfMapping. Since it’s checking the wrong variable, the defaultConfMapping is never set. From what I can tell, there are zero tests for defaultConfMapping, which is why this was missed.
Since this mistake seems clear and breaks Ivy, I request that the fix go into 1.6 before it’s released. defaultConfMapping is incredibly important to an Ivy repository. Especially since new versions of Gradle’s publish plugin put dependencies into the runtime conf, and modules typically put their depenedencies in the compile conf. Without a conf mapping, the compile dependencies will go the compile config of the other module, which because recent publish plugin won’t have any artifacts or dependencies.