<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-dependencies</artifactId>
        <version>3.5.0-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.camel.example</groupId>
    <artifactId>examples</artifactId>
    <version>3.5.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>Camel Examples</name>
    <description>Examples for Camel</description>
    <url>https://camel.apache.org</url>

    <developers>
        <developer>
            <name>The Apache Camel Team</name>
            <email>dev@camel.apache.org</email>
            <url>https://camel.apache.org</url>
            <organization>Apache Software Foundation</organization>
            <organizationUrl>http://apache.org/</organizationUrl>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>Development List</name>
            <subscribe>dev-subscribe@camel.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@camel.apache.org</unsubscribe>
            <post>dev@camel.apache.org</post>
        </mailingList>
        <mailingList>
            <name>User List</name>
            <subscribe>users-subscribe@camel.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@camel.apache.org</unsubscribe>
            <post>users@camel.apache.org</post>
        </mailingList>
        <mailingList>
            <name>Commits List</name>
            <subscribe>commits-subscribe@camel.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@camel.apache.org</unsubscribe>
            <post>commits@camel.apache.org</post>
        </mailingList>
    </mailingLists>

    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/CAMEL</url>
    </issueManagement>

    <distributionManagement>
        <site>
            <id>apache.website</id>
            <url>${site-repo-url}</url>
        </site>
    </distributionManagement>

    <modules>
        <module>camel-example-activemq-tomcat</module>
        <module>camel-example-aggregate</module>
        <module>camel-example-aggregate-dist</module>
        <module>camel-example-any23</module>
        <module>camel-example-artemis</module>
        <module>camel-example-artemis-amqp-blueprint</module>
        <module>camel-example-artemis-large-messages</module>
        <module>camel-example-as2</module>
        <module>camel-example-basic</module>
        <module>camel-example-billboard-aggr</module>
        <module>camel-example-bigxml-split</module>
        <module>camel-example-cafe</module>
        <module>camel-example-cafe-endpointdsl</module>
        <module>camel-example-cassandra-kubernetes</module>
        <module>camel-example-cdi</module>
        <module>camel-example-cdi-aws-s3</module>
        <module>camel-example-cdi-cassandraql</module>
        <module>camel-example-fhir</module>
        <module>camel-example-fhir-osgi</module>
        <module>camel-example-cdi-kubernetes</module>
        <module>camel-example-cdi-metrics</module>
        <module>camel-example-cdi-properties</module>
        <module>camel-example-cdi-rest-servlet</module>
        <module>camel-example-cdi-test</module>
        <module>camel-example-cdi-xml</module>
        <module>camel-example-cxf</module>
        <module>camel-example-cxf-blueprint</module>
        <module>camel-example-cxf-proxy</module>
        <module>camel-example-cxf-tomcat</module>
        <module>camel-example-cxf-ws-security-signature</module>
        <module>camel-example-console</module>
        <module>camel-example-debezium</module>
        <module>camel-example-ehcache-blueprint</module>
        <module>camel-example-ftp</module>
        <module>camel-example-hazelcast-kubernetes</module>
        <module>camel-example-java8</module>
        <module>camel-example-jdbc</module>
        <module>camel-example-jmx</module>
        <module>camel-example-jms-file</module>
        <module>camel-example-jooq</module>
        <module>camel-example-kafka</module>
        <module>camel-example-kotlin</module>
        <module>camel-example-loadbalancing</module>
        <module>camel-example-loan-broker-cxf</module>
        <module>camel-example-loan-broker-jms</module>
        <module>camel-example-main</module>
        <module>camel-example-main-artemis</module>
        <module>camel-example-main-endpointdsl</module>
        <module>camel-example-main-health</module>
        <module>camel-example-main-tiny</module>
        <module>camel-example-main-xml</module>
        <module>camel-example-management</module>
        <module>camel-example-micrometer</module>
        <module>camel-example-mybatis</module>
        <module>camel-example-mongodb</module>
        <module>camel-example-netty-custom-correlation</module>
        <module>camel-example-netty-http</module>
        <module>camel-example-olingo4-blueprint</module>
        <module>camel-example-pojo-messaging</module>
        <module>camel-example-reactive-executor-vertx</module>
        <!-- disable non working example in offline build mode
        <module>camel-example-rest-karaf-osgi-activator</module>
        -->
        <module>camel-example-route-throttling</module>
        <module>camel-example-routetemplate</module>
        <module>camel-example-salesforce-consumer</module>
        <module>camel-example-servlet-rest-blueprint</module>
        <module>camel-example-servlet-tomcat</module>
        <module>camel-example-servlet-rest-karaf-jaas</module>
        <module>camel-example-splunk</module>
        <module>camel-example-spring</module>
        <module>camel-example-spring-javaconfig</module>
        <module>camel-example-spring-jms</module>
        <module>camel-example-spring-pulsar</module>
        <module>camel-example-spring-ws</module>
        <module>camel-example-spring-xquery</module>
        <module>camel-example-spring-security</module>
        <module>camel-example-ssh</module>
        <module>camel-example-ssh-security</module>
        <module>camel-example-sql-blueprint</module>
        <module>camel-example-swagger-cdi</module>
        <module>camel-example-swagger-osgi</module>
        <module>camel-example-openapi-cdi</module>
        <module>camel-example-openapi-osgi</module>
        <module>camel-example-telegram</module>
        <module>camel-example-transformer-blueprint</module>
        <module>camel-example-transformer-cdi</module>
        <module>camel-example-transformer-demo</module>
        <module>camel-example-twitter-websocket</module>
        <module>camel-example-twitter-websocket-blueprint</module>
        <module>camel-example-widget-gadget-cdi</module>
        <module>camel-example-widget-gadget-java</module>
        <module>camel-example-widget-gadget-xml</module>
    </modules>

    <properties>
        <!-- unify the encoding for all the modules -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
        <jdk.version>1.8</jdk.version>
        <compiler.fork>false</compiler.fork>

        <camel.version>3.5.0-SNAPSHOT</camel.version>
        <camel.karaf.version>3.5.0-SNAPSHOT</camel.karaf.version>

        <!-- Versions -->
        <arquillian-version>1.5.0.Final</arquillian-version>
        <asciidoctorj-version>2.1.0</asciidoctorj-version>
        <camel-bundle-plugin-version>${camel.version}</camel-bundle-plugin-version>
        <cdi-api-1.2-version>1.2</cdi-api-1.2-version>
        <glassfish-jaxb-runtime-version>${jakarta-jaxb-version}</glassfish-jaxb-runtime-version>
        <groovy-version>3.0.2</groovy-version>
        <pax-exam-version>4.13.2</pax-exam-version>
        <pax-url-aether>2.6.2</pax-url-aether>
        <jaxb-version>2.3.0</jaxb-version>
        <karaf4-version>4.2.8</karaf4-version>
        <maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
        <maven-surefire-plugin-version>3.0.0-M4</maven-surefire-plugin-version>
        <maven-javadoc-plugin-version>3.0.1</maven-javadoc-plugin-version>
        <exec-maven-plugin-version>1.6.0</exec-maven-plugin-version>
        <metrics-cdi-version>1.3.3</metrics-cdi-version>
        <mycila-license-version>3.0</mycila-license-version>
        <pax-cdi-version>1.0.0</pax-cdi-version>
        <spring-security-version>5.3.0.RELEASE</spring-security-version>
        <surefire.version>${maven-surefire-plugin-version}</surefire.version>
        <tinybundles-version>2.1.1</tinybundles-version>
        <tomcat-version>9.0.36</tomcat-version>
        <woodstox-version>6.0.3</woodstox-version>
        <xmlunit-version>1.6</xmlunit-version>
        <derby-version>10.14.2.0</derby-version>

        <!-- for symbolicName in OSGi examples we only want the artifactId, eg camel-example-sql -->
        <!-- as having org.apache.camel as prefix is not needed and makes the name very long -->
        <camel.osgi.symbolic.name>${project.artifactId}</camel.osgi.symbolic.name>
        <skip.starting.camel.context>false</skip.starting.camel.context>
        <javax.servlet.api.version>4.0.1</javax.servlet.api.version>
        <camel.osgi.export.pkg/>
        <camel.osgi.manifest>${project.build.outputDirectory}/META-INF/MANIFEST.MF</camel.osgi.manifest>

        <!-- OSGi bundles properties -->
        <camel.osgi.import.camel.version>
            version="[$(version;==;${camel.osgi.version.clean}),$(version;=+;${camel.osgi.version.clean}))"
        </camel.osgi.import.camel.version>
        <camel.osgi.import.strict.version>
            version="[$(version;===;${camel.osgi.version.clean}),$(version;==+;${camel.osgi.version.clean}))"
        </camel.osgi.import.strict.version>
        <camel.osgi.import.default.version>[$(version;==;$(@)),$(version;+;$(@)))</camel.osgi.import.default.version>
        <camel.osgi.import.defaults>
        </camel.osgi.import.defaults>
        <camel.osgi.import.before.defaults/>
        <camel.osgi.import.additional/>
        <camel.osgi.import.pkg>
            org.apache.camel.*;${camel.osgi.import.camel.version},
            ${camel.osgi.import.before.defaults},
            ${camel.osgi.import.defaults},
            ${camel.osgi.import.additional},
            *
        </camel.osgi.import.pkg>
        <camel.osgi.activator/>
        <camel.osgi.failok>false</camel.osgi.failok>
        <camel.osgi.private.pkg>!*</camel.osgi.private.pkg>
        <camel.osgi.export.pkg>$${replace;{local-packages};;;\;}</camel.osgi.export.pkg>
        <camel.osgi.export>${camel.osgi.export.pkg};-noimport:=true;${camel.osgi.version}</camel.osgi.export>
        <camel.osgi.version>version=${project.version}</camel.osgi.version>
        <camel.osgi.import>${camel.osgi.import.pkg}</camel.osgi.import>
        <camel.osgi.dynamic/>
        <camel.osgi.exclude.dependencies>false</camel.osgi.exclude.dependencies>
        <camel.osgi.require.capability/>
        <camel.osgi.provide.capability/>
    </properties>

    <!-- Comment out the snapshot repositories as we don't need them now -->
    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <name>Apache Snapshot Repo</name>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>apache.snapshots</id>
            <url>https://repository.apache.org/snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

            <!-- update readme file -->
            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-package-maven-plugin</artifactId>
                <version>${camel.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-example</goal>
                        </goals>
                        <phase>process-resources</phase>
                    </execution>
                </executions>
            </plugin>

            <!-- to validate Camel endpoints: mvn camel-report:validate -->
            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-report-maven-plugin</artifactId>
                <version>${camel.version}</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <includeTest>true</includeTest>
                    <includeXml>true</includeXml>
                    <ignoreLenientProperties>false</ignoreLenientProperties>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <forkCount>1</forkCount>
                    <reuseForks>false</reuseForks>
                    <systemPropertyVariables>
                        <skipStartingCamelContext>${skip.starting.camel.context}</skipStartingCamelContext>
                    </systemPropertyVariables>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-bundle-plugin</artifactId>
                <version>${camel-bundle-plugin-version}</version>
                <extensions>false</extensions>
                <configuration>
                    <supportIncrementalBuild>true</supportIncrementalBuild>
                    <noWarningProjectTypes>pom</noWarningProjectTypes>
                    <excludeDependencies>${camel.osgi.exclude.dependencies}</excludeDependencies>
                    <instructions>
                        <Bundle-Name>${project.artifactId}</Bundle-Name>
                        <Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName>
                        <Bundle-Activator>${camel.osgi.activator}</Bundle-Activator>
                        <Import-Package>${camel.osgi.import}</Import-Package>
                        <Export-Package>${camel.osgi.export}</Export-Package>
                        <DynamicImport-Package>${camel.osgi.dynamic}</DynamicImport-Package>
                        <Private-Package>${camel.osgi.private.pkg}</Private-Package>
                        <Require-Capability>${camel.osgi.require.capability}</Require-Capability>
                        <Provide-Capability>${camel.osgi.provide.capability}</Provide-Capability>
                        <Implementation-Title>Apache Camel</Implementation-Title>
                        <Implementation-Version>${project.version}</Implementation-Version>
                        <Karaf-Info>Camel;${project.artifactId}=${project.version}</Karaf-Info>
                        <_versionpolicy>${camel.osgi.import.default.version}</_versionpolicy>
                        <_failok>${camel.osgi.failok}</_failok>
                        <_removeheaders>Bnd-LastModified</_removeheaders>
                    </instructions>
                </configuration>
                <executions>
                    <execution>
                        <id>versions</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>cleanVersions</goal>
                        </goals>
                        <configuration>
                            <versions>
                                <camel.osgi.version.clean>${project.version}</camel.osgi.version.clean>
                            </versions>
                        </configuration>
                    </execution>
                    <execution>
                        <id>bundle-manifest</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                    <maxmem>512M</maxmem>
                    <fork>${compiler.fork}</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <attach>true</attach>
                    <source>${jdk.version}</source>
                    <quiet>true</quiet>
                    <bottom>Apache Camel</bottom>
                    <detectOfflineLinks>false</detectOfflineLinks>
                    <javadocVersion>1.8.0</javadocVersion>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.camel</groupId>
                                        <artifactId>camel-bundle-plugin</artifactId>
                                        <versionRange>[2.3.7,)</versionRange>
                                        <goals>
                                            <goal>cleanVersions</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore/>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven-javadoc-plugin-version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.camel</groupId>
                            <artifactId>camel-buildtools</artifactId>
                            <version>${camel.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>false</downloadJavadocs>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <configuration>
                        <excludeSubProjects>false</excludeSubProjects>
                        <excludes>
                            <exclude>**/generated.txt</exclude>
                            <exclude>**/*.json</exclude>
                            <exclude>**/README</exclude>
                            <exclude>**/README.txt</exclude>
                            <exclude>**/README.md</exclude>
                            <exclude>**/ReadMe.md</exclude>
                            <exclude>**/resources/**/*.xsd</exclude>
                            <exclude>**/webapp/js/**/*</exclude>
                            <exclude>**/test/resources/**/*</exclude>
                            <exclude>**/test/data*/**/*</exclude>
                            <exclude>.gitignore</exclude>
                            <exclude>.git/**/*</exclude>
                            <exclude>**/*.adoc</exclude>
                            <exclude>**/*.adoc.template</exclude>
                            <exclude>**/*.md</exclude>
                            <exclude>**/*.sh</exclude>
                            <exclude>**/*.bat</exclude>
                            <exclude>**/java9-maven-settings</exclude>
                            <exclude>**/*.pfx</exclude>
                            <!-- tooling json-simple parser -->
                            <exclude>**/src/main/java/org/json/simple/**</exclude>
                            <!-- tooling/camel-manual/src/styles/print.css use a different license -->
                            <exclude>**/src/styles/print.css</exclude>
                            <!-- tooling for component docs -->
                            <exclude>**/component-header.mvel</exclude>
                            <exclude>**/component-options.mvel</exclude>
                            <exclude>**/endpoint-options.mvel</exclude>
                            <exclude>**/dataformat-options.mvel</exclude>
                            <exclude>**/eip-options.mvel</exclude>
                            <exclude>**/language-options.mvel</exclude>
                            <exclude>**/website-components-list.mvel</exclude>
                            <exclude>**/website-languages-list.mvel</exclude>
                            <exclude>**/website-others-list.mvel</exclude>
                            <exclude>**/website-dataformats-list.mvel</exclude>
                            <exclude>**/readme-examples.mvel</exclude>
                            <exclude>**/spring-boot-auto-configure-options.mvel</exclude>
                            <exclude>**/camel-NOTICE.txt</exclude>
                            <exclude>**/spring-boot-starter-NOTICE.txt</exclude>
                            <!-- cxf does not handle comments here -->
                            <exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
                            <exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
                            <!-- ignore the api signatures files -->
                            <exclude>**/src/signatures/*.txt</exclude>
                            <!-- camel-salesforce BSD license from salesforce developers -->
                            <exclude>**/CometDReplayExtension.java</exclude>
                            <exclude>**/LICENSE-SALESFORCE.txt</exclude>
                            <!-- camel-as2 -->
                            <exclude>**/mdnDescription.vm</exclude>
                            <!-- camel-jbpm -->
                            <exclude>**/src/main/resources/*.wid</exclude>
                            <!-- camel website and user-manual -->
                            <exclude>**/node/**</exclude>
                            <exclude>**/node_modules/**</exclude>
                            <exclude>**/user-manual/**</exclude>
                            <exclude>**/yarn.lock</exclude>
                            <!-- examples -->
                            <exclude>**/fabric8/*.yaml</exclude>
                            <exclude>**/src/main/data/*.patient</exclude>
                            <exclude>**/src/main/data/*.csv</exclude>
                            <exclude>**/src/main/resources/avro/*.avsc</exclude>
                            <!-- generated files -->
                            <exclude>**/target/**/*</exclude>
                            <exclude>**/eclipse-classes/**/*</exclude>
                            <exclude>**/.*</exclude>
                            <exclude>**/.settings/**/*</exclude>
                            <exclude>**/*.iml</exclude>
                            <exclude>**/.idea/**/*</exclude>
                            <exclude>**/avro/**/*.avpr</exclude>
                            <exclude>**/OSGI-INF/bundle.info</exclude>
                            <exclude>**/test_rsa*</exclude>
                            <exclude>**/data*/**/*.xml</exclude>
                            <exlucde>**/*.log</exlucde>
                            <exclude>**/id_file</exclude>
                            <exclude>**/dependency-reduced-pom.xml</exclude>
                            <exclude>**/Dropbox_API_Terms_and_Conditions.txt</exclude>
                            <exclude>**/MerchandiseRestResource.apxc</exclude>
                            <exclude>**/file-sig-api.txt</exclude>
                            <exclude>**/Tasks__c.java</exclude>
                            <exclude>**/*.proto</exclude>
                            <exclude>
                                **/src/main/resources/META-INF/services/org.kie.server.services.api.KieServerExtension
                            </exclude>
                            <!-- Maven Wrapper -->
                            <exclude>.mvn/**/*</exclude>
                        </excludes>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <!-- see https://issues.apache.org/jira/browse/MRELEASE-812 -->
                    <version>2.4.2</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-gitexe</artifactId>
                            <version>1.9</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <localCheckout>true</localCheckout>
                        <pushChanges>true</pushChanges>
                        <tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <!-- The profile we want to use when doing the release -->
                        <arguments>-Prelease,apache-release,enable-schemagen,apt,sourcecheck,hibernate</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>process-resource-bundles</id>
                            <phase>disabled</phase>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>flatten-maven-plugin</artifactId>
                    <version>1.1.0</version>
                    <executions>
                        <execution>
                            <id>default-cli</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>flatten</goal>
                            </goals>
                            <configuration>
                                <updatePomFile>true</updatePomFile>
                                <pomElements>
                                    <build>keep</build>
                                    <dependencyManagement>keep</dependencyManagement>
                                    <description>keep</description>
                                    <name>keep</name>
                                    <parent>expand</parent>
                                    <pluginManagement>keep</pluginManagement>
                                    <profiles>remove</profiles>
                                    <properties>keep</properties>
                                </pomElements>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <configuration>
                        <skipInstallation>${invoker.skip}</skipInstallation>
                        <skipInvocation>${invoker.skip}</skipInvocation>
                        <mavenOpts>-Xmx64m -XshowSettings</mavenOpts>
                        <showVersion>true</showVersion>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>${exec-maven-plugin-version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>container-test</id>
            <properties>
                <skip.starting.camel.context>true</skip.starting.camel.context>
            </properties>
        </profile>
        <!--
          This profile allows you to add a repository to the repo list so that
          you can test the examples out against a staged version of the camel distribution
        -->
        <profile>
            <id>add-remote-repo</id>
            <activation>
                <property>
                    <name>remoteRepo</name>
                </property>
            </activation>

            <repositories>
                <repository>
                    <id>dynamic.repo</id>
                    <name>Repository Dynamically Added Via the Command Line</name>
                    <url>$remoteRepo</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>dynamic.repo</id>
                    <name>Repository Dynamically Added Via the Command Line</name>
                    <url>$remoteRepo</url>
                </pluginRepository>
            </pluginRepositories>

        </profile>
    </profiles>

</project>
