Project: Spring Framework
Code Location: git://github.com/SpringSource/spring-integration.gitmaster
Browse
/
Download File
publish-maven.gradle
apply plugin: 'maven'

ext.optionalDeps = []
ext.providedDeps = []

ext.optional = { optionalDeps << it }
ext.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-integration'
			organization {
				name = 'SpringSource'
				url = 'http://springsource.org'
			}
			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-integration'
				connection = 'scm:git:git://github.com/SpringSource/spring-integration'
				developerConnection = 'scm:git:git://github.com/SpringSource/spring-integration'
			}

			developers {
				developer {
					id = 'markfisher'
					name = 'Mark Fisher'
					email = 'markfisher@vmware.com'
				}
				developer {
					id = 'olegz'
					name = 'Oleg Zhurakousky'
					email = 'ozhurakousky@vmware.com'
				}
				developer {
					id = 'garyrussell'
					name = 'Gary Russell'
					email = 'grussell@vmware.com'
				}
				developer {
					id = 'ghillert'
					name = 'Gunnar Hillert'
					email = 'ghillert@vmware.com'
				}
			}
		}
	}
}