tree: c8f8ef608932e9e686a8193a2a7a398f22dcf58b [path history] [tgz]
  1. .gitignore
  2. .rat-excludes
  3. .reviewboardrc
  8. bin/
  9. build.gradle
  10. clients/
  11. config/
  12. contrib/
  13. core/
  14. doap_Kafka.rdf
  15. examples/
  17. gradle/
  18. gradlew
  19. gradlew.bat
  21. scala.gradle
  22. settings.gradle
  23. system_test/
  24. wrapper.gradle

Apache Kafka

See our web site for details on the project.

You need to have gradle installed.

First bootstrap and download the wrapper

cd kafka_source_dir

Now everything else will work

Building a jar and running it

./gradlew jar  

Follow instuctions in

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/ or core/src/test/resources/
./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.4 or 2.11.5)

(If building a jar with a version other than 2.10, need to set SCALA_BINARY_VERSION variable or change it in bin/ 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/ and assign the following variables


Building the test jar

./gradlew testJar

Determining how transitive dependencies are added

./gradlew core:dependencies --configuration runtime


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: