Skip to content

Commit ce1bacf

Browse files
garyrussellartembilan
authored andcommitted
Upgrade Jackson version ; use BOM for dependencies
Use Spring Plugin for dependency management * Fix indents * - only import the BOM where needed * - use latest plugin version
1 parent 3f3bbd4 commit ce1bacf

File tree

2 files changed

+66
-26
lines changed

2 files changed

+66
-26
lines changed

build.gradle

Lines changed: 55 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ plugins {
1515
id 'org.asciidoctor.convert' version '1.6.1'
1616
id 'org.ajoberstar.grgit' version '3.1.1'
1717
id "io.spring.nohttp" version "0.0.3.RELEASE"
18+
id "io.spring.dependency-management" version "1.0.8.RELEASE" apply false
1819
}
1920

2021
description = 'Spring AMQP'
@@ -35,6 +36,26 @@ ext {
3536

3637
modifiedFiles =
3738
files(grgit.status().unstaged.modified).filter{ f -> f.name.endsWith('.java') || f.name.endsWith('.kt') }
39+
40+
assertjVersion = '3.12.2'
41+
assertkVersion = '0.19'
42+
commonsHttpClientVersion = '4.5.9'
43+
googleJsr305Version = '3.0.2'
44+
hamcrestVersion = '1.3'
45+
jackson2Version = '2.9.9.20190807'
46+
jaywayJsonPathVersion = '2.4.0'
47+
junit4Version = '4.12'
48+
junitJupiterVersion = '5.5.1'
49+
junitPlatformVersion = '1.5.1'
50+
log4jVersion = '2.12.0'
51+
logbackVersion = '1.2.3'
52+
mockitoVersion = '3.0.0'
53+
rabbitmqVersion = project.hasProperty('rabbitmqVersion') ? project.rabbitmqVersion : '5.7.3'
54+
rabbitmqHttpClientVersion = '3.2.0.RELEASE'
55+
reactorVersion = '3.3.0.BUILD-SNAPSHOT'
56+
springDataCommonsVersion = '2.2.0.BUILD-SNAPSHOT'
57+
springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.2.0.BUILD-SNAPSHOT'
58+
springRetryVersion = '1.2.4.RELEASE'
3859
}
3960

4061
nohttp {
@@ -45,6 +66,18 @@ nohttp {
4566
allprojects {
4667
group = 'org.springframework.amqp'
4768

69+
apply plugin: "io.spring.dependency-management"
70+
71+
dependencyManagement {
72+
resolutionStrategy {
73+
cacheChangingModulesFor 0, 'seconds'
74+
}
75+
applyMavenExclusions = false
76+
generatedPomCustomization {
77+
enabled = false
78+
}
79+
}
80+
4881
repositories {
4982
maven { url 'https://repo.spring.io/libs-release' }
5083
if (version.endsWith('BUILD-SNAPSHOT')) {
@@ -78,28 +111,6 @@ subprojects { subproject ->
78111
sourceCompatibility=1.8
79112
targetCompatibility=1.8
80113

81-
ext {
82-
assertjVersion = '3.12.2'
83-
assertkVersion = '0.19'
84-
commonsHttpClientVersion = '4.5.9'
85-
googleJsr305Version = '3.0.2'
86-
hamcrestVersion = '1.3'
87-
jackson2Version = '2.9.9'
88-
jaywayJsonPathVersion = '2.4.0'
89-
junit4Version = '4.12'
90-
junitJupiterVersion = '5.5.1'
91-
junitPlatformVersion = '1.5.1'
92-
log4jVersion = '2.12.0'
93-
logbackVersion = '1.2.3'
94-
mockitoVersion = '3.0.0'
95-
rabbitmqVersion = project.hasProperty('rabbitmqVersion') ? project.rabbitmqVersion : '5.7.3'
96-
rabbitmqHttpClientVersion = '3.2.0.RELEASE'
97-
reactorVersion = '3.3.0.BUILD-SNAPSHOT'
98-
springDataCommonsVersion = '2.2.0.BUILD-SNAPSHOT'
99-
springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.2.0.BUILD-SNAPSHOT'
100-
springRetryVersion = '1.2.4.RELEASE'
101-
}
102-
103114
eclipse {
104115
project {
105116
natures += 'org.springframework.ide.eclipse.core.springnature'
@@ -278,6 +289,12 @@ subprojects { subproject ->
278289

279290
project('spring-amqp') {
280291
description = 'Spring AMQP Core'
292+
dependencyManagement {
293+
imports {
294+
mavenBom "com.fasterxml.jackson:jackson-bom:$jackson2Version"
295+
}
296+
}
297+
281298
dependencies {
282299

283300
compile "org.springframework:spring-core:$springVersion"
@@ -288,9 +305,9 @@ project('spring-amqp') {
288305
exclude group: 'org.springframework'
289306
}
290307

291-
compile ("com.fasterxml.jackson.core:jackson-core:$jackson2Version", optional)
292-
compile ("com.fasterxml.jackson.core:jackson-databind:$jackson2Version", optional)
293-
compile ("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jackson2Version", optional)
308+
compile ("com.fasterxml.jackson.core:jackson-core", optional)
309+
compile ("com.fasterxml.jackson.core:jackson-databind", optional)
310+
compile ("com.fasterxml.jackson.dataformat:jackson-dataformat-xml", optional)
294311

295312
// Spring Data projection message binding support
296313
compile ("org.springframework.data:spring-data-commons:$springDataCommonsVersion") {
@@ -307,6 +324,12 @@ project('spring-amqp') {
307324
project('spring-rabbit') {
308325
description = 'Spring RabbitMQ Support'
309326

327+
dependencyManagement {
328+
imports {
329+
mavenBom "com.fasterxml.jackson:jackson-bom:$jackson2Version"
330+
}
331+
}
332+
310333
dependencies {
311334

312335
compile project(":spring-amqp")
@@ -328,7 +351,7 @@ project('spring-rabbit') {
328351
testCompile("com.willowtreeapps.assertk:assertk-jvm:$assertkVersion")
329352
testRuntime "org.springframework:spring-web:$springVersion"
330353
testRuntime "org.apache.httpcomponents:httpclient:$commonsHttpClientVersion"
331-
testRuntime "com.fasterxml.jackson.module:jackson-module-kotlin:$jackson2Version"
354+
testRuntime "com.fasterxml.jackson.module:jackson-module-kotlin"
332355
}
333356

334357
compileTestKotlin {
@@ -364,6 +387,12 @@ project('spring-rabbit-junit') {
364387
project('spring-rabbit-test') {
365388
description = 'Spring Rabbit Test Support'
366389

390+
dependencyManagement {
391+
imports {
392+
mavenBom "com.fasterxml.jackson:jackson-bom:$jackson2Version"
393+
}
394+
}
395+
367396
dependencies {
368397

369398
compile project(":spring-rabbit")

publish-maven.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ install {
1414

1515
def customizePom(pom, gradleProject) {
1616
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+
1728
// respect 'optional' and 'provided' dependencies
1829
gradleProject.optionalDeps.each { dep ->
1930
generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true

0 commit comments

Comments
 (0)