blob: 769bc2cf2bae53db40393e5863a1e3471d00ad52 [file] [log] [blame]
[[Contributing-Contributing]]
= Contributing to Camel-Kafka-connector
First of all, thank you for having an interest in contributing to Camel-Kafka-connector.
The Apache Camel community is a great group of contributors and Camel-Kafka-connector is the newer subproject in the ecosystem.
There are multiple areas in which camel-kafka-connector could be improved. Here are some examples:
* Surfing the basic documentation - if something is not clear, let us know or fix it yourself.
* Try the xref:getting-started.adoc[Getting started] guide
* Digging in the codebase and tune some operations or add new features.
* Take a look at the https://github.com/apache/camel-kafka-connector/issues[open issues] and leave a comment on the issue to let us know you are working on it.
[[Contributing-Contents]]
== Table of Contents
* <<getting-in-touch,Getting in touch>>
* <<building-the-project,Building the project>>
[#getting-in-touch]
== Getting in touch
Apache Camel Kafka Connector is an Apache Software Foundation project.
All communication is subject to the https://www.apache.org/foundation/policies/conduct.html[ASF Code of Conduct].
There are various ways of communicating with the Camel community.
We can also be reached on the Gitter chat at https://gitter.im/apache/camel-kafka-connector/.
We track issues using the https://github.com/apache/camel-kafka-connector/issues[issues tracker in Github]
When you're ready to contribute create a Pull request to the https://github.com/apache/camel-kafka-connector/[camel-kafka-connector repository]
Expect that your Pull request will receive a review and that you will need to respond and correspond to that via comments at GitHub.
[#building-the-project]
== Building the project
Basically you could run
[source,bash]
----
mvn clean package
----
=== Build the project and run integration tests
To build the project it is sufficient to:
[source,bash]
----
mvn clean install
----
To run the integration tests it is required to:
* have Docker version 17.05 or higher running
* run:
[source,bash]
----
mvn -DskipIntegrationTests=false clean verify package
----
It is also possible to point the tests to use an external services. To do so, you must set
properties for the services that you want to run. This causes the tests to not launch the local
container and use existing remote instances. At the moment, the following properties can be set
for remote testing:
* kafka.instance.type
** kafka.bootstrap.servers
* aws-service.instance.type
** access.key: AWS access key (mandatory for remote testing)
** secret.key: AWS secret key (mandatory for remote testing)
** aws.region: AWS region (optional)
** aws.host: AWS host (optional)
* aws-service.kinesis.instance.type
** access.key: AWS access key (mandatory for remote testing)
** secret.key: AWS secret key (mandatory for remote testing)
** aws.region: AWS region (optional)
** aws.host: AWS host (optional)
* elasticsearch.instance.type
** elasticsearch.host
** elasticsearch.port
* cassandra.instance.type
** cassandra.host
** cassandra.cql3.port
* jms-service.instance.type
** jms.broker.address
For example you can run
----
mvn -Dkafka.bootstrap.servers=host1:port -Dkafka.instance.type=remote -DskipIntegrationTests=false clean verify package
----
It's possible to use a properties file to set these properties. To do so use `-Dtest.properties=/path/to/file.properties`.