spring-security/gradle/release-checks.gradle

32 lines
1.3 KiB
Groovy

task checkDependencies << {
verifyNoDependenciesMatchingVersion(".*-SNAPSHOT")
if(releaseBuild) {
verifyNoDependenciesMatchingVersion(".*M.*")
verifyNoDependenciesMatchingVersion(".*RC.*")
}
}
task checkRepositories << {
verifyNoRepositoriesMatching(".*snapshot.*")
if(releaseBuild) {
verifyNoRepositoriesMatching(".*milestone.*")
}
}
if(!snapshotBuild) {
tasks.findByPath('check')?.dependsOn checkRepositories, 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")
}
}
def verifyNoRepositoriesMatching(def pattern) {
def matchingRepositories = repositories.findAll { r -> r.url?.toString()?.matches(pattern) }.flatten().collect { it.url }.toSet().join("\n ")
if(matchingRepositories) {
throw new GradleException("${project.name} cannot have repositories with a version that matches $pattern when its version is ${project.version}. Got\n $matchingRepositories")
}
}