See our web site for details on the project.
You need to have gradle installed.
cd kafka_source_dir
gradle
Now everything else will work
./gradlew jar
Follow instuctions in http://kafka.apache.org/documentation.html#quickstart
./gradlew srcJar
./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
./gradlew test
./gradlew cleanTest test
./gradlew -Dtest.single=RequestResponseSerializationTest core:test
./gradlew core:test --tests kafka.api.ProducerFailureHandlingTest.testCannotSendToInternalTopic
./gradlew clients:test --tests org.apache.kafka.clients.MetadataTest.testMetadataUpdateWaitTime
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
./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/.
./gradlew clean
(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.)
You can pass either the major version (eg 2.11) or the full version (eg 2.11.7): ./gradlew -PscalaVersion=2.11 jar ./gradlew -PscalaVersion=2.11 test ./gradlew -PscalaVersion=2.11 releaseTarGz
This is for 'core', 'examples' and 'clients' ./gradlew core:jar ./gradlew core:test
./gradlew tasks
./gradlew eclipse
./gradlew idea
./gradlew jarAll
./gradlew testAll
./gradlew releaseTarGzAll
./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=
./gradlew -Dorg.gradle.project.skipSigning=true -Dorg.gradle.project.mavenUrl=file://path/to/repo uploadArchivesAll
./gradlew testJar
./gradlew core:dependencies --configuration runtime
./gradlew checkstyleMain checkstyleTest
./gradlew -Dorg.gradle.project.maxParallelForks=1 test
This will most commonly be useful for automated builds where the full resources of the host running the build and tests may not be dedicated to Kafka's build.
See vagrant/README.md.
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: