@@ -170,27 +170,12 @@ configure(javaProjects) { subproject ->
170
170
171
171
apply from : " ${ rootProject.projectDir} /gradle/publish-maven.gradle"
172
172
173
- def scopeAttribute = Attribute . of(' dependency.scope' , String )
174
-
175
- configurations {
176
- optional {
177
- attributes {
178
- attribute(scopeAttribute, ' optional' )
179
- }
180
- }
181
-
182
- compileClasspath. extendsFrom(optional)
183
- testCompileClasspath. extendsFrom(optional)
184
- testRuntimeClasspath. extendsFrom(optional)
185
- }
186
-
187
- components. java. addVariantsFromConfiguration(configurations. optional) {
188
- mapToOptional()
189
- }
190
-
191
173
java {
192
174
withJavadocJar()
193
175
withSourcesJar()
176
+ registerFeature(' optional' ) {
177
+ usingSourceSet(sourceSets. main)
178
+ }
194
179
}
195
180
196
181
compileJava {
@@ -211,10 +196,6 @@ configure(javaProjects) { subproject ->
211
196
212
197
// dependencies that are common across all java projects
213
198
dependencies {
214
- attributesSchema {
215
- attribute(scopeAttribute)
216
- }
217
-
218
199
def spotbugsAnnotations = " com.github.spotbugs:spotbugs-annotations:${ spotbugs.toolVersion.get()} "
219
200
compileOnly spotbugsAnnotations
220
201
testCompileOnly spotbugsAnnotations
@@ -262,7 +243,6 @@ configure(javaProjects) { subproject ->
262
243
tasks. register(' updateCopyrights' ) {
263
244
onlyIf { ! isCI }
264
245
inputs. files(modifiedFiles. filter { f -> f. path. contains(subproject. name) })
265
- outputs. dir(' build/classes' )
266
246
267
247
doLast {
268
248
def now = Calendar . instance. get(Calendar . YEAR ) as String
@@ -375,26 +355,26 @@ project('spring-amqp') {
375
355
api(" org.springframework.retry:spring-retry:$springRetryVersion " ) {
376
356
exclude group : ' org.springframework'
377
357
}
378
- optional ' org.springframework:spring-messaging'
379
- optional ' org.springframework:spring-oxm'
380
- optional ' org.springframework:spring-context'
381
- optional ' com.fasterxml.jackson.core:jackson-core'
382
- optional ' com.fasterxml.jackson.core:jackson-databind'
383
- optional ' com.fasterxml.jackson.core:jackson-annotations'
384
- optional ' com.fasterxml.jackson.dataformat:jackson-dataformat-xml'
385
- optional ' com.fasterxml.jackson.datatype:jackson-datatype-jdk8'
386
- optional ' com.fasterxml.jackson.module:jackson-module-parameter-names'
387
- optional ' com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
388
- optional ' com.fasterxml.jackson.datatype:jackson-datatype-joda'
389
- optional (' com.fasterxml.jackson.module:jackson-module-kotlin' ) {
358
+ optionalApi ' org.springframework:spring-messaging'
359
+ optionalApi ' org.springframework:spring-oxm'
360
+ optionalApi ' org.springframework:spring-context'
361
+ optionalApi ' com.fasterxml.jackson.core:jackson-core'
362
+ optionalApi ' com.fasterxml.jackson.core:jackson-databind'
363
+ optionalApi ' com.fasterxml.jackson.core:jackson-annotations'
364
+ optionalApi ' com.fasterxml.jackson.dataformat:jackson-dataformat-xml'
365
+ optionalApi ' com.fasterxml.jackson.datatype:jackson-datatype-jdk8'
366
+ optionalApi ' com.fasterxml.jackson.module:jackson-module-parameter-names'
367
+ optionalApi ' com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
368
+ optionalApi ' com.fasterxml.jackson.datatype:jackson-datatype-joda'
369
+ optionalApi (' com.fasterxml.jackson.module:jackson-module-kotlin' ) {
390
370
exclude group : ' org.jetbrains.kotlin'
391
371
}
392
372
// Spring Data projection message binding support
393
- optional (' org.springframework.data:spring-data-commons' ) {
373
+ optionalApi (' org.springframework.data:spring-data-commons' ) {
394
374
exclude group : ' org.springframework'
395
375
exclude group : ' io.micrometer'
396
376
}
397
- optional " com.jayway.jsonpath:json-path:$jaywayJsonPathVersion "
377
+ optionalApi " com.jayway.jsonpath:json-path:$jaywayJsonPathVersion "
398
378
399
379
testImplementation " org.assertj:assertj-core:$assertjVersion "
400
380
}
@@ -434,22 +414,22 @@ project('spring-rabbit') {
434
414
api ' org.springframework:spring-messaging'
435
415
api ' org.springframework:spring-tx'
436
416
api ' io.micrometer:micrometer-observation'
437
- optional ' org.springframework:spring-aop'
438
- optional ' org.springframework:spring-webflux'
439
- optional " org.apache.httpcomponents.client5:httpclient5:$commonsHttpClientVersion "
440
- optional ' io.projectreactor:reactor-core'
441
- optional ' io.projectreactor.netty:reactor-netty-http'
442
- optional " ch.qos.logback:logback-classic:$logbackVersion "
443
- optional ' org.apache.logging.log4j:log4j-core'
444
- optional ' io.micrometer:micrometer-core'
445
- optional ' io.micrometer:micrometer-tracing'
417
+ optionalApi ' org.springframework:spring-aop'
418
+ optionalApi ' org.springframework:spring-webflux'
419
+ optionalApi " org.apache.httpcomponents.client5:httpclient5:$commonsHttpClientVersion "
420
+ optionalApi ' io.projectreactor:reactor-core'
421
+ optionalApi ' io.projectreactor.netty:reactor-netty-http'
422
+ optionalApi " ch.qos.logback:logback-classic:$logbackVersion "
423
+ optionalApi ' org.apache.logging.log4j:log4j-core'
424
+ optionalApi ' io.micrometer:micrometer-core'
425
+ optionalApi ' io.micrometer:micrometer-tracing'
446
426
// Spring Data projection message binding support
447
- optional (" org.springframework.data:spring-data-commons" ) {
427
+ optionalApi (" org.springframework.data:spring-data-commons" ) {
448
428
exclude group : ' org.springframework'
449
429
}
450
- optional " com.jayway.jsonpath:json-path:$jaywayJsonPathVersion "
451
- optional " org.apache.commons:commons-pool2:$commonsPoolVersion "
452
- optional " org.jetbrains.kotlinx:kotlinx-coroutines-reactor:$kotlinCoroutinesVersion "
430
+ optionalApi " com.jayway.jsonpath:json-path:$jaywayJsonPathVersion "
431
+ optionalApi " org.apache.commons:commons-pool2:$commonsPoolVersion "
432
+ optionalApi " org.jetbrains.kotlinx:kotlinx-coroutines-reactor:$kotlinCoroutinesVersion "
453
433
454
434
testApi project(' :spring-rabbit-junit' )
455
435
testImplementation(" com.willowtreeapps.assertk:assertk-jvm:$assertkVersion " )
@@ -483,7 +463,7 @@ project('spring-rabbit-stream') {
483
463
dependencies {
484
464
api project(' :spring-rabbit' )
485
465
api " com.rabbitmq:stream-client:$rabbitmqStreamVersion "
486
- optional ' io.micrometer:micrometer-core'
466
+ optionalApi ' io.micrometer:micrometer-core'
487
467
488
468
testApi project(' :spring-rabbit-junit' )
489
469
testRuntimeOnly ' com.fasterxml.jackson.core:jackson-core'
@@ -515,13 +495,13 @@ project('spring-rabbit-junit') {
515
495
api ' org.springframework:spring-web'
516
496
api ' org.junit.jupiter:junit-jupiter-api'
517
497
api " org.assertj:assertj-core:$assertjVersion "
518
- optional (" junit:junit:$junit4Version " ) {
498
+ optionalApi (" junit:junit:$junit4Version " ) {
519
499
exclude group : ' org.hamcrest' , module : ' hamcrest-core'
520
500
}
521
- optional " org.testcontainers:rabbitmq"
522
- optional " org.testcontainers:junit-jupiter"
523
- optional " ch.qos.logback:logback-classic:$logbackVersion "
524
- optional ' org.apache.logging.log4j:log4j-core'
501
+ optionalApi " org.testcontainers:rabbitmq"
502
+ optionalApi " org.testcontainers:junit-jupiter"
503
+ optionalApi " ch.qos.logback:logback-classic:$logbackVersion "
504
+ optionalApi ' org.apache.logging.log4j:log4j-core'
525
505
compileOnly ' org.apiguardian:apiguardian-api:1.0.0'
526
506
}
527
507
}
0 commit comments