| 
									
										
										
										
											2012-01-25 20:10:11 +08:00
										 |  |  | buildscript { | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	repositories { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		maven { url "https://repo.spring.io/plugins-release" } | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	dependencies { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE") | 
					
						
							|  |  |  | 		classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16") | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2012-01-25 20:10:11 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-21 20:41:28 +08:00
										 |  |  | // 3rd party plugin repositories can be configured in settings.gradle
 | 
					
						
							| 
									
										
										
										
											2016-01-06 00:16:39 +08:00
										 |  |  | plugins { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	id "io.spring.dependency-management" version "1.0.5.RELEASE" apply false | 
					
						
							| 
									
										
										
										
											2018-10-25 05:57:33 +08:00
										 |  |  | 	id "org.jetbrains.kotlin.jvm" version "1.2.71" apply false | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	id "org.jetbrains.dokka" version "0.9.17" | 
					
						
							| 
									
										
										
										
											2018-10-25 16:12:01 +08:00
										 |  |  | 	id "org.asciidoctor.convert" version "1.5.8" | 
					
						
							| 
									
										
										
										
											2017-08-21 20:29:49 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-10 17:22:14 +08:00
										 |  |  | ext { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	linkHomepage = "https://projects.spring.io/spring-framework" | 
					
						
							|  |  |  | 	linkCi = "https://build.spring.io/browse/SPR" | 
					
						
							|  |  |  | 	linkIssue = "https://jira.spring.io/browse/SPR" | 
					
						
							|  |  |  | 	linkScmUrl = "https://github.com/spring-projects/spring-framework" | 
					
						
							|  |  |  | 	linkScmConnection = "scm:git:git://github.com/spring-projects/spring-framework.git" | 
					
						
							|  |  |  | 	linkScmDevConnection = "scm:git:ssh://git@github.com:spring-projects/spring-framework.git" | 
					
						
							| 
									
										
										
										
											2014-08-18 17:51:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-24 04:03:08 +08:00
										 |  |  | 	moduleProjects = subprojects.findAll { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		!it.name.equals("spring-build-src") && !it.name.equals("spring-framework-bom") | 
					
						
							| 
									
										
										
										
											2014-08-18 17:51:20 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2018-06-11 21:33:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-25 21:15:47 +08:00
										 |  |  | 	aspectjVersion       = "1.9.2" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	freemarkerVersion    = "2.3.28" | 
					
						
							| 
									
										
										
										
											2018-11-19 19:41:26 +08:00
										 |  |  | 	groovyVersion        = "2.5.4" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	hsqldbVersion        = "2.4.1" | 
					
						
							| 
									
										
										
										
											2018-09-20 04:20:14 +08:00
										 |  |  | 	jackson2Version      = "2.9.7" | 
					
						
							| 
									
										
										
										
											2018-11-19 19:41:26 +08:00
										 |  |  | 	jettyVersion         = "9.4.14.v20181114" | 
					
						
							| 
									
										
										
										
											2018-09-11 19:19:40 +08:00
										 |  |  | 	junit5Version        = "5.3.1" | 
					
						
							| 
									
										
										
										
											2018-09-30 00:58:13 +08:00
										 |  |  | 	kotlinVersion        = "1.2.71" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	log4jVersion         = "2.11.1" | 
					
						
							| 
									
										
										
										
											2018-11-05 19:27:20 +08:00
										 |  |  | 	nettyVersion         = "4.1.31.Final" | 
					
						
							| 
									
										
										
										
											2018-11-16 18:13:17 +08:00
										 |  |  | 	reactorVersion       = "Californium-BUILD-SNAPSHOT" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	rxjavaVersion        = "1.3.8" | 
					
						
							|  |  |  | 	rxjavaAdapterVersion = "1.2.1" | 
					
						
							| 
									
										
										
										
											2018-10-24 01:34:39 +08:00
										 |  |  | 	rxjava2Version       = "2.2.3" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	slf4jVersion         = "1.7.25"	  // spring-jcl + consistent 3rd party deps
 | 
					
						
							|  |  |  | 	tiles3Version        = "3.0.8" | 
					
						
							| 
									
										
										
										
											2018-11-19 19:41:26 +08:00
										 |  |  | 	tomcatVersion        = "9.0.13" | 
					
						
							| 
									
										
										
										
											2018-11-05 19:27:20 +08:00
										 |  |  | 	undertowVersion      = "2.0.15.Final" | 
					
						
							| 
									
										
										
										
											2018-06-11 21:33:05 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	gradleScriptDir = "${rootProject.projectDir}/gradle" | 
					
						
							|  |  |  | 	withoutJclOverSlf4J = { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		exclude group: "org.slf4j", module: "jcl-over-slf4j" | 
					
						
							| 
									
										
										
										
											2018-06-11 21:33:05 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2014-04-10 17:22:14 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-03 19:12:08 +08:00
										 |  |  | configure(allprojects) { project -> | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	group = "org.springframework" | 
					
						
							| 
									
										
										
										
											2013-01-03 21:06:02 +08:00
										 |  |  | 	version = qualifyVersionIfNecessary(version) | 
					
						
							| 
									
										
										
										
											2013-06-24 14:49:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	apply plugin: "java" | 
					
						
							|  |  |  | 	apply plugin: "kotlin" | 
					
						
							|  |  |  | 	apply plugin: "checkstyle" | 
					
						
							|  |  |  | 	apply plugin: "propdeps" | 
					
						
							|  |  |  | 	apply plugin: "test-source-set-dependencies" | 
					
						
							|  |  |  | 	apply plugin: "io.spring.dependency-management" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	apply from: "${gradleScriptDir}/ide.gradle" | 
					
						
							| 
									
										
										
										
											2011-12-15 08:56:31 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-11 21:33:05 +08:00
										 |  |  | 	dependencyManagement { | 
					
						
							|  |  |  | 		resolutionStrategy { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			cacheChangingModulesFor 0, "seconds" | 
					
						
							| 
									
										
										
										
											2018-06-11 21:33:05 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 		applyMavenExclusions = false | 
					
						
							|  |  |  | 		generatedPomCustomization { | 
					
						
							|  |  |  | 			enabled = false | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-14 05:38:47 +08:00
										 |  |  | 	configurations.all { | 
					
						
							| 
									
										
										
										
											2017-01-24 04:47:00 +08:00
										 |  |  | 		// Check for updates every build
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		resolutionStrategy.cacheChangingModulesFor 0, "seconds" | 
					
						
							| 
									
										
										
										
											2018-01-23 23:42:41 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		// Consistent slf4j version (e.g. clashes between slf4j versions)
 | 
					
						
							|  |  |  | 		resolutionStrategy.eachDependency { DependencyResolveDetails details -> | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			if (details.requested.group == "org.slf4j") { | 
					
						
							| 
									
										
										
										
											2018-01-23 23:42:41 +08:00
										 |  |  | 				details.useVersion slf4jVersion | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2016-07-14 05:38:47 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-19 21:35:10 +08:00
										 |  |  | 	def commonCompilerArgs = | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			["-Xlint:serial", "-Xlint:cast", "-Xlint:classfile", "-Xlint:dep-ann", | 
					
						
							|  |  |  | 			 "-Xlint:divzero", "-Xlint:empty", "-Xlint:finally", "-Xlint:overrides", | 
					
						
							|  |  |  | 			 "-Xlint:path", "-Xlint:processing", "-Xlint:static", "-Xlint:try", "-Xlint:-options"] | 
					
						
							| 
									
										
										
										
											2017-08-22 17:23:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-23 00:09:19 +08:00
										 |  |  | 	compileJava.options*.compilerArgs = commonCompilerArgs + | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			["-Xlint:varargs", "-Xlint:fallthrough", "-Xlint:rawtypes", | 
					
						
							|  |  |  | 			 "-Xlint:deprecation", "-Xlint:unchecked", "-Werror"] | 
					
						
							| 
									
										
										
										
											2017-08-22 17:23:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-23 00:09:19 +08:00
										 |  |  | 	compileTestJava.options*.compilerArgs = commonCompilerArgs + | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			["-Xlint:-varargs", "-Xlint:-fallthrough", "-Xlint:-rawtypes", | 
					
						
							|  |  |  | 			 "-Xlint:-deprecation", "-Xlint:-unchecked"] | 
					
						
							| 
									
										
										
										
											2013-11-22 10:15:09 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-14 12:23:44 +08:00
										 |  |  | 	compileJava { | 
					
						
							| 
									
										
										
										
											2018-10-15 18:26:38 +08:00
										 |  |  | 		sourceCompatibility = 1.8  // can be switched to 11 for testing
 | 
					
						
							| 
									
										
										
										
											2016-07-04 21:44:13 +08:00
										 |  |  | 		targetCompatibility = 1.8 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		options.encoding = "UTF-8" | 
					
						
							| 
									
										
										
										
											2013-09-14 12:23:44 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	compileTestJava { | 
					
						
							| 
									
										
										
										
											2018-10-15 18:26:38 +08:00
										 |  |  | 		sourceCompatibility = 1.8  // can be switched to 11 for testing
 | 
					
						
							| 
									
										
										
										
											2015-03-31 23:32:39 +08:00
										 |  |  | 		targetCompatibility = 1.8 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		options.encoding = "UTF-8" | 
					
						
							|  |  |  | 		options.compilerArgs += "-parameters" | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	compileKotlin { | 
					
						
							|  |  |  | 		kotlinOptions { | 
					
						
							|  |  |  | 			jvmTarget = "1.8" | 
					
						
							|  |  |  | 			freeCompilerArgs = ["-Xjsr305=strict"] | 
					
						
							|  |  |  | 			apiVersion = "1.1" | 
					
						
							|  |  |  | 			languageVersion = "1.1" | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	compileTestKotlin { | 
					
						
							|  |  |  | 		kotlinOptions { | 
					
						
							|  |  |  | 			jvmTarget = "1.8" | 
					
						
							|  |  |  | 			freeCompilerArgs = ["-Xjsr305=strict"] | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2013-10-18 01:24:08 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-03 19:12:08 +08:00
										 |  |  | 	test { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		systemProperty("java.awt.headless", "true") | 
					
						
							|  |  |  | 		systemProperty("testGroups", project.properties.get("testGroups")) | 
					
						
							| 
									
										
										
										
											2013-04-23 19:57:26 +08:00
										 |  |  | 		scanForTestClasses = false | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		include(["**/*Tests.class", "**/*Test.class"]) | 
					
						
							| 
									
										
										
										
											2014-03-08 00:31:44 +08:00
										 |  |  | 		// Since we set scanForTestClasses to false, we need to filter out inner
 | 
					
						
							|  |  |  | 		// classes with the "$" pattern; otherwise, using -Dtest.single=MyTests to
 | 
					
						
							| 
									
										
										
										
											2014-04-01 18:23:47 +08:00
										 |  |  | 		// run MyTests by itself will fail if MyTests contains any inner classes.
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		exclude(["**/Abstract*.class", '**/*$*']) | 
					
						
							| 
									
										
										
										
											2017-08-22 17:23:22 +08:00
										 |  |  | 		reports.junitXml.setDestination(file("$buildDir/test-results")) | 
					
						
							| 
									
										
										
										
											2013-01-03 19:12:08 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-12-15 08:56:31 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	checkstyle { | 
					
						
							| 
									
										
										
										
											2018-10-25 06:29:08 +08:00
										 |  |  | 		toolVersion = "8.14" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		configDir = rootProject.file("src/checkstyle") | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	repositories { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		maven { url "https://repo.spring.io/libs-release" } | 
					
						
							| 
									
										
										
										
											2018-11-16 18:13:17 +08:00
										 |  |  | 		maven { url "https://repo.spring.io/snapshot" } // Californium snapshots
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-12-15 08:56:31 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	dependencies { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		testCompile("junit:junit:4.12") { | 
					
						
							|  |  |  | 			exclude group: "org.hamcrest", module: "hamcrest-core" | 
					
						
							| 
									
										
										
										
											2014-03-27 01:15:23 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2018-10-11 05:53:33 +08:00
										 |  |  | 		testCompile("org.mockito:mockito-core:2.23.0") { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			exclude group: "org.hamcrest", module: "hamcrest-core" | 
					
						
							| 
									
										
										
										
											2014-03-27 01:15:23 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		testCompile("com.nhaarman:mockito-kotlin:1.6.0") { | 
					
						
							|  |  |  | 			exclude module: "kotlin-stdlib" | 
					
						
							|  |  |  | 			exclude module: "kotlin-reflect" | 
					
						
							|  |  |  | 			exclude module: "mockito-core" | 
					
						
							| 
									
										
										
										
											2017-06-09 06:24:47 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		testCompile("org.hamcrest:hamcrest-all:1.3") | 
					
						
							| 
									
										
										
										
											2016-07-06 02:47:53 +08:00
										 |  |  | 		testRuntime("org.apache.logging.log4j:log4j-core:${log4jVersion}") | 
					
						
							| 
									
										
										
										
											2018-01-23 23:42:41 +08:00
										 |  |  | 		testRuntime("org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}") | 
					
						
							|  |  |  | 		testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}") | 
					
						
							| 
									
										
										
										
											2018-06-14 02:02:02 +08:00
										 |  |  | 		// JSR-305 only used for non-required meta-annotations
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		compileOnly("com.google.code.findbugs:jsr305:3.0.2") | 
					
						
							|  |  |  | 		testCompileOnly("com.google.code.findbugs:jsr305:3.0.2") | 
					
						
							|  |  |  | 		checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:0.0.5") | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	ext.javadocLinks = [ | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		"http://docs.oracle.com/javase/8/docs/api/", | 
					
						
							|  |  |  | 		"http://docs.oracle.com/javaee/7/api/", | 
					
						
							|  |  |  | 		"http://docs.oracle.com/cd/E13222_01/wls/docs90/javadocs/",  // CommonJ
 | 
					
						
							|  |  |  | 		"http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.javadoc.doc/web/apidocs/", | 
					
						
							|  |  |  | 		"http://glassfish.java.net/nonav/docs/v3/api/", | 
					
						
							|  |  |  | 		"http://docs.jboss.org/jbossas/javadoc/4.0.5/connector/", | 
					
						
							|  |  |  | 		"http://docs.jboss.org/jbossas/javadoc/7.1.2.Final/", | 
					
						
							|  |  |  | 		"http://tiles.apache.org/tiles-request/apidocs/", | 
					
						
							|  |  |  | 		"http://tiles.apache.org/framework/apidocs/", | 
					
						
							|  |  |  | 		"http://www.eclipse.org/aspectj/doc/released/aspectj5rt-api/", | 
					
						
							|  |  |  | 		"http://ehcache.org/apidocs/2.10.4", | 
					
						
							|  |  |  | 		"http://quartz-scheduler.org/api/2.2.1/", | 
					
						
							|  |  |  | 		"http://fasterxml.github.io/jackson-core/javadoc/2.8/", | 
					
						
							|  |  |  | 		"http://fasterxml.github.io/jackson-databind/javadoc/2.8/", | 
					
						
							|  |  |  | 		"http://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.8/", | 
					
						
							|  |  |  | 		"http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/" | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 	] as String[] | 
					
						
							| 
									
										
											  
											
												Upgrade to JUnit 4.11 snapshot in support of JDK7
Class#getDeclaredMembers returns arbitrary results under JDK7. This
results in non-deterministic execution of JUnit test methods, often
revealing unintended dependencies between methods that rely on a
specific order to succeed.
JUnit 4.11 contains support for predictable test ordering [1], but at
the time of this commit, JUnit 4.11 has not yet been released.
Therefore we are testing against a snapshot version [2], which has been
uploaded to repo.springsource.org [3] for easy access. Note that this
artifact may be removed when JUnit 4.11 goes GA.
 - Care has been taken to ensure that spring-test's compile-time
   dependency on JUnit remains at 4.10. This means that the spring-test
   pom.xml will continue to have an optional <dependency> on JUnit
   4.10, instead of the 4.11 snapshot.
 - For reasons not fully understood, the upgrade to the 4.11 snapshot
   of junit-dep caused NoSuchMethodErrors around certain Hamcrest
   types, particularly CoreMatchers and Matchers. import statements
   have been updated accordingly throughout affected test cases.
 - Runtime errors also occurred around uses of JUnit @Rule and
   ExpectedException. These have been reverted to use simpler
   mechanisms like @Test(expected) in the meantime.
 - Some test methods with order-based dependencies on one another have
   been renamed in order to fall in line with JUnit 4.11's new method
   ordering (as opposed to actually fixing the inter-test
   dependencies). In other areas, the fix was as simple as adding a
   tearDown method and cleaning up state.
 - For no apparent reason, the timeout in AspectJAutoProxyCreatorTests'
   testAspectsAndAdvisorNotAppliedToPrototypeIsFastEnough method begins
   to be exceeded. Prior to this commit the timeout value was 3000 ms;
   on the CI server under Linux/JDK6 and JDK7, the test begins taking
   anywhere from 3500-5500 ms with this commit. It is presumed that
   this is an incidental artifact of the upgrade to JUnit 4.11. In any
   case, there are no changes to src/main in this commit, so this
   should not actually represent a performance risk for Spring
   Framework users. The timeout has been increased to 6000 ms to
   accommodate this situation.
[1]: https://github.com/KentBeck/junit/pull/293
[2]: https://github.com/downloads/KentBeck/junit/junit-dep-4.11-SNAPSHOT-20120805-1225.jar
[3]: https://repo.springsource.org/simple/ext-release-local/junit/junit-dep/4.11.20120805.1225
Issue: SPR-9783
											
										 
											2012-09-10 03:41:39 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | configure(subprojects - project(":spring-build-src")) { subproject -> | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	apply from: "${gradleScriptDir}/publish-maven.gradle" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	jar { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		manifest.attributes["Implementation-Title"] = subproject.name | 
					
						
							|  |  |  | 		manifest.attributes["Implementation-Version"] = subproject.version | 
					
						
							|  |  |  | 		manifest.attributes["Automatic-Module-Name"] = subproject.name.replace('-', '.')  // for Jigsaw
 | 
					
						
							|  |  |  | 		manifest.attributes["Created-By"] = | 
					
						
							|  |  |  | 				"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-29 23:56:50 +08:00
										 |  |  | 		from("${rootProject.projectDir}/src/docs/dist") { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			include "license.txt" | 
					
						
							|  |  |  | 			include "notice.txt" | 
					
						
							|  |  |  | 			into "META-INF" | 
					
						
							|  |  |  | 			expand(copyright: new Date().format("yyyy"), version: project.version) | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	javadoc { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		description = "Generates project-level javadoc for use in -javadoc jar" | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 		options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED | 
					
						
							|  |  |  | 		options.author = true | 
					
						
							|  |  |  | 		options.header = project.name | 
					
						
							| 
									
										
										
										
											2017-04-11 06:11:44 +08:00
										 |  |  | 		options.use = true | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 		options.links(project.ext.javadocLinks) | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		options.addStringOption("Xdoclint:none", "-quiet") | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-25 20:31:01 +08:00
										 |  |  | 		// Suppress warnings due to cross-module @see and @link references.
 | 
					
						
							|  |  |  | 		// Note that global 'api' task does display all warnings.
 | 
					
						
							| 
									
										
											  
											
												Eliminate all Javadoc warnings
 - Support external Javadoc links using Gradle's javadoc.options.links
 - Fix all other Javadoc warnings, such as typos, references to
   non-existent (or no longer existent) types and members, etc,
   including changes related to the Quartz 2.0 upgrade (SPR-8275) and
   adding the HTTP PATCH method (SPR-7985).
 - Suppress all output for project-level `javadoc` tasks in order to
   hide false-negative warnings about cross-module @see and @link
   references (e.g. spring-core having a @see reference to spring-web).
   Use the `--info` (-i) flag to gradle at any time to see project-level
   javadoc warnings without running the entire `api` task. e.g.
   `gradle :spring-core:javadoc -i`
 - Favor root project level `api` task for detection of legitimate
   Javadoc warnings. There are now zero Javadoc warnings across the
   entirety of spring-framework. Goal: keep it that way.
 - Remove all @link and @see references to types and members that exist
   only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
   respectively. This is necessary because only one version of each of
   these dependencies can be present on the global `api` javadoc task's
   classpath. To that end, the `api` task classpath has now been
   customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
   have precedence.
 - SPR-8896 replaced our dependency on aspectjrt with a dependency on
   aspectjweaver, which is fine from a POM point of view, but causes
   a spurious warning to be emitted from the ant iajc task that it
   "cannot find aspectjrt on the classpath" - even though aspectjweaver
   is perfectly sufficient. In the name of keeping the console quiet, a
   new `rt` configuration has been added, and aspectjrt added as a
   dependency to it. In turn, configurations.rt.asPath is appended to
   the iajc classpath during both compileJava and compileTestJava for
   spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
											
										 
											2012-12-11 18:56:38 +08:00
										 |  |  | 		logging.captureStandardError LogLevel.INFO | 
					
						
							| 
									
										
										
										
											2016-11-25 20:31:01 +08:00
										 |  |  | 		logging.captureStandardOutput LogLevel.INFO  // suppress "## warnings" message
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-15 20:39:22 +08:00
										 |  |  | 	task sourcesJar(type: Jar, dependsOn: classes) { | 
					
						
							| 
									
										
										
										
											2017-04-24 19:12:48 +08:00
										 |  |  | 		duplicatesStrategy = DuplicatesStrategy.EXCLUDE | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		classifier = "sources" | 
					
						
							| 
									
										
										
										
											2014-08-15 23:27:19 +08:00
										 |  |  | 		from sourceSets.main.allSource | 
					
						
							| 
									
										
										
										
											2016-11-25 20:31:01 +08:00
										 |  |  | 		// Don't include or exclude anything explicitly by default. See SPR-12085.
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	task javadocJar(type: Jar) { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		classifier = "javadoc" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 		from javadoc | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	artifacts { | 
					
						
							|  |  |  | 		archives sourcesJar | 
					
						
							|  |  |  | 		archives javadocJar | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2011-12-15 08:56:31 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-01-17 05:28:06 +08:00
										 |  |  | configure(rootProject) { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	description = "Spring Framework" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	apply plugin: "groovy" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	apply from: "${gradleScriptDir}/jdiff.gradle" | 
					
						
							| 
									
										
										
										
											2017-01-05 00:51:58 +08:00
										 |  |  | 	apply from: "${gradleScriptDir}/docs.gradle" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-10 03:12:15 +08:00
										 |  |  | 	dependencyManagement { | 
					
						
							|  |  |  | 		imports { | 
					
						
							|  |  |  | 			mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	// Don't publish the default jar for the root project
 | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	configurations.archives.artifacts.clear() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 05:38:25 +08:00
										 |  |  | 	dependencies {  // for integration tests
 | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 		testCompile(project(":spring-aop")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-beans")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-context")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-core")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-expression")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-jdbc")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-orm")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-test")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-tx")) | 
					
						
							|  |  |  | 		testCompile(project(":spring-web")) | 
					
						
							|  |  |  | 		testCompile("javax.inject:javax.inject:1") | 
					
						
							|  |  |  | 		testCompile("javax.resource:javax.resource-api:1.7.1") | 
					
						
							|  |  |  | 		testCompile("javax.servlet:javax.servlet-api:3.1.0") | 
					
						
							| 
									
										
										
										
											2012-12-07 08:57:16 +08:00
										 |  |  | 		testCompile("org.aspectj:aspectjweaver:${aspectjVersion}") | 
					
						
							| 
									
										
										
										
											2013-11-22 07:48:17 +08:00
										 |  |  | 		testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") | 
					
						
							| 
									
										
										
										
											2018-09-14 00:23:42 +08:00
										 |  |  | 		testCompile("org.hibernate:hibernate-core:5.1.16.Final") | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	artifacts { | 
					
						
							|  |  |  | 		archives docsZip | 
					
						
							|  |  |  | 		archives schemaZip | 
					
						
							|  |  |  | 		archives distZip | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-02 22:37:45 +08:00
										 |  |  | 	wrapper { | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 		doLast() { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			def gradleOpts = "-XX:MaxMetaspaceSize=1024m -Xmx1024m" | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 			def gradleBatOpts = "$gradleOpts -XX:MaxHeapSize=256m" | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			File wrapperFile = file("gradlew") | 
					
						
							|  |  |  | 			wrapperFile.text = wrapperFile.text.replace("DEFAULT_JVM_OPTS=", | 
					
						
							| 
									
										
										
										
											2017-09-19 21:35:10 +08:00
										 |  |  | 					"GRADLE_OPTS=\"$gradleOpts \$GRADLE_OPTS\"\nDEFAULT_JVM_OPTS=") | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 			File wrapperBatFile = file("gradlew.bat") | 
					
						
							|  |  |  | 			wrapperBatFile.text = wrapperBatFile.text.replace("set DEFAULT_JVM_OPTS=", | 
					
						
							| 
									
										
										
										
											2017-09-19 21:35:10 +08:00
										 |  |  | 					"set GRADLE_OPTS=$gradleBatOpts %GRADLE_OPTS%\nset DEFAULT_JVM_OPTS=") | 
					
						
							| 
									
										
										
										
											2012-12-07 04:56:24 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2012-11-01 08:29:00 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2013-01-03 21:06:02 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Support publication of artifacts versioned by topic branch. | 
					
						
							|  |  |  |  * CI builds supply `-P BRANCH_NAME=<TOPIC>` to gradle at build time. | 
					
						
							|  |  |  |  * If <TOPIC> starts with 'SPR-', change version | 
					
						
							|  |  |  |  *     from BUILD-SNAPSHOT => <TOPIC>-SNAPSHOT | 
					
						
							|  |  |  |  *     e.g. 3.2.1.BUILD-SNAPSHOT => 3.2.1.SPR-1234-SNAPSHOT | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | def qualifyVersionIfNecessary(version) { | 
					
						
							| 
									
										
										
										
											2018-08-16 21:32:44 +08:00
										 |  |  | 	if (rootProject.hasProperty("BRANCH_NAME")) { | 
					
						
							|  |  |  | 		def qualifier = rootProject.getProperty("BRANCH_NAME") | 
					
						
							|  |  |  | 		if (qualifier.startsWith("SPR-")) { | 
					
						
							|  |  |  | 			return version.replace("BUILD", qualifier) | 
					
						
							| 
									
										
										
										
											2013-01-03 21:06:02 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2013-01-04 06:54:52 +08:00
										 |  |  | 	return version | 
					
						
							| 
									
										
										
										
											2013-01-03 21:06:02 +08:00
										 |  |  | } |