task checkDependencies << { verifyNoDependenciesMatchingVersion(".*-SNAPSHOT") if(releaseBuild) { verifyNoDependenciesMatchingVersion(".*M.*") verifyNoDependenciesMatchingVersion(".*RC.*") } } if(!snapshotBuild) { tasks.findByPath('check')?.dependsOn checkDependencies } def verifyNoDependenciesMatchingVersion(def pattern) { def dependencies = configurations.all*.allDependencies*.findAll { d -> d.version?.matches(pattern) }.flatten().toSet().join("\n ") if(dependencies) { throw new GradleException("${project.name} cannot have dependencies with a version that matches $pattern when its version is ${project.version}. Got\n $dependencies") } }