Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 39 additions & 33 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ configure(subprojects) { subproject ->

apply plugin: "eclipse"
apply plugin: "maven"
apply from: "${rootProject.projectDir}/publish-maven.gradle"

jar {
manifest.attributes["Created-By"] =
Expand Down Expand Up @@ -132,8 +133,8 @@ project('spring-xml') {
compile("org.springframework:spring-context:$springVersion")

//XML
optional("org.apache.ws.xmlschema:xmlschema-core:2.1.0")
optional("jaxen:jaxen:1.1.4")
compile("org.apache.ws.xmlschema:xmlschema-core:2.1.0", optional)
compile("jaxen:jaxen:1.1.4", optional)
}
}

Expand All @@ -151,28 +152,30 @@ project('spring-ws-core') {
testCompile("org.springframework:spring-test:$springVersion")

// XML
optional("org.jdom:jdom:2.0.1")
optional("dom4j:dom4j:1.6.1")
optional("xom:xom:1.2.5") {
compile("org.jdom:jdom:2.0.1", optional)
compile("dom4j:dom4j:1.6.1", optional)
compile("xom:xom:1.2.5") {
optional
exclude group: 'xml-apis', module: 'xml-apis'
exclude group: 'xerces', module: 'xercesImpl'
exclude group: 'xalan', module: 'xalan'
}
optional("org.apache.ws.xmlschema:xmlschema-core:2.1.0")
compile("org.apache.ws.xmlschema:xmlschema-core:2.1.0", optional)

// SOAP
optional("org.apache.ws.commons.axiom:axiom-api:$axiomVersion")
optional("org.apache.ws.commons.axiom:axiom-impl:$axiomVersion") {
compile("org.apache.ws.commons.axiom:axiom-api:$axiomVersion", optional)
compile("org.apache.ws.commons.axiom:axiom-impl:$axiomVersion") {
optional
exclude group: 'org.codehaus.woodstox', module: 'wstx-asl'
}

// WSDL
optional("wsdl4j:wsdl4j:1.6.1")
compile("wsdl4j:wsdl4j:1.6.1", optional)

// Transport
provided("javax.servlet:javax.servlet-api:3.0.1")
optional("org.apache.httpcomponents:httpclient:4.2.5")
optional("commons-httpclient:commons-httpclient:3.1")
compile("javax.servlet:javax.servlet-api:3.0.1", provided)
compile("org.apache.httpcomponents:httpclient:4.2.5", optional)
compile("commons-httpclient:commons-httpclient:3.1", optional)
testCompile("org.mortbay.jetty:jetty:6.1.26")

testCompile("log4j:log4j:1.2.16")
Expand All @@ -193,10 +196,10 @@ project('spring-ws-support') {
testCompile("org.springframework:spring-test:$springVersion")

// Transport
provided("javax.jms:jms-api:1.1-rev-1")
provided("javax.mail:javax.mail-api:1.4.7")
provided("com.sun.mail:javax.mail:1.4.7")
optional("jivesoftware:smack:3.1.0")
compile("javax.jms:jms-api:1.1-rev-1", provided)
compile("javax.mail:javax.mail-api:1.4.7", provided)
compile("com.sun.mail:javax.mail:1.4.7", provided)
compile("jivesoftware:smack:3.1.0", optional)
testCompile("commons-httpclient:commons-httpclient:3.1")
testRuntime("org.apache.activemq:activemq-core:4.1.2") {
exclude group:'org.apache.geronimo.specs', module:'geronimo-jms_1.1_spec'
Expand All @@ -219,24 +222,27 @@ project('spring-ws-security') {

// Spring Security
compile("org.springframework.security:spring-security-core:3.1.0.RELEASE")
optional("net.sf.ehcache:ehcache:2.6.3") {
exclude group: 'net.sf.ehcache', module: 'ehcache-terracotta'
compile("net.sf.ehcache:ehcache:2.6.3") {
optional
exclude group: 'net.sf.ehcache', module: 'ehcache-terracotta'
}

// WS-Security
optional("com.sun.xml.wss:xws-security:3.0") {
compile("com.sun.xml.wss:xws-security:3.0") {
optional
exclude group: 'javax.xml.crypto', module: 'xmldsig'
}
optional("org.apache.ws.security:wss4j:1.6.15")
compile("org.apache.ws.security:wss4j:1.6.15", optional)

// SOAP
provided("com.sun.xml.messaging.saaj:saaj-impl:1.3.19") // required for XWSS
optional("org.apache.ws.commons.axiom:axiom-api:$axiomVersion")
optional("org.apache.ws.commons.axiom:axiom-impl:$axiomVersion") {
compile("com.sun.xml.messaging.saaj:saaj-impl:1.3.19", provided) // required for XWSS
compile("org.apache.ws.commons.axiom:axiom-api:$axiomVersion", optional)
compile("org.apache.ws.commons.axiom:axiom-impl:$axiomVersion") {
optional
exclude group: 'org.codehaus.woodstox', module: 'wstx-asl'
}

}
}
}

project('spring-ws-test') {
Expand All @@ -246,7 +252,7 @@ project('spring-ws-test') {
compile project(":spring-xml")
compile project(":spring-ws-core")

// Spring
// Spring
compile("org.springframework:spring-context:$springVersion")


Expand Down Expand Up @@ -275,20 +281,20 @@ configure(rootProject) {
description = 'Generates aggregated Javadoc API documentation.'
title = "${rootProject.description} ${version} API"

dependsOn {
subprojects.collect {
it.tasks.getByName("jar")
}
}
dependsOn {
subprojects.collect {
it.tasks.getByName("jar")
}
}

options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
options.author = true
options.header = rootProject.description
options.overview = 'src/api/overview.html'
options.stylesheetFile = file("src/api/stylesheet.css")
options.stylesheetFile = file("src/api/stylesheet.css")
options.splitIndex = true
options.links(project.ext.javadocLinks)
options.addStringOption('Xdoclint:none', '-quiet')
options.links(project.ext.javadocLinks)
options.addStringOption('Xdoclint:none', '-quiet')

source subprojects.collect { project ->
project.sourceSets.main.allJava
Expand Down
75 changes: 75 additions & 0 deletions publish-maven.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
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 = 'http://projects.spring.io/spring-ws'
organization {
name = 'Spring IO'
url = 'https://spring.io'
}
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/spring-projects/spring-ws'
connection = 'scm:git:https://github.com/spring-projects/spring-ws.git'
developerConnection = 'scm:git:https://github.com/spring-projects/spring-ws.git'
}

issueManagement {
system = 'JIRA'
url = 'https://jira.spring.io/browse/SWS'
}

developers {
developer {
id = 'apoutsma'
name = 'Arjen Poutsma'
email = 'apoutsma@gopivotal.com'
roles = ["Project lead"]
}
developer {
id = 'tareqa'
name = 'Tareq Abed Rabbo'
email = 'tareq.abedrabbo@gmail.com'
roles = ["Developer"]
}
}
}
}
}