Skip to content

Commit 7502696

Browse files
committed
KAFKA-1362; Publish sources and javadoc jars; (also removed Scala 2.8.2-specific actions). Reviewed by Jun Rao and Joe Stein
1 parent eaf514b commit 7502696

File tree

7 files changed

+89
-440
lines changed

7 files changed

+89
-440
lines changed

README.md

+10
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ See our [web site](http://kafka.apache.org) for details on the project.
77

88
Follow instuctions in http://kafka.apache.org/documentation.html#quickstart
99

10+
### Building source jar ###
11+
./gradlew srcJar
12+
13+
### Building javadocs and scaladocs ###
14+
./gradlew javadoc
15+
./gradlew javadocJar # builds a jar from the javadocs
16+
./gradlew scaladoc
17+
./gradlew scaladocJar # builds a jar from the scaladocs
18+
./gradlew docsJar # builds both javadoc and scaladoc jar
19+
1020
### Running unit tests ###
1121
./gradlew test
1222

build.gradle

+75-32
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,68 @@ subprojects {
6767
}
6868
}
6969

70+
jar {
71+
from '../LICENSE'
72+
from '../NOTICE'
73+
}
74+
75+
tasks.withType(Javadoc) {
76+
task srcJar(type:Jar) {
77+
classifier = 'sources'
78+
from '../LICENSE'
79+
from '../NOTICE'
80+
from sourceSets.main.java
81+
}
82+
83+
task javadocJar(type: Jar, dependsOn: javadoc) {
84+
classifier 'javadoc'
85+
from '../LICENSE'
86+
from '../NOTICE'
87+
from javadoc.destinationDir
88+
}
89+
90+
task docsJar(type: Jar, dependsOn: javadocJar) { }
91+
92+
artifacts {
93+
archives srcJar
94+
archives javadocJar
95+
}
96+
}
97+
7098
tasks.withType(ScalaCompile) {
99+
task srcJar(type:Jar, overwrite: true) {
100+
classifier = 'sources'
101+
from '../LICENSE'
102+
from '../NOTICE'
103+
from sourceSets.main.scala
104+
from sourceSets.main.java
105+
}
106+
71107
scalaCompileOptions.useAnt = false
108+
72109
configure(scalaCompileOptions.forkOptions) {
73110
memoryMaximumSize = '1g'
74111
jvmArgs = ['-XX:MaxPermSize=512m']
75112
}
76113
}
114+
115+
tasks.withType(ScalaDoc) {
116+
task scaladocJar(type:Jar) {
117+
classifier = 'scaladoc'
118+
from '../LICENSE'
119+
from '../NOTICE'
120+
from scaladoc
121+
}
122+
123+
task docsJar(type: Jar, dependsOn: ['javadocJar', 'scaladocJar'], overwrite: true) { }
124+
125+
artifacts {
126+
archives scaladocJar
127+
}
128+
}
77129
}
78130

