<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2016 Red Hat, Inc.

   Licensed 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.basepom</groupId>
    <artifactId>basepom-oss</artifactId>
    <version>23</version>
  </parent>

  <groupId>io.syndesis</groupId>
  <artifactId>syndesis-parent</artifactId>
  <version>1.3.0-20180307</version>
  <packaging>pom</packaging>

  <name>Syndesis</name>
  <description>Syndesis :: ${project.name}</description>

  <properties>
    <!-- Global Syndesis version -->
    <syndesis.version>${project.version}</syndesis.version>

    <!-- Atlasmap version -->
    <atlasmap.version>1.33.5</atlasmap.version>
    <camel-atlasmap.version>${atlasmap.version}</camel-atlasmap.version>

    <!-- Image names -->
    <image.s2i>syndesis/syndesis-s2i:%l</image.s2i>
    <image.server>syndesis/syndesis-server:%l</image.server>
    <image.meta>syndesis/syndesis-meta:%l</image.meta>
    <image.ui>syndesis/syndesis-ui:%l</image.ui>


    <fabric8.maven.plugin.version>3.5.33</fabric8.maven.plugin.version>
    <maven.exec.plugin.version>1.2.1</maven.exec.plugin.version>
    <clean-maven-plugin-version>2.4.1</clean-maven-plugin-version>
    <frontend-maven-plugin-version>1.6</frontend-maven-plugin-version>
    <node.version>v8.9.1</node.version>
    <yarn.version>v1.2.1</yarn.version>

    <hibernate.validator.version>5.3.5.Final</hibernate.validator.version>

    <jackson.version>2.8.10</jackson.version>
    <json-patch.version>1.9</json-patch.version>
    <kubernetes.client.version>2.4.1</kubernetes.client.version>

    <spring.version>4.3.12.RELEASE</spring.version>
    <spring-boot.version>1.5.8.RELEASE</spring-boot.version>

    <swagger.version>1.5.19-SNAPSHOT</swagger.version>

    <activemq.version>5.15.2</activemq.version>

    <!-- Global camel version used everywhere -->
    <camel.version>2.20.1</camel.version>

    <dep.plugin.dependency.version>3.0.2</dep.plugin.dependency.version>
    <dep.plugin.pmd.version>3.8</dep.plugin.pmd.version>
    <dep.pmd.version>5.8.1</dep.pmd.version>

    <!-- Don't fork based on cores, doesn't work nicely in the cloud -->
    <basepom.test.fork-count>1</basepom.test.fork-count>
    <basepom.failsafe.fork-count>1</basepom.failsafe.fork-count>
    <basepom.failsafe.reuse-vm>true</basepom.failsafe.reuse-vm>
        <!-- takes a really long time -->
    <basepom.check.skip-dependency-versions-check>true</basepom.check.skip-dependency-versions-check>
    <basepom.it.memory>1024m</basepom.it.memory>

    <!-- Plugin versions -->
    <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>

    <!-- Maven versions -->
    <maven-archetype-packaging.version>2.0</maven-archetype-packaging.version>
    <archetype-packaging.version>2.2</archetype-packaging.version>
    <maven-archetype-plugin.version>2.2</maven-archetype-plugin.version>
    <maven-resolver-api.version>1.0.3</maven-resolver-api.version>

    <maven-common-artifact-filters.version>1.4</maven-common-artifact-filters.version>
    <maven-shared-utils.version>3.1.0</maven-shared-utils.version>

    <!-- Common dependencies -->
    <assertj-core.version>3.9.1</assertj-core.version>
    <shrinkwrap.version>2.2.6</shrinkwrap.version>

    <mailapi.version>1.4.3</mailapi.version>
    <json-schema-core.version>1.2.8</json-schema-core.version>
    <json-schema-validator.version>2.2.8</json-schema-validator.version>

    <resteasy.version>3.1.4.Final</resteasy.version>
    <resteasy-spring-boot-starter.version>2.3.4-RELEASE</resteasy-spring-boot-starter.version>

    <immutables.version>2.5.6</immutables.version>
  </properties>

  <modules>
    <module>common</module>
    <module>extension</module>
    <module>integration</module>
    <module>connector</module>
    <module>server</module>
    <module>s2i</module>
    <module>meta</module>
    <module>ui</module>
  </modules>

  <profiles>

    <!--
    =========================================================================
    Profiles (which can and should be combined)
    =========================================================================
    -->

    <!-- Profile for building Docker images -->
    <profile>
      <id>image</id>
      <activation>
        <property>
          <name>::image</name>
        </property>
      </activation>

      <modules>
        <module>server</module>
        <module>meta</module>
        <module>ui</module>
      </modules>

      <build>
        <defaultGoal>install</defaultGoal>
      </build>
    </profile>

    <!-- No checks enabled -->
    <profile>
      <id>skip-checks</id>
      <properties>
        <basepom.check.skip-all>true</basepom.check.skip-all>
      </properties>
    </profile>

    <!-- All checks enabled -->
    <profile>
      <id>checks</id>
      <properties>
        <basepom.check.skip-all>false</basepom.check.skip-all>
      </properties>
    </profile>

    <!-- System tests enabled -->
    <profile>
      <id>system-tests</id>
      <modules>
        <module>test</module>
      </modules>
    </profile>

    <!-- Build Docker images directly -->
    <profile>
      <id>docker</id>
      <properties>
        <fabric8.mode>kubernetes</fabric8.mode>
      </properties>
    </profile>

    <!-- Build with OpenShift S2I -->
    <profile>
      <id>s2i</id>
      <properties>
        <fabric8.mode>openshift</fabric8.mode>
      </properties>
    </profile>

    <!-- Release profile -->
    <profile>
      <id>release</id>
      <build>
        <plugins>

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

          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <executions>
              <execution>
                <id>default-deploy</id>
                <phase>deploy</phase>
                <goals>
                  <goal>deploy</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <serverId>oss-sonatype-staging</serverId>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <configuration>
              <skip>false</skip>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
              <skipSource>false</skipSource>
            </configuration>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <skip>false</skip>
              <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Like 'no-checks' but even more aggresive (like even no tests)  -->
    <profile>
      <id>flash</id>
      <activation>
        <property>
          <name>deploy</name>
        </property>
      </activation>
      <properties>
        <basepom.check.skip-all>true</basepom.check.skip-all>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>default-testResources</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <executions>
              <execution>
                <id>default-testCompile</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.basepom.maven</groupId>
            <artifactId>property-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>get-build-id</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>pl.project13.maven</groupId>
            <artifactId>git-commit-id-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
              <execution>
                <id>default-it</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-tests</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.ning.maven.plugins</groupId>
            <artifactId>maven-dependency-versions-check-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.hubspot.maven.plugins</groupId>
            <artifactId>dependency-management-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.basepom.maven</groupId>
            <artifactId>duplicate-finder-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.mycila</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <executions>
              <execution>
                <id>default-test</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>${exec-maven-plugin.version}</version>
            <executions>
              <execution>
                <phase />
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase />
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <inherited>false</inherited>
          <configuration>
            <header>license/syndesis-license.txt</header>
            <skipExistingHeaders>false</skipExistingHeaders>
            <!-- Reduce this even further. Vote for https://github.com/mycila/license-maven-plugin/pull/133
                 to make this a fixed thread number value -->
            <concurrencyFactor>1</concurrencyFactor>
            <mapping combine.children="append">
              <provides>SCRIPT_STYLE</provides>
              <assemble>SCRIPT_STYLE</assemble>
            </mapping>
            <includes>
              <include>**/src/**</include>
              <include>**/pom.xml</include>
            </includes>
            <excludes>
              <exclude>**/node_modules/**</exclude>
              <exclude>.editorconfig</exclude>
              <exclude>license.txt</exclude>
              <exclude>.mention-bot</exclude>
              <exclude>.mvn/wrapper/maven-wrapper.properties</exclude>
              <exclude>mvnw*</exclude>
              <exclude>**/resources/**/test-*</exclude>
              <exclude>**/*.mustache</exclude>
              <exclude>**/test/resources/**</exclude>
              <exclude>**/spring.factories</exclude>
              <exclude>**/*.adoc</exclude>
              <exclude>**/archetypes/**/src/main/resources/archetype-resources/**</exclude>
              <exclude>**/s2i/src/main/docker/project/**</exclude>
              <exclude>**/Dockerfile</exclude>
              <exclude>**/*.ts</exclude>
              <exclude>**/*.scss</exclude>
              <exclude>**/*.html</exclude>
              <exclude>**/config.json*</exclude>
              <exclude>**/.gitkeep</exclude>
              <exclude>**/*.webapp</exclude>
              <exclude>**/browserconfig.xml</exclude>
              <exclude>connector/**/META-INF/syndesis/connector/verifier/*</exclude>
              <exclude>connector/**/springboot/*Configuration.java</exclude><!-- auto generated without headers -->
              <exclude>connector/**/springboot/*Common.java </exclude><!-- auto generated without headers -->
              <exclude>server/syndesis-builder-image-generator/image/**</exclude><!-- auto generated without headers -->
            </excludes>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>io.syndesis</groupId>
              <artifactId>syndesis-parent</artifactId>
              <classifier>tools</classifier>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <configuration>
            <configLocation>/syndesis/checkstyle.xml</configLocation>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>io.syndesis</groupId>
              <artifactId>syndesis-parent</artifactId>
              <classifier>tools</classifier>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <artifactId>maven-pmd-plugin</artifactId>
          <configuration>
            <analysisCache>true</analysisCache>
            <printFailingErrors>true</printFailingErrors>
            <rulesets>
              <ruleset>/syndesis/ruleset.xml</ruleset>
            </rulesets>
            <excludeRoots combine.children="append">
              <excludeRoot>target/generated-sources</excludeRoot>
            </excludeRoots>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>io.syndesis</groupId>
              <artifactId>syndesis-parent</artifactId>
              <classifier>tools</classifier>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.basepom.maven</groupId>
          <artifactId>duplicate-finder-maven-plugin</artifactId>
          <configuration>
            <ignoredResourcePatterns combine.children="append">
              <ignoredResourcePattern>resources/catalog.cat</ignoredResourcePattern>
            </ignoredResourcePatterns>
          </configuration>
        </plugin>

        <plugin>
          <groupId>io.fabric8</groupId>
          <artifactId>fabric8-maven-plugin</artifactId>
          <version>${fabric8.maven.plugin.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.4</version>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <additionalparam>-Xdoclint:none</additionalparam>
              </configuration>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
             <!-- Fix "There was a timeout or other error in the fork" errors -->
            <forkedProcessTimeoutInSeconds>120</forkedProcessTimeoutInSeconds>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>create-tool-jar</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
              <descriptors>
                <descriptor>tools.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>

  <!-- Common dependencies -->
  <dependencyManagement>

    <dependencies>

      <!-- BOMs -->

      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-bom</artifactId>
        <version>${shrinkwrap.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- ============================================================== -->
      <!-- === Internal Dependencies -->

      <!-- ::::::::::: common :::::::::::: -->

      <dependency>
        <groupId>io.syndesis.common</groupId>
        <artifactId>common-util</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.common</groupId>
        <artifactId>common-model</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- ::::::::::: rest :::::::::::: -->

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-connector-generator</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-controller</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-credential</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-dao</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-logging-jsondb</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-metrics-prometheus</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-filestore</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-inspector</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-jsondb</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-metrics-jsondb</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-openshift</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-endpoint</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-runtime</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.server</groupId>
        <artifactId>server-verifier</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- ::::::::::: integration :::::::::::: -->

      <dependency>
        <groupId>io.syndesis.integration</groupId>
        <artifactId>integration-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.integration</groupId>
        <artifactId>integration-project-generator</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.integration</groupId>
        <artifactId>integration-component-proxy</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.integration</groupId>
        <artifactId>integration-runtime</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- ::::::::::: extension :::::::::::: -->

      <dependency>
        <groupId>io.syndesis.extension</groupId>
        <artifactId>extension-annotation-processor</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.extension</groupId>
        <artifactId>extension-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.extension</groupId>
        <artifactId>extension-bom</artifactId>
        <type>pom</type>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.extension</groupId>
        <artifactId>extension-converter</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- ::::::::::: connector :::::::::::: -->

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-support-catalog</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-support-verifier</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-support-test</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-http</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-twitter</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-sql</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-mqtt</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-activemq</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-amqp</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-aws-s3</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-ftp</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.syndesis.connector</groupId>
        <artifactId>connector-sftp</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- ============================================== -->

      <!-- TODO: Maybe import BOM ? -->
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${camel.version}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>${spring-boot.version}</version>
        <scope>runtime</scope>
        <exclusions>
          <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jsonSchema</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <!-- ActiveMQ deps to override Spring Boot imported pom -->
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-client</artifactId>
        <version>${activemq.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-openwire-legacy</artifactId>
        <version>${activemq.version}</version>
      </dependency>

      <!-- Maven Stuff -->
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-common-artifact-filters</artifactId>
        <version>${maven-common-artifact-filters.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-shared-utils</artifactId>
        <version>${maven-shared-utils.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-api</artifactId>
        <version>${maven-resolver-api.version}</version>
      </dependency>

      <!-- Misc -->

      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${dep.findbugs.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>findbugs-annotations</artifactId>
        <version>${dep.findbugs.version}</version>
      </dependency>

      <dependency>
        <groupId>com.github.java-json-tools</groupId>
        <artifactId>json-schema-validator</artifactId>
        <version>${json-schema-validator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mailapi</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mailapi</artifactId>
        <version>${mailapi.version}</version>
      </dependency>

      <dependency>
        <groupId>com.github.java-json-tools</groupId>
        <artifactId>json-schema-core</artifactId>
        <version>${json-schema-core.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.12</version>
      </dependency>

      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0.1</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.spec.javax.ws.rs</groupId>
        <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
        <version>1.0.1.Beta1</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
      </dependency>

      <dependency>
        <groupId>org.immutables</groupId>
        <artifactId>value</artifactId>
        <version>${immutables.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.jolokia</groupId>
        <artifactId>jolokia-client-java</artifactId>
        <version>1.4.0</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient-osgi</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.github.fge</groupId>
        <artifactId>json-patch</artifactId>
        <version>${json-patch.version}</version>
      </dependency>

      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj-core.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- ========================================== -->

      <!-- === Atlasmap -->

      <dependency>
        <groupId>io.syndesis</groupId>
        <artifactId>sydnesis-annotation-processor</artifactId>
        <version>${project.version}</version>
      </dependency>


      <dependency>
        <groupId>io.syndesis</groupId>
        <artifactId>project-generator</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-core</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-java-model</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-java-core</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-java-module</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-java-service</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-json-module</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-json-service</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-xml-module</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-xml-service</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-service</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>atlas-model</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>io.atlasmap</groupId>
        <artifactId>camel-atlasmap</artifactId>
        <version>${atlasmap.version}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin.external.google</groupId>
        <artifactId>android-json</artifactId>
        <version>0.0.20131108.vaadin1</version>
      </dependency>

    </dependencies>

  </dependencyManagement>

  <!-- Metadata need to publish to central -->
  <url>https://syndesis.io/</url>
  <inceptionYear>2016</inceptionYear>

  <organization>
    <name>Red Hat</name>
    <url>https://redhat.com</url>
  </organization>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <name>Syndesis committers</name>
    </developer>
  </developers>

  <scm>
    <connection>scm:git:https://github.com/syndesisio/syndesis.git</connection>
    <developerConnection>scm:git:ssh://git@github.com:syndesisio/syndesis.git</developerConnection>
    <url>http://github.com/syndesisio/syndesis</url>
  </scm>

  <distributionManagement>
    <snapshotRepository>
      <id>oss-sonatype-staging</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>oss-sonatype-staging</id>
      <name>Sonatype Staging Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
  </distributionManagement>

  <repositories>
    <repository>
      <!--
           we need a SNAPSHOT version of io.swagger:* artefacts, remove
           this when 1.5.19 is released
           see https://github.com/swagger-api/swagger-core/issues/2316
      -->
      <id>oss-sonatype-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <issueManagement>
    <system>github</system>
    <url>https://github.com/syndesisio/syndesis.io/issues</url>
  </issueManagement>

</project>
