= Apache Camel extensions for Quarkus

image:https://img.shields.io/maven-central/v/org.apache.camel.quarkus/camel-quarkus-bom.svg["Maven Central", link="http://search.maven.org/#search%7Cga%7C1%7Corg.apache.camel.quarkus"]
image:https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000["Licensed under Apache License version 2.0", link="https://www.apache.org/licenses/LICENSE-2.0"]
image:https://badges.gitter.im/apache/camel-quarkus.svg["Chat on Gitter", link="https://gitter.im/apache/camel-quarkus"]

==== CI Branch Status
[width="50%"]
|===
|master | image:https://github.com/apache/camel-quarkus/workflows/Camel%20Quarkus%20CI/badge.svg?branch=master["Master Branch Build", link="https://github.com/apache/camel-quarkus/actions?query=workflow%3A%22Camel+Quarkus+CI%22"]
|camel-master | image:https://github.com/apache/camel-quarkus/workflows/Camel%20Quarkus%20CI/badge.svg?branch=camel-master["Camel Master Branch Build", link="https://github.com/apache/camel-quarkus/actions?query=workflow%3A%22Camel+Quarkus+CI%22+branch%3Acamel-master"]
|quarkus-master| image:https://github.com/apache/camel-quarkus/workflows/Camel%20Quarkus%20CI/badge.svg?branch=quarkus-master["Quarkus Master Branch Build", link="https://github.com/apache/camel-quarkus/actions?query=workflow%3A%22Camel+Quarkus+CI%22+branch%3Aquarkus-master"]
|===

== What is this

This project hosts the efforts to port and package the 280+ Camel components as Quarkus extensions.

http://camel.apache.org/[Apache Camel] is the Swiss knife of integrating heterogeneous systems with more than a decade
of history and a lively community of users and developers.

https://quarkus.io/[Quarkus] is a Java platform offering fast boot times and low memory footprint. It targets both stock
JVMs (OpenJDK in the first place) and https://www.graalvm.org/[GraalVM].

https://quarkus.io/extensions/[Quarkus extensions] are units of Quarkus distribution. They configure, boot and integrate
a technology (in our case Camel components) into your Quarkus application. You will typically use them as dependencies
in your project.


== How to build

See the contributor guide xref:docs/modules/ROOT/pages/contributor-guide/index.adoc[in the source tree] or on the
https://camel.apache.org/camel-quarkus/latest/contributor-guide/index.html[Apache Camel website].


== Licensing

This software is licensed under the terms you may find in the file named `LICENSE.txt` in this directory.
