gradle.projectsEvaluated { def projectMap = [:] allprojects.each { p -> projectMap[p.name] = p } allprojects.each { p -> def replace = [] p.configurations.each { conf -> def remove = [] conf.dependencies.each { dep -> if (dep.group =~ '^com.dmdirc' && dep.version == '+' && projectMap[dep.name] != null) { remove += dep replace += [conf: conf.name, dep: dep, transitive: dep.transitive] } } conf.dependencies.removeAll(remove) } replace.each { rep -> p.dependencies.add(rep.conf, projectMap[rep.dep.name], { transitive rep.transitive }) } } }