Skip to content

Commit 6f9efb7

Browse files
committed
SWS-994 - Upgrade to Java 8, Spring 5, and everything else
Move Spring Web Services to 3.0.0.BUILD-SNAPSHOT Key updates include: * Rebase against Java 8 * Spring 5 * Smack 4.2 * Removal of wss4j 1.x support * Gradle 4.0 * Plugins
1 parent 208dda4 commit 6f9efb7

File tree

69 files changed

+169
-3994
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+169
-3994
lines changed

build.gradle

Lines changed: 43 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,23 @@ buildscript {
33
maven { url 'http://repo.springsource.org/plugins-release' }
44
}
55
dependencies {
6-
classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7'
6+
classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE'
77
classpath 'io.spring.gradle:docbook-reference-plugin:0.3.1'
8-
classpath 'io.spring.gradle:spring-io-plugin:0.0.4.RELEASE'
8+
classpath 'io.spring.gradle:spring-io-plugin:0.0.8.RELEASE'
99
}
1010
}
1111

1212
configure(allprojects) {
1313
group = "org.springframework.ws"
1414

15-
ext.springVersion = "4.2.9.RELEASE"
16-
ext.springSecurityVersion = "4.0.4.RELEASE"
15+
ext.springVersion = "5.0.0.RELEASE"
16+
ext.springSecurityVersion = "5.0.0.M4"
1717
ext.axiomVersion = "1.2.20"
18-
ext.smackVersion = "4.1.9"
18+
ext.smackVersion = "4.2.1"
19+
ext.sunMailVersion = "1.6.0"
20+
ext.xmlSchemaCoreVersion = "2.2.2"
21+
ext.commonsHttpclientVersion = "3.1"
22+
ext.aspectjVersion = "1.8.11"
1923

2024
apply plugin: "java"
2125

@@ -35,8 +39,8 @@ configure(allprojects) {
3539
"-Xlint:-unchecked", "-Xlint:-options"]
3640

3741
compileJava {
38-
sourceCompatibility=1.7
39-
targetCompatibility=1.7
42+
sourceCompatibility=1.8
43+
targetCompatibility=1.8
4044
}
4145

4246
sourceSets.test.resources.srcDirs = ['src/test/resources', 'src/test/java']
@@ -49,22 +53,19 @@ configure(allprojects) {
4953
exclude '**/*Abstract*.*'
5054
}
5155

52-
repositories {
53-
maven { url 'https://repo.spring.io/libs-release' }
54-
}
55-
5656
dependencies {
57-
compile("commons-logging:commons-logging:1.1.3")
57+
compile("commons-logging:commons-logging:1.2")
5858
compile("org.springframework:spring-core:$springVersion")
5959

6060
testCompile("junit:junit:4.12")
6161
testCompile("org.easymock:easymock:3.1")
6262
testCompile("xmlunit:xmlunit:1.5")
63-
testCompile("com.sun.mail:javax.mail:1.5.4")
63+
testCompile("com.sun.mail:javax.mail:$sunMailVersion")
6464
testRuntime("org.codehaus.woodstox:woodstox-core-asl:4.2.0")
6565
}
6666

6767
ext.javadocLinks = [
68+
"http://docs.oracle.com/javase/8/docs/api/",
6869
"http://docs.oracle.com/javase/7/docs/api/",
6970
"http://docs.oracle.com/javaee/6/api/",
7071
"http://docs.spring.io/spring/docs/current/javadoc-api/",
@@ -84,10 +85,14 @@ configure(subprojects) { subproject ->
8485
apply plugin: "propdeps-maven"
8586
apply from: "${rootProject.projectDir}/publish-maven.gradle"
8687

88+
repositories {
89+
maven { url "https://repo.spring.io/libs-snapshot" }
90+
maven { url "https://repo.spring.io/libs-release" }
91+
}
92+
8793
/**
8894
* To run an alternate profile...
89-
* ./gradlew -Pprofile=spring4-next clean build
90-
* ./gradlew -Pprofile=spring5 clean build
95+
* ./gradlew -Pprofile=springnext clean build
9196
*/
9297
if (project.hasProperty('profile')) {
9398
apply from: "${project.rootDir}/${profile}-profile.gradle"
@@ -168,7 +173,7 @@ project('spring-xml') {
168173
compile("org.springframework:spring-context:$springVersion")
169174

170175
//XML
171-
optional("org.apache.ws.xmlschema:xmlschema-core:2.1.0")
176+
optional("org.apache.ws.xmlschema:xmlschema-core:$xmlSchemaCoreVersion")
172177
optional("jaxen:jaxen:1.1.4")
173178
}
174179
}
@@ -187,14 +192,14 @@ project('spring-ws-core') {
187192
testCompile("org.springframework:spring-test:$springVersion")
188193

189194
// XML
190-
optional("org.jdom:jdom2:2.0.5")
195+
optional("org.jdom:jdom2:2.0.6")
191196
optional("dom4j:dom4j:1.6.1")
192197
optional("xom:xom:1.2.5") {
193198
exclude group: 'xml-apis', module: 'xml-apis'
194199
exclude group: 'xerces', module: 'xercesImpl'
195200
exclude group: 'xalan', module: 'xalan'
196201
}
197-
optional("org.apache.ws.xmlschema:xmlschema-core:2.1.0")
202+
optional("org.apache.ws.xmlschema:xmlschema-core:$xmlSchemaCoreVersion")
198203

199204
// SOAP
200205
optional("org.apache.ws.commons.axiom:axiom-api:$axiomVersion")
@@ -203,17 +208,19 @@ project('spring-ws-core') {
203208
}
204209

205210
// WSDL
206-
optional("wsdl4j:wsdl4j:1.6.1")
211+
optional("wsdl4j:wsdl4j:1.6.3")
207212

208213
// Transport
209-
provided("javax.servlet:javax.servlet-api:3.0.1")
210-
optional("org.apache.httpcomponents:httpclient:4.3.4")
211-
optional("commons-httpclient:commons-httpclient:3.1")
212-
testCompile("org.mortbay.jetty:jetty:6.1.26")
213-
214-
testCompile("log4j:log4j:1.2.16")
215-
testCompile("org.aspectj:aspectjrt:1.6.9")
216-
testRuntime("org.aspectj:aspectjweaver:1.6.9")
214+
provided("javax.servlet:javax.servlet-api:3.1.0")
215+
optional("org.apache.httpcomponents:httpclient:4.5.3")
216+
optional("commons-httpclient:commons-httpclient:$commonsHttpclientVersion")
217+
testCompile("org.mortbay.jetty:jetty:6.1.26") {
218+
exclude group: 'org.mortbay.jetty', module: 'servlet-api'
219+
}
220+
221+
testCompile("log4j:log4j:1.2.17")
222+
testCompile("org.aspectj:aspectjrt:$aspectjVersion")
223+
testRuntime("org.aspectj:aspectjweaver:$aspectjVersion")
217224
}
218225
}
219226

@@ -229,17 +236,17 @@ project('spring-ws-support') {
229236
testCompile("org.springframework:spring-test:$springVersion")
230237

231238
// Transport
232-
provided("javax.jms:jms-api:1.1-rev-1")
233-
provided("javax.mail:javax.mail-api:1.4.7")
234-
provided("com.sun.mail:javax.mail:1.4.7")
239+
provided("javax.jms:javax.jms-api:2.0.1")
240+
provided("javax.mail:javax.mail-api:1.6.0")
241+
provided("com.sun.mail:javax.mail:$sunMailVersion")
235242
optional("org.igniterealtime.smack:smack-tcp:$smackVersion")
236243
optional("org.igniterealtime.smack:smack-java7:$smackVersion")
237244
optional("org.igniterealtime.smack:smack-extensions:$smackVersion")
238-
testCompile("commons-httpclient:commons-httpclient:3.1")
239-
testRuntime("org.apache.activemq:activemq-core:4.1.2") {
245+
testCompile("commons-httpclient:commons-httpclient:$commonsHttpclientVersion")
246+
testRuntime("org.apache.activemq:activemq-core:5.7.0") {
240247
exclude group:'org.apache.geronimo.specs', module:'geronimo-jms_1.1_spec'
241248
}
242-
testCompile("org.jvnet.mock-javamail:mock-javamail:1.6") {
249+
testCompile("org.jvnet.mock-javamail:mock-javamail:1.9") {
243250
exclude group:'javax.mail', module:'mail'
244251
}
245252
}
@@ -258,18 +265,17 @@ project('spring-ws-security') {
258265

259266
// Spring Security
260267
compile("org.springframework.security:spring-security-core:$springSecurityVersion")
261-
optional("net.sf.ehcache:ehcache:2.8.4")
268+
optional("net.sf.ehcache:ehcache:2.10.4")
262269

263270
// WS-Security
264271
optional("com.sun.xml.wss:xws-security:3.0") {
265272
exclude group: 'javax.xml.crypto', module: 'xmldsig'
266273
}
267274

268-
compile("org.apache.ws.security:wss4j:1.6.19")
269-
compile("org.apache.wss4j:wss4j-ws-security-dom:2.1.4")
275+
compile("org.apache.wss4j:wss4j-ws-security-dom:2.2.0")
270276

271277
// SOAP
272-
provided("com.sun.xml.messaging.saaj:saaj-impl:1.3.19") // required for XWSS
278+
provided("com.sun.xml.messaging.saaj:saaj-impl:1.3.28") // required for XWSS
273279
optional("org.apache.ws.commons.axiom:axiom-api:$axiomVersion")
274280
optional("org.apache.ws.commons.axiom:axiom-impl:$axiomVersion") {
275281
exclude group: 'org.codehaus.woodstox', module: 'wstx-asl'
@@ -461,9 +467,4 @@ configure(rootProject) {
461467
archives schemaZip
462468
archives distZip
463469
}
464-
465-
task wrapper(type: Wrapper) {
466-
description = 'Generates gradlew[.bat] scripts'
467-
gradleVersion = '2.8'
468-
}
469470
}

circle.yml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
version: 2
2+
jobs:
3+
build:
4+
docker:
5+
- image: circleci/openjdk:8u141
6+
steps:
7+
- checkout
8+
- run: ./gradlew clean build
9+
- run: ./gradlew -Pprofile=springnext clean build
110
general:
211
branches:
312
ignore:
@@ -6,15 +15,3 @@ general:
615
dependencies:
716
cache_directories:
817
- "~/.m2"
9-
10-
machine:
11-
java:
12-
version: oraclejdk8
13-
environment:
14-
_JAVA_OPTIONS: "-Xms1024m -Xmx2048m"
15-
16-
test:
17-
override:
18-
- ./gradlew clean build
19-
- ./gradlew -Pprofile=spring4-next clean build
20-
- ./gradlew -Pprofile=spring5 clean build

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version=2.4.1.BUILD-SNAPSHOT
1+
version=3.0.0.BUILD-SNAPSHOT

gradle/wrapper/gradle-wrapper.jar

1.05 KB
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Jan 20 16:03:00 CST 2016
1+
#Wed Oct 04 12:56:30 CDT 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-bin.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-bin.zip

gradlew

Lines changed: 42 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,43 @@
1-
#!/usr/bin/env bash
1+
#!/usr/bin/env sh
22

33
##############################################################################
44
##
55
## Gradle start up script for UN*X
66
##
77
##############################################################################
88

9-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10-
DEFAULT_JVM_OPTS=""
9+
# Attempt to set APP_HOME
10+
# Resolve links: $0 may be a link
11+
PRG="$0"
12+
# Need this for relative symlinks.
13+
while [ -h "$PRG" ] ; do
14+
ls=`ls -ld "$PRG"`
15+
link=`expr "$ls" : '.*-> \(.*\)$'`
16+
if expr "$link" : '/.*' > /dev/null; then
17+
PRG="$link"
18+
else
19+
PRG=`dirname "$PRG"`"/$link"
20+
fi
21+
done
22+
SAVED="`pwd`"
23+
cd "`dirname \"$PRG\"`/" >/dev/null
24+
APP_HOME="`pwd -P`"
25+
cd "$SAVED" >/dev/null
1126

1227
APP_NAME="Gradle"
1328
APP_BASE_NAME=`basename "$0"`
1429

30+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31+
DEFAULT_JVM_OPTS=""
32+
1533
# Use the maximum available, or set MAX_FD != -1 to use that value.
1634
MAX_FD="maximum"
1735

18-
warn ( ) {
36+
warn () {
1937
echo "$*"
2038
}
2139

22-
die ( ) {
40+
die () {
2341
echo
2442
echo "$*"
2543
echo
@@ -30,6 +48,7 @@ die ( ) {
3048
cygwin=false
3149
msys=false
3250
darwin=false
51+
nonstop=false
3352
case "`uname`" in
3453
CYGWIN* )
3554
cygwin=true
@@ -40,26 +59,11 @@ case "`uname`" in
4059
MINGW* )
4160
msys=true
4261
;;
62+
NONSTOP* )
63+
nonstop=true
64+
;;
4365
esac
4466

45-
# Attempt to set APP_HOME
46-
# Resolve links: $0 may be a link
47-
PRG="$0"
48-
# Need this for relative symlinks.
49-
while [ -h "$PRG" ] ; do
50-
ls=`ls -ld "$PRG"`
51-
link=`expr "$ls" : '.*-> \(.*\)$'`
52-
if expr "$link" : '/.*' > /dev/null; then
53-
PRG="$link"
54-
else
55-
PRG=`dirname "$PRG"`"/$link"
56-
fi
57-
done
58-
SAVED="`pwd`"
59-
cd "`dirname \"$PRG\"`/" >/dev/null
60-
APP_HOME="`pwd -P`"
61-
cd "$SAVED" >/dev/null
62-
6367
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6468

6569
# Determine the Java command to use to start the JVM.
@@ -85,7 +89,7 @@ location of your Java installation."
8589
fi
8690

8791
# Increase the maximum file descriptors if we can.
88-
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
92+
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
8993
MAX_FD_LIMIT=`ulimit -H -n`
9094
if [ $? -eq 0 ] ; then
9195
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -150,11 +154,19 @@ if $cygwin ; then
150154
esac
151155
fi
152156

153-
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154-
function splitJvmOpts() {
155-
JVM_OPTS=("$@")
157+
# Escape application args
158+
save () {
159+
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160+
echo " "
156161
}
157-
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158-
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
162+
APP_ARGS=$(save "$@")
163+
164+
# Collect all arguments for the java command, following the shell quoting and substitution rules
165+
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166+
167+
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168+
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169+
cd "$(dirname "$0")"
170+
fi
159171

160-
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
172+
exec "$JAVACMD" "$@"

gradlew.bat

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
@rem Set local scope for the variables with windows NT shell
99
if "%OS%"=="Windows_NT" setlocal
1010

11-
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12-
set DEFAULT_JVM_OPTS=
13-
1411
set DIRNAME=%~dp0
1512
if "%DIRNAME%" == "" set DIRNAME=.
1613
set APP_BASE_NAME=%~n0
1714
set APP_HOME=%DIRNAME%
1815

16+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17+
set DEFAULT_JVM_OPTS=
18+
1919
@rem Find java.exe
2020
if defined JAVA_HOME goto findJavaFromJavaHome
2121

@@ -46,10 +46,9 @@ echo location of your Java installation.
4646
goto fail
4747

4848
:init
49-
@rem Get command-line arguments, handling Windowz variants
49+
@rem Get command-line arguments, handling Windows variants
5050

5151
if not "%OS%" == "Windows_NT" goto win9xME_args
52-
if "%@eval[2+2]" == "4" goto 4NT_args
5352

5453
:win9xME_args
5554
@rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
6059
if "x%~1" == "x" goto execute
6160

6261
set CMD_LINE_ARGS=%*
63-
goto execute
64-
65-
:4NT_args
66-
@rem Get arguments from the 4NT Shell from JP Software
67-
set CMD_LINE_ARGS=%$
6862

6963
:execute
7064
@rem Setup the command line

0 commit comments

Comments
 (0)