61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groovy
		
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groovy
		
	
	
	
|  | apply plugin: 'maven' | ||
|  | 
 | ||
|  | optionalDeps = [] | ||
|  | providedDeps = [] | ||
|  | 
 | ||
|  | optional = { optionalDeps << it } | ||
|  | provided = { providedDeps << it } | ||
|  | 
 | ||
|  | install { | ||
|  |     repositories.mavenInstaller { | ||
|  |         customizePom(pom, project) | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | def customizePom(pom, gradleProject) { | ||
|  |     pom.whenConfigured { generatedPom -> | ||
|  |         // respect 'optional' and 'provided' dependencies
 | ||
|  |         gradleProject.optionalDeps.each { dep -> | ||
|  |             generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true | ||
|  |         } | ||
|  |         gradleProject.providedDeps.each { dep -> | ||
|  |             generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided' | ||
|  |         } | ||
|  | 
 | ||
|  |         // eliminate test-scoped dependencies (no need in maven central poms)
 | ||
|  |         generatedPom.dependencies.removeAll { dep -> | ||
|  |             dep.scope == 'test' | ||
|  |         } | ||
|  | 
 | ||
|  |         // add all items necessary for maven central publication
 | ||
|  |         generatedPom.project { | ||
|  |             name = gradleProject.description | ||
|  |             description = gradleProject.description | ||
|  |             url = 'https://github.com/SpringSource/spring-framework' | ||
|  |             organization { | ||
|  |                 name = 'SpringSource' | ||
|  |                 url = 'http://springsource.org/spring-framework' | ||
|  |             } | ||
|  |             licenses { | ||
|  |                 license { | ||
|  |                     name 'The Apache Software License, Version 2.0' | ||
|  |                     url 'http://www.apache.org/licenses/LICENSE-2.0.txt' | ||
|  |                     distribution 'repo' | ||
|  |                 } | ||
|  |             } | ||
|  |             scm { | ||
|  |                 url = 'https://github.com/SpringSource/spring-framework' | ||
|  |                 connection = 'scm:git:git://github.com/SpringSource/spring-framework' | ||
|  |                 developerConnection = 'scm:git:git://github.com/SpringSource/spring-framework' | ||
|  |             } | ||
|  |             developers { | ||
|  |                 developer { | ||
|  |                     id = 'jhoeller' | ||
|  |                     name = 'Juergen Hoeller' | ||
|  |                     email = 'jhoeller@vmware.com' | ||
|  |                 } | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | } |