| [[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`. |
| |
| |