[[contributor-guide]]
= Contributor guide
:page-aliases: contributor-guide.adoc

[[prerequisites]]
== Prerequisites

* `git`
* GraalVM with `native-image` command installed and `GRAALVM_HOME` environment variable set, see
  https://quarkus.io/guides/building-native-image-guide[Building a native executable] section of the Quarkus
  documentation.
* If your are on Linux, `docker` is sufficient for the native mode too. Use `-Pnative,docker` instead of `-Pnative`
  if you choose this option.
* Java 11 for Camel Quarkus < 3.0.0 and then Java 17 for Camel Quarkus >= 3.0.0
* Maven {min-maven-version}+ (unless you use the Maven Wrapper, a.k.a. `mvnw` available in the source tree).

[[how-to-build]]
== How to build

Checkout the code

[source,shell]
----
$ git clone https://github.com/apache/camel-quarkus.git
$ cd camel-quarkus
----

A fast build without tests and various checks:

[source,shell]
----
$ mvn clean install -Dquickly
----

A build with integration tests in the JVM mode only:

[source,shell]
----
$ mvn clean install
----

A build with integration tests in both the JVM mode and the native mode:

[source,shell]
----
$ mvn clean install -Pnative
----

TIP: You may want to install and use https://github.com/mvndaemon/mvnd[`mvnd` - the Maven Daemon] for faster builds.

== What's next?

* xref:create-new-extension.adoc[Create new extension].
* xref:promote-jvm-to-native.adoc[Promote a JVM extension to Native].
