Go to file
Ewen Cheslack-Postava c20e3bf8d8 HOTFIX: Checkstye fixes follow up for KAKFA-2531.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #248 from ewencp/hotfix-kafka-2531-checkstyle
2015-09-28 05:58:11 -07:00
bin KIP-28: Add a processor client for Kafka Streaming 2015-09-25 17:27:58 -07:00
checkstyle HOTFIX: Checkstye fixes follow up for KAKFA-2531. 2015-09-28 05:58:11 -07:00
clients/src KIP-28: Add a processor client for Kafka Streaming 2015-09-25 17:27:58 -07:00
config KAFKA-2373: Add Kafka-backed offset storage for Copycat. 2015-09-24 19:01:11 -07:00
contrib KAFKA-2140 Improve code readability; reviewed by Neha Narkhede 2015-04-26 08:40:58 -07:00
copycat MINOR: Fix FileStreamSourceTask to create the reader around System.in when using stdin as the input source. 2015-09-28 05:46:09 -07:00
core/src KAFKA-2582; ConsumerMetdata authorization error not returned to user 2015-09-25 15:40:38 -07:00
dev-utils KAFKA-2153 kafka-patch-review tool uploads a patch even if it is empty; reviewed by Neha Narkhede, Gwen Shapira 2015-05-04 11:58:53 -07:00
examples KAFKA-2140 Improve code readability; reviewed by Neha Narkhede 2015-04-26 08:40:58 -07:00
gradle kafka-2248; Use Apache Rat to enforce copyright headers; patched by Ewen Cheslack-Postava; reviewed by Gwen Shapira, Joel Joshy and Jun Rao 2015-07-06 15:47:40 -07:00
log4j-appender/src KAFKA-2571; KafkaLog4jAppender dies while specifying acks config 2015-09-24 19:16:28 -07:00
streams/src KIP-28: Add a processor client for Kafka Streaming 2015-09-25 17:27:58 -07:00
system_test kafka-2005; Generate html report for system tests; patched by Ashish Singh; reviewed by Jun Rao 2015-06-11 15:27:51 -07:00
tests KAFKA-2531: Add Ducktape based tests for KafkaLog4jAppender 2015-09-26 18:32:49 -07:00
tools/src/main/java/org/apache/kafka/clients/tools HOTFIX: Checkstye fixes follow up for KAKFA-2531. 2015-09-28 05:58:11 -07:00
vagrant MINOR: Added scripts to automate Vagrant setup for system tests 2015-09-14 15:00:04 -07:00
.gitignore MINOR: Added to .gitignore Kafka server logs directory 2015-08-03 14:12:00 -07: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
CONTRIBUTING.md KAFKA-2321; Introduce CONTRIBUTING.md 2015-07-27 10:54:23 -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-2348; Drop support for Scala 2.9 2015-07-24 09:19:59 -07:00
Vagrantfile KAFKA-2330: Vagrantfile sets global configs instead of per-provider override configs; patched by Ewen Cheslack-Postava, reviewed by Geoff Anderson and Gwen Shapira 2015-08-19 18:20:51 -07:00
build.gradle KIP-28: Add a processor client for Kafka Streaming 2015-09-25 17:27:58 -07:00
doap_Kafka.rdf trivial change to add kafka doap project file 2014-04-11 21:29:09 -07:00
gradle.properties KAFKA-2554: change 0.8.3 to 0.9.0 in ApiVersion and other files 2015-09-24 12:38:27 -07:00
gradlew trivial change to README to make the gradle wrapper download clearer 2014-09-23 14:39:10 -07:00
gradlew.bat trivial change to README to make the gradle wrapper download clearer 2014-09-23 14:39:10 -07:00
kafka-merge-pr.py KAFKA-2548; kafka-merge-pr tool fails to update JIRA with fix version 0.9.0.0 2015-09-24 10:35:05 -07:00
kafka-patch-review.py kafka-2248; Use Apache Rat to enforce copyright headers; patched by Ewen Cheslack-Postava; reviewed by Gwen Shapira, Joel Joshy and Jun Rao 2015-07-06 15:47:40 -07:00
scala.gradle kafka-2248; Use Apache Rat to enforce copyright headers; patched by Ewen Cheslack-Postava; reviewed by Gwen Shapira, Joel Joshy and Jun Rao 2015-07-06 15:47:40 -07:00
settings.gradle KIP-28: Add a processor client for Kafka Streaming 2015-09-25 17:27:58 -07:00
wrapper.gradle KAFKA-1490 remove gradlew initial setup output from source distribution patch by Ivan Lyutov reviewed by Joe Stein 2014-09-23 12:46:02 -04: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

cd kafka_source_dir
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 test method within a unit test

./gradlew core:test --tests kafka.api.test.ProducerFailureHandlingTest.testCannotSendToInternalTopic
./gradlew clients:test --tests org.apache.kafka.clients.producer.MetadataTest.testMetadataUpdateWaitTime

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.10.5 or 2.11.7)

(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.11.7 jar
./gradlew -PscalaVersion=2.11.7 test
./gradlew -PscalaVersion=2.11.7 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=

Publishing the jars without signing to a local repository

./gradlew -Dorg.gradle.project.skipSigning=true -Dorg.gradle.project.mavenUrl=file://path/to/repo uploadArchivesAll

Building the test jar

./gradlew testJar

Determining how transitive dependencies are added

./gradlew core:dependencies --configuration runtime

Running checkstyle on the java code

./gradlew checkstyleMain checkstyleTest

Running in Vagrant

See vagrant/README.md.

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: