Skip to content
This repository was archived by the owner on Nov 10, 2025. It is now read-only.

Commit 2f1c1ed

Browse files
committed
Upgrade to Gradle 6; fix all the deprecations
1 parent 496d8e9 commit 2f1c1ed

File tree

5 files changed

+94
-138
lines changed

5 files changed

+94
-138
lines changed

build.gradle

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'java'
2+
id 'java-library'
33
id 'eclipse'
44
id 'idea'
55
id 'jacoco'
@@ -58,6 +58,11 @@ compileJava {
5858
targetCompatibility = 1.8
5959
}
6060

61+
java {
62+
withJavadocJar()
63+
withSourcesJar()
64+
}
65+
6166
sourceSets {
6267
test {
6368
resources {
@@ -88,43 +93,43 @@ jacoco {
8893

8994
checkstyle {
9095
configFile = file("${rootDir}/src/checkstyle/checkstyle.xml")
91-
toolVersion = '8.25'
96+
toolVersion = '8.26'
9297
}
9398

9499
dependencies {
95-
compile 'org.springframework.integration:spring-integration-core'
96-
compile 'org.springframework.cloud:spring-cloud-aws-core'
97-
compile 'com.fasterxml.jackson.core:jackson-databind'
100+
api 'org.springframework.integration:spring-integration-core'
101+
api 'org.springframework.cloud:spring-cloud-aws-core'
102+
api 'com.fasterxml.jackson.core:jackson-databind'
98103

99-
compile('org.springframework.cloud:spring-cloud-aws-messaging', optional)
100-
compile('org.springframework.integration:spring-integration-file', optional)
101-
compile('org.springframework.integration:spring-integration-http', optional)
104+
implementation 'org.springframework.cloud:spring-cloud-aws-messaging'
105+
implementation 'org.springframework.integration:spring-integration-file'
106+
implementation 'org.springframework.integration:spring-integration-http'
102107

103-
compile("com.amazonaws:amazon-kinesis-client:$kinesisClientVersion", optional)
104-
compile("com.amazonaws:amazon-kinesis-producer:$kinesisProducerVersion", optional)
108+
implementation "com.amazonaws:amazon-kinesis-client:$kinesisClientVersion"
109+
implementation "com.amazonaws:amazon-kinesis-producer:$kinesisProducerVersion"
105110

106-
compile('com.amazonaws:aws-java-sdk-kinesis', optional)
107-
compile('com.amazonaws:aws-java-sdk-dynamodb', optional)
108-
compile("com.amazonaws:dynamodb-lock-client:$dynamodbLockClientVersion", optional)
111+
implementation 'com.amazonaws:aws-java-sdk-kinesis'
112+
implementation 'com.amazonaws:aws-java-sdk-dynamodb'
113+
implementation "com.amazonaws:dynamodb-lock-client:$dynamodbLockClientVersion"
109114

110-
compile("javax.servlet:javax.servlet-api:$servletApiVersion", provided)
115+
implementation "javax.servlet:javax.servlet-api:$servletApiVersion"
111116

112-
testCompile ('org.springframework.integration:spring-integration-test') {
117+
testImplementation ('org.springframework.integration:spring-integration-test') {
113118
exclude group: 'junit'
114119
}
115120

116-
testCompile "org.assertj:assertj-core:$assertjVersion"
117-
testCompile "cloud.localstack:localstack-utils:$localstackVersion"
121+
testImplementation "org.assertj:assertj-core:$assertjVersion"
122+
testImplementation "cloud.localstack:localstack-utils:$localstackVersion"
118123

119-
testCompile ("org.awaitility:awaitility:$awaitilityVersion") {
124+
testImplementation ("org.awaitility:awaitility:$awaitilityVersion") {
120125
exclude group: 'org.hamcrest'
121126
}
122-
testCompile 'org.junit.jupiter:junit-jupiter-api'
127+
testImplementation 'org.junit.jupiter:junit-jupiter-api'
123128

124-
testRuntime "org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion"
125-
testRuntime "org.apache.logging.log4j:log4j-jcl:$log4jVersion"
126-
testRuntime 'org.junit.jupiter:junit-jupiter-engine'
127-
testRuntime 'org.junit.platform:junit-platform-launcher'
129+
testRuntimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion"
130+
testRuntimeOnly "org.apache.logging.log4j:log4j-jcl:$log4jVersion"
131+
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
132+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
128133
}
129134

130135
eclipse.project.natures += 'org.springframework.ide.eclipse.core.springnature'
@@ -159,7 +164,6 @@ ext.xLintArg = '-Xlint:all,-options'
159164
test {
160165
maxHeapSize = '1024m'
161166
jacoco {
162-
append = false
163167
destinationFile = file("$buildDir/jacoco.exec")
164168
}
165169
useJUnitPlatform()
@@ -210,21 +214,6 @@ task updateCopyrights {
210214

211215
compileJava.dependsOn updateCopyrights
212216

213-
task sourcesJar(type: Jar) {
214-
archiveClassifier = 'sources'
215-
from sourceSets.main.allJava
216-
}
217-
218-
task javadocJar(type: Jar) {
219-
archiveClassifier = 'javadoc'
220-
from javadoc
221-
}
222-
223-
artifacts {
224-
archives sourcesJar
225-
archives javadocJar
226-
}
227-
228217
sonarqube {
229218
properties {
230219
property 'sonar.jacoco.reportPath', "${buildDir.name}/jacoco.exec"
@@ -338,6 +327,8 @@ task depsZip(type: Zip, dependsOn: distZip) { zipTask ->
338327
}
339328

340329
artifacts {
330+
archives sourcesJar
331+
archives javadocJar
341332
archives distZip
342333
archives docsZip
343334
archives schemaZip

gradle/wrapper/gradle-wrapper.jar

3.01 KB
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

gradlew

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
154154
else
155155
eval `echo args$i`="\"$arg\""
156156
fi
157-
i=$((i+1))
157+
i=`expr $i + 1`
158158
done
159159
case $i in
160-
(0) set -- ;;
161-
(1) set -- "$args0" ;;
162-
(2) set -- "$args0" "$args1" ;;
163-
(3) set -- "$args0" "$args1" "$args2" ;;
164-
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165-
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166-
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167-
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168-
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169-
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
160+
0) set -- ;;
161+
1) set -- "$args0" ;;
162+
2) set -- "$args0" "$args1" ;;
163+
3) set -- "$args0" "$args1" "$args2" ;;
164+
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165+
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166+
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167+
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168+
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169+
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
170170
esac
171171
fi
172172

@@ -175,14 +175,9 @@ save () {
175175
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
176176
echo " "
177177
}
178-
APP_ARGS=$(save "$@")
178+
APP_ARGS=`save "$@"`
179179

180180
# Collect all arguments for the java command, following the shell quoting and substitution rules
181181
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
182182

183-
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
184-
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
185-
cd "$(dirname "$0")"
186-
fi
187-
188183
exec "$JAVACMD" "$@"

publish-maven.gradle

Lines changed: 51 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,52 @@
1-
apply plugin: 'maven'
2-
3-
ext.optionalDeps = []
4-
ext.providedDeps = []
5-
6-
ext.optional = { optionalDeps << it }
7-
ext.provided = { providedDeps << it }
8-
9-
install {
10-
repositories.mavenInstaller {
11-
customizePom(pom, project)
12-
}
13-
}
14-
15-
def customizePom(pom, gradleProject) {
16-
pom.whenConfigured { generatedPom ->
17-
18-
// sort to make pom dependencies order consistent to ease comparison of older poms
19-
generatedPom.dependencies = generatedPom.dependencies.sort { dep ->
20-
"$dep.scope:$dep.groupId:$dep.artifactId"
21-
}
22-
23-
def managedVersions = dependencyManagement.managedVersions
24-
generatedPom.dependencies.findAll{dep -> !dep.version }.each { dep ->
25-
dep.version = managedVersions["${dep.groupId}:${dep.artifactId}"]
26-
}
27-
28-
// respect 'optional' and 'provided' dependencies
29-
gradleProject.optionalDeps.each { dep ->
30-
generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
31-
}
32-
gradleProject.providedDeps.each { dep ->
33-
generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
34-
}
35-
36-
// eliminate test-scoped dependencies (no need in maven central poms)
37-
generatedPom.dependencies.removeAll { dep ->
38-
dep.scope == 'test'
39-
}
40-
41-
// add all items necessary for maven central publication
42-
generatedPom.project {
43-
name = gradleProject.description
44-
description = gradleProject.description
45-
url = 'https://github.com/spring-projects/spring-integration-aws'
46-
organization {
47-
name = 'SpringIO'
48-
url = 'https://spring.io'
49-
}
50-
licenses {
51-
license {
52-
name 'The Apache Software License, Version 2.0'
53-
url 'https://www.apache.org/licenses/LICENSE-2.0.txt'
54-
distribution 'repo'
55-
}
56-
}
57-
scm {
58-
url = 'https://github.com/spring-projects/spring-integration-aws'
59-
connection = 'scm:git:git://github.com/spring-projects/spring-integration-aws'
60-
developerConnection = 'scm:git:git://github.com/spring-projects/spring-integration-aws'
61-
}
62-
63-
developers {
64-
developer {
65-
id = 'amolnayak311'
66-
name = 'Amol Nayak'
67-
email = 'amolnayak311@gmail.com'
68-
}
69-
developer {
70-
id = 'ghillert'
71-
name = 'Gunnar Hillert'
72-
email = 'ghillert@pivotal.io'
73-
}
74-
developer {
75-
id = 'abilan'
76-
name = 'Artem Bilan'
77-
email = 'abilan@pivotal.io'
78-
}
79-
}
80-
}
81-
}
1+
apply plugin: 'maven-publish'
2+
3+
publishing {
4+
publications {
5+
mavenJava(MavenPublication) {
6+
from components.java
7+
pom {
8+
afterEvaluate {
9+
name = project.description
10+
description = project.description
11+
}
12+
url = 'https://github.com/spring-projects/spring-amqp'
13+
organization {
14+
name = 'Spring IO'
15+
url = 'https://spring.io/projects/spring-ampq'
16+
}
17+
licenses {
18+
license {
19+
name = 'Apache License, Version 2.0'
20+
url = 'https://www.apache.org/licenses/LICENSE-2.0'
21+
distribution = 'repo'
22+
}
23+
}
24+
scm {
25+
url = 'https://github.com/spring-projects/spring-integration-aws'
26+
connection = 'scm:git:git://github.com/spring-projects/spring-integration-aws'
27+
developerConnection = 'scm:git:git://github.com/spring-projects/spring-integration-aws'
28+
}
29+
developers {
30+
developer {
31+
id = 'artembilan'
32+
name = 'Artem Bilan'
33+
email = 'abilan@pivotal.io'
34+
roles = ['project lead']
35+
}
36+
}
37+
issueManagement {
38+
system = 'GitHub'
39+
url = 'https://github.com/spring-projects/spring-amqp/issues'
40+
}
41+
}
42+
versionMapping {
43+
usage('java-api') {
44+
fromResolutionResult()
45+
}
46+
usage('java-runtime') {
47+
fromResolutionResult()
48+
}
49+
}
50+
}
51+
}
8252
}

0 commit comments

Comments
 (0)