79-
for ( sv in ['2_8_0', '2_8_2', '2_9_1', '2_9_2', '2_10_1'] ) {
131+
for ( sv in ['2_8_0', '2_9_1', '2_9_2', '2_10_1'] ) {
80132
String svInDot = sv.replaceAll( "_", ".")
81133

82134
tasks.create(name: "jar_core_${sv}", type: GradleBuild) {
@@ -91,6 +143,18 @@ for ( sv in ['2_8_0', '2_8_2', '2_9_1', '2_9_2', '2_10_1'] ) {
91143
startParameter.projectProperties = [scalaVersion: "${svInDot}"]
92144
}
93145

146+
tasks.create(name: "srcJar_${sv}", type: GradleBuild) {
147+
buildFile = './build.gradle'
148+
tasks = ['core:srcJar']
149+
startParameter.projectProperties = [scalaVersion: "${svInDot}"]
150+
}
151+
152+
tasks.create(name: "docsJar_${sv}", type: GradleBuild) {
153+
buildFile = './build.gradle'
154+
tasks = ['core:docsJar']
155+
startParameter.projectProperties = [scalaVersion: "${svInDot}"]
156+
}
157+
94158
tasks.create(name: "releaseTarGz_${sv}", type: GradleBuild) {
95159
buildFile = './build.gradle'
96160
tasks = ['releaseTarGz']
@@ -104,16 +168,20 @@ for ( sv in ['2_8_0', '2_8_2', '2_9_1', '2_9_2', '2_10_1'] ) {
104168
}
105169
}
106170

107-
tasks.create(name: "jarAll", dependsOn: ['jar_core_2_8_0', 'jar_core_2_8_2', 'jar_core_2_9_1', 'jar_core_2_9_2', 'jar_core_2_10_1', 'clients:jar', 'perf:jar', 'examples:jar', 'contrib:hadoop-consumer:jar', 'contrib:hadoop-producer:jar']) {
171+
tasks.create(name: "jarAll", dependsOn: ['jar_core_2_8_0', 'jar_core_2_9_1', 'jar_core_2_9_2', 'jar_core_2_10_1', 'clients:jar', 'perf:jar', 'examples:jar', 'contrib:hadoop-consumer:jar', 'contrib:hadoop-producer:jar']) {
108172
}
109173

110-
tasks.create(name: "testAll", dependsOn: ['test_core_2_8_0', 'test_core_2_8_2', 'test_core_2_9_1', 'test_core_2_9_2', 'test_core_2_10_1', 'clients:test']) {
174+
tasks.create(name: "srcJarAll", dependsOn: ['srcJar_2_8_0', 'srcJar_2_9_1', 'srcJar_2_9_2', 'srcJar_2_10_1', 'clients:srcJar', 'perf:srcJar', 'examples:srcJar', 'contrib:hadoop-consumer:srcJar', 'contrib:hadoop-producer:srcJar']) { }
175+
176+
tasks.create(name: "docsJarAll", dependsOn: ['docsJar_2_8_0', 'docsJar_2_9_1', 'docsJar_2_9_2', 'docsJar_2_10_1', 'clients:docsJar', 'perf:docsJar', 'examples:docsJar', 'contrib:hadoop-consumer:docsJar', 'contrib:hadoop-producer:docsJar']) { }
177+
178+
tasks.create(name: "testAll", dependsOn: ['test_core_2_8_0', 'test_core_2_9_1', 'test_core_2_9_2', 'test_core_2_10_1', 'clients:test']) {
111179
}
112180

113-
tasks.create(name: "releaseTarGzAll", dependsOn: ['releaseTarGz_2_8_0', 'releaseTarGz_2_8_2', 'releaseTarGz_2_9_1', 'releaseTarGz_2_9_2', 'releaseTarGz_2_10_1']) {
181+
tasks.create(name: "releaseTarGzAll", dependsOn: ['releaseTarGz_2_8_0', 'releaseTarGz_2_9_1', 'releaseTarGz_2_9_2', 'releaseTarGz_2_10_1']) {
114182
}
115183

116-
tasks.create(name: "uploadArchivesAll", dependsOn: ['uploadCoreArchives_2_8_0', 'uploadCoreArchives_2_8_2', 'uploadCoreArchives_2_9_1', 'uploadCoreArchives_2_9_2', 'uploadCoreArchives_2_10_1', 'perf:uploadArchives', 'examples:uploadArchives', 'contrib:hadoop-consumer:uploadArchives', 'contrib:hadoop-producer:uploadArchives']) {
184+
tasks.create(name: "uploadArchivesAll", dependsOn: ['uploadCoreArchives_2_8_0', 'uploadCoreArchives_2_9_1', 'uploadCoreArchives_2_9_2', 'uploadCoreArchives_2_10_1', 'perf:uploadArchives', 'examples:uploadArchives', 'contrib:hadoop-consumer:uploadArchives', 'contrib:hadoop-producer:uploadArchives']) {
117185
}
118186

119187
project(':core') {
@@ -189,11 +257,9 @@ project(':core') {
189257
from(configurations.runtime) { into("libs/") }
190258
from(configurations.archives.artifacts.files) { into("libs/") }
191259
}
192-
260+
193261
jar {
194262
dependsOn 'copyDependantLibs'
195-
from '../LICENSE'
196-
from '../NOTICE'
197263
}
198264

199265
task testJar(type: Jar) {
@@ -207,6 +273,7 @@ project(':core') {
207273
exceptionFormat = 'full'
208274
}
209275
}
276+
210277
}
211278

212279
project(':perf') {
@@ -222,11 +289,6 @@ project(':perf') {
222289

223290
zinc 'com.typesafe.zinc:zinc:0.2.5'
224291
}
225-
226-
jar {
227-
from '../LICENSE'
228-
from '../NOTICE'
229-
}
230292
}
231293

232294
project(':contrib:hadoop-consumer') {
@@ -252,11 +314,6 @@ project(':contrib:hadoop-consumer') {
252314
compile.exclude module: 'mail'
253315
compile.exclude module: 'netty'
254316
}
255-
256-
jar {
257-
from '../LICENSE'
258-
from '../NOTICE'
259-
}
260317
}
261318

262319
project(':contrib:hadoop-producer') {
@@ -282,11 +339,6 @@ project(':contrib:hadoop-producer') {
282339
compile.exclude module: 'mail'
283340
compile.exclude module: 'netty'
284341
}
285-
286-
jar {
287-
from '../LICENSE'
288-
from '../NOTICE'
289-
}
290342
}
291343

292344
project(':examples') {
@@ -296,10 +348,6 @@ project(':examples') {
296348
compile project(':core')
297349
}
298350

299-
jar {
300-
from '../LICENSE'
301-
from '../NOTICE'
302-
}
303351
}
304352

305353
project(':clients') {
@@ -309,11 +357,6 @@ project(':clients') {
309357
testCompile 'com.novocode:junit-interface:0.9'
310358
}
311359

312-
jar {
313-
from '../LICENSE'
314-
from '../NOTICE'
315-
}
316-
317360
task testJar(type: Jar) {
318361
appendix = 'test'
319362
from sourceSets.test.output

contrib/LICENSE

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE

contrib/NOTICE

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../NOTICE

0 commit comments

Comments
 (0)