Go to file
Joe Stein d2d1ef357b KAFKA-1490 remove gradlew initial setup output from source distribution patch by Ivan Lyutov reviewed by Joe Stein 2014-09-23 12:06:17 -04:00
bin kafka-1419 (followup); cross build for scala 2.11; patched by Stevo Slavic; reviewed by Jun Rao 2014-09-14 10:45:37 -07:00
clients/src kafka-1123; Broker IPv6 addresses parsed incorrectly; patched by Krzysztof Szafrański; reviewed by Jun Rao 2014-09-18 15:53:48 -07:00
config kafka-1414; Speedup broker startup after hard reset; patched by Anton Karamanov; reviewed by Jay Kreps and Jun Rao 2014-07-27 21:13:20 -07:00
contrib kafka-1123; Broker IPv6 addresses parsed incorrectly; patched by Krzysztof Szafrański; reviewed by Jun Rao 2014-09-18 15:53:48 -07:00
core/src KAFKA-1282 Disconnect idle socket connection in Selector; reviewed by Neha Narkhede and Jun Rao 2014-09-20 13:51:22 -07:00
examples KAFKA-1254 remove vestigial sbt patch by Joe Stein; reviewed by Jun Rao 2014-02-20 00:11:31 -05:00
gradle KAFKA-1490 remove gradlew initial setup output from source distribution patch by Ivan Lyutov reviewed by Joe Stein 2014-09-23 12:06:17 -04:00
lib KAFKA-1254 remove vestigial sbt patch by Joe Stein; reviewed by Jun Rao 2014-02-20 00:11:31 -05:00
system_test KAFKA-1611 Improve system test configuration; reviewed by Neha Narkhede and Guozhang Wang 2014-09-14 20:14:07 -07:00
.gitignore kafka-1371; Ignore build output dirs; patched by Stevo Slavic; reviewed by Jun Rao 2014-04-09 08:08:17 -07:00
.rat-excludes KAFKA-151 Standard .rat-excludes file and rat script;patched by nehanarkhede; reviewed by junrao 2011-10-14 01:30:12 +00:00
.reviewboardrc KAFKA-1053 Kafka patch review tool that integrates JIRA and reviewboard; reviewed by Joel Koshy, Swapnil Ghike and Guozhang Wang 2013-09-17 20:48:15 -07:00
HEADER trivial fix to add missing license header using .gradlew licenseFormatMain and ./gradlew licenseFormatTest; patched by Jun Rao 2014-02-07 14:19:06 -08:00
LICENSE KAFKA-1254 remove vestigial sbt patch by Joe Stein; reviewed by Jun Rao 2014-02-20 00:11:31 -05:00
NOTICE KAFKA-533 changes to NOTICE and LICENSE related to KAFKA-534 removing client libraries from repo 2012-09-27 00:24:56 +00:00
README.md KAFKA-1490 remove gradlew initial setup output from source distribution patch by Ivan Lyutov reviewed by Joe Stein 2014-09-23 12:06:17 -04:00
build.gradle KAFKA-1490 remove gradlew initial setup output from source distribution patch by Ivan Lyutov reviewed by Joe Stein 2014-09-23 12:06:17 -04:00
doap_Kafka.rdf trivial change to add kafka doap project file 2014-04-11 21:29:09 -07:00
gradle.properties trunk is the 0.8.2 snapshot 2014-08-11 17:12:29 -04:00
gradlew kafka-1171; Gradle build for Kafka; patched by David Arthur, Joe Stein, Chris Freeman and Jun Rao; reviewed by Guozhang Wang, Joel Koshy and Neha Narkhede 2014-02-07 13:48:04 -08:00
gradlew.bat kafka-1370; Gradle startup script for Windows; patched by Stevo Slavic; reviewed by Jun Rao 2014-04-09 08:13:53 -07:00
kafka-patch-review.py KAFKA-1560 Make arguments to jira-python API more explicit in kafka-patch-review's get_jira(); reviewed by Neha Narkhede 2014-08-14 17:46:21 -07:00
scala.gradle kafka-1419; cross build for scala 2.11; patched by Ivan Lyutov; reviewed by Joe Stein and Jun Rao 2014-08-10 21:20:30 -07:00
settings.gradle kafka-1619; perf dir can be removed; patched by Jun Rao; reviewed by Guozhang Wang, Neha Narkhede and Stevo Slavic 2014-09-14 10:16:07 -07:00

README.md

Apache Kafka

See our web site for details on the project.

You need to have gradle installed.

First bootstrap and download the wrapper

gradle

Now everything else will work

Building a jar and running it

./gradlew jar  

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

Building source jar

./gradlew srcJar

Building javadocs and scaladocs

./gradlew javadoc
./gradlew javadocJar # builds a jar from the javadocs
./gradlew scaladoc
./gradlew scaladocJar # builds a jar from the scaladocs
./gradlew docsJar # builds both javadoc and scaladoc jar

Running unit tests

./gradlew test

Forcing re-running unit tests w/o code change

./gradlew cleanTest test

Running a particular unit test

./gradlew -Dtest.single=RequestResponseSerializationTest core:test

Running a particular unit test with log4j output

change the log4j setting in either clients/src/test/resources/log4j.properties or core/src/test/resources/log4j.properties
./gradlew -i -Dtest.single=RequestResponseSerializationTest core:test

Building a binary release gzipped tar ball

./gradlew clean
./gradlew releaseTarGz  
The above command will fail if you haven't set up the signing key. To bypass signing the artifact, you can run
./gradlew releaseTarGz -x signArchives

The release file can be found inside ./core/build/distributions/.

Cleaning the build

./gradlew clean

Running a task on a particular version of Scala (either 2.9.1, 2.9.2, 2.10.1 or 2.11)

(If building a jar with a version other than 2.10, need to set SCALA_BINARY_VERSION variable or change it in bin/kafka-run-class.sh to run quick start.)

./gradlew -PscalaVersion=2.9.1 jar
./gradlew -PscalaVersion=2.9.1 test
./gradlew -PscalaVersion=2.9.1 releaseTarGz

Running a task for a specific project

This is for 'core', 'contrib:hadoop-consumer', 'contrib:hadoop-producer', 'examples' and 'clients' ./gradlew core:jar ./gradlew core:test

Listing all gradle tasks

./gradlew tasks

Building IDE project

./gradlew eclipse
./gradlew idea

Building the jar for all scala versions and for all projects

./gradlew jarAll

Running unit tests for all scala versions and for all projects

./gradlew testAll

Building a binary release gzipped tar ball for all scala versions

./gradlew releaseTarGzAll

Publishing the jar for all version of Scala and for all projects to maven

./gradlew uploadArchivesAll

Please note for this to work you should create/update ~/.gradle/gradle.properties and assign the following variables

mavenUrl=
mavenUsername=
mavenPassword=
signing.keyId=
signing.password=
signing.secretKeyRingFile=

Building the test jar

./gradlew testJar

Determining how transitive dependencies are added

./gradlew core:dependencies --configuration runtime

Contribution

Apache Kafka is interested in building the community; we would welcome any thoughts or patches. You can reach us on the Apache mailing lists.

To contribute follow the instructions here:

We also welcome patches for the website and documentation which can be found here: