83
83
zookeeperVersion = ' 3.6.3'
84
84
85
85
idPrefix = ' kafka'
86
+
87
+ javaProjects = subprojects - project(' :spring-kafka-bom' )
88
+
86
89
}
87
90
88
91
nohttp {
@@ -127,10 +130,10 @@ allprojects {
127
130
128
131
}
129
132
130
- subprojects { subproject ->
133
+ configure(javaProjects) { subproject ->
131
134
apply plugin : ' java-library'
132
135
apply plugin : ' java'
133
- apply from : " ${ rootProject.projectDir} /publish-maven.gradle"
136
+ apply from : " ${ rootProject.projectDir} /gradle/ publish-maven.gradle"
134
137
apply plugin : ' eclipse'
135
138
apply plugin : ' idea'
136
139
apply plugin : ' jacoco'
@@ -356,6 +359,35 @@ project ('spring-kafka') {
356
359
357
360
}
358
361
362
+ project(' spring-kafka-bom' ) {
363
+ description = ' Spring for Apache Kafka (Bill of Materials)'
364
+
365
+ apply plugin : ' java-platform'
366
+ apply from : " ${ rootDir} /gradle/publish-maven.gradle"
367
+
368
+ dependencies {
369
+ constraints {
370
+ javaProjects. sort { " $it . name " }. each {
371
+ if (it. name != ' spring-kafka-docs' ) {
372
+ api it
373
+ }
374
+ }
375
+ }
376
+ }
377
+
378
+ publishing {
379
+ publications {
380
+ mavenJava(MavenPublication ) {
381
+ from components. javaPlatform
382
+ }
383
+ }
384
+ }
385
+
386
+ sonarqube {
387
+ skipProject = true
388
+ }
389
+ }
390
+
359
391
project (' spring-kafka-test' ) {
360
392
description = ' Spring Kafka Test Support'
361
393
@@ -544,11 +576,11 @@ task api(type: Javadoc) {
544
576
addBooleanOption(' Xdoclint:syntax' , true ) // only check syntax with doclint
545
577
}
546
578
547
- source subprojects . collect { project ->
579
+ source javaProjects . collect { project ->
548
580
project. sourceSets. main. allJava
549
581
}
550
582
551
- classpath = files(subprojects . collect { project ->
583
+ classpath = files(javaProjects . collect { project ->
552
584
project. sourceSets. main. compileClasspath
553
585
})
554
586
destinationDir = new File (buildDir, ' api' )
@@ -602,13 +634,19 @@ task distZip(type: Zip, dependsOn: [docsZip]) { //, schemaZip]) {
602
634
into " ${ baseDir} /docs"
603
635
}
604
636
605
- subprojects . each { subproject ->
637
+ javaProjects . each { subproject ->
606
638
into (" ${ baseDir} /libs" ) {
607
639
from subproject. jar
608
640
from subproject. sourcesJar
609
641
from subproject. javadocJar
610
642
}
611
643
}
644
+
645
+ from(project(' :spring-kafka-bom' ). generatePomFileForMavenJavaPublication) {
646
+ into " ${ baseDir} /libs"
647
+ rename ' pom-default.xml' , " spring-kafka-bom-${ project.version} .xml"
648
+ }
649
+
612
650
}
613
651
614
652
artifacts {
@@ -621,7 +659,7 @@ task dist(dependsOn: assemble) {
621
659
description = ' Builds -dist, -docs distribution archives.'
622
660
}
623
661
624
- apply from : " ${ rootProject.projectDir} /publish-maven.gradle"
662
+ apply from : " ${ rootProject.projectDir} /gradle/ publish-maven.gradle"
625
663
626
664
publishing {
627
665
publications {
0 commit comments