Skip to content

Commit 7edb108

Browse files
committed
SEC-2096: Added release-checks
1 parent ebb82e1 commit 7edb108

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ allprojects {
1111
repositories {
1212
maven { url "http://repo.springsource.org/libs-snapshot" }
1313
}
14+
15+
1416
}
1517

1618
// Set up different subproject lists for individual configuration
@@ -26,6 +28,7 @@ configure(subprojects - coreModuleProjects) {
2628

2729
configure(javaProjects) {
2830
apply from: "$rootDir/gradle/javaprojects.gradle"
31+
apply from: "$rootDir/gradle/release-checks.gradle"
2932
}
3033

3134
configure(coreModuleProjects) {

gradle/release-checks.gradle

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
task checkDependencies << {
2+
verifyNoDependenciesMatchingVersion(".*-SNAPSHOT")
3+
if(releaseBuild) {
4+
verifyNoDependenciesMatchingVersion(".*M.*")
5+
verifyNoDependenciesMatchingVersion(".*RC.*")
6+
}
7+
}
8+
9+
task checkRepositories << {
10+
verifyNoRepositoriesMatching(".*snapshot.*")
11+
if(releaseBuild) {
12+
verifyNoRepositoriesMatching(".*milestone.*")
13+
}
14+
}
15+
16+
if(!snapshotBuild) {
17+
tasks.findByPath('check')?.dependsOn checkRepositories, checkDependencies
18+
}
19+
20+
def verifyNoDependenciesMatchingVersion(def pattern) {
21+
def dependencies = configurations.all*.allDependencies*.findAll { d -> d.version?.matches(pattern) }.flatten().toSet().join("\n ")
22+
if(dependencies) {
23+
throw new GradleException("${project.name} cannot have dependencies with a version that matches $pattern when its version is ${project.version}. Got\n $dependencies")
24+
}
25+
}
26+
27+
def verifyNoRepositoriesMatching(def pattern) {
28+
def matchingRepositories = repositories.findAll { r -> r.url?.toString()?.matches(pattern) }.flatten().collect { it.url }.toSet().join("\n ")
29+
if(matchingRepositories) {
30+
throw new GradleException("${project.name} cannot have repositories with a version that matches $pattern when its version is ${project.version}. Got\n $matchingRepositories")
31+
}
32+
}

0 commit comments

Comments
 (0)