<?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-parent</artifactId>
    <version>2.18.0</version>
    <relativePath>../parent</relativePath>
  </parent>

  <artifactId>examples</artifactId>
  <name>Camel :: Example</name>
  <description>Camel Examples</description>
  <packaging>pom</packaging>

  <modules>
    <module>camel-example-activemq-tomcat</module>
    <module>camel-example-aggregate</module>
    <module>camel-example-bam</module>
    <module>camel-example-box-osgi</module>
    <module>camel-example-cafe</module>
    <module>camel-example-cdi</module>
    <module>camel-example-cdi-cassandraql</module>
    <module>camel-example-cdi-kubernetes</module>
    <module>camel-example-cdi-metrics</module>
    <module>camel-example-cdi-osgi</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-osgi</module>
    <module>camel-example-cxf-proxy</module>
    <module>camel-example-cxf-tomcat</module>
    <module>camel-example-console</module>
    <module>camel-example-etl</module>
    <module>camel-example-ftp</module>
    <module>camel-example-guice-jms</module>
    <module>camel-example-hystrix</module>
    <module>camel-example-java8</module>
    <module>camel-example-java8-rx</module>
    <module>camel-example-jdbc</module>
    <module>camel-example-jmx</module>
    <module>camel-example-jms-file</module>
    <module>camel-example-loadbalancing</module>
    <module>camel-example-loan-broker</module>
    <module>camel-example-management</module>
    <module>camel-example-mybatis</module>
    <module>camel-example-netty-http</module>
    <module>camel-example-osgi-rmi</module>
    <module>camel-example-pojo-messaging</module>
    <module>camel-example-reportincident</module>
    <module>camel-example-reportincident-wssecurity</module>
    <module>camel-example-restlet-jdbc</module>
    <module>camel-example-route-throttling</module>
    <module>camel-example-servlet-rest-blueprint</module>
    <module>camel-example-servlet-tomcat</module>
    <module>camel-example-servlet-tomcat-no-spring</module>
    <module>camel-example-simplejirabot</module>
    <module>camel-example-spark-rest</module>
    <module>camel-example-splunk</module>
    <module>camel-example-spring</module>
    <module>camel-example-spring-boot</module>
    <module>camel-example-spring-boot-metrics</module>
    <module>camel-example-spring-boot-rest-jpa</module>
    <module>camel-example-spring-boot-starter</module>
    <module>camel-example-spring-dm</module>
    <module>camel-example-spring-javaconfig</module>
    <module>camel-example-spring-jms</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</module>
    <module>camel-example-sql-blueprint</module>
    <module>camel-example-swagger-cdi</module>
    <module>camel-example-swagger-osgi</module>
    <module>camel-example-swagger-xml</module>
    <module>camel-example-tracer</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>
    <module>camel-example-zipkin</module>
  </modules>

  <properties>
    <!-- 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>
    <camel.osgi.export.pkg />
  </properties>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <phase>process-resources</phase>
            <goals>
              <goal>resources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <forkCount>1</forkCount>
          <reuseForks>false</reuseForks>
          <systemPropertyVariables>
            <skipStartingCamelContext>${skip.starting.camel.context}</skipStartingCamelContext>
          </systemPropertyVariables>
        </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.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <versionRange>[2.3.7,)</versionRange>
                    <goals>
                      <goal>cleanVersions</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </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>
