<?xml version="1.0" encoding="UTF-8"?>
<!--
    https://camel-extra.github.io

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.


    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.

    http://www.gnu.org/licenses/gpl-2.0-standalone.html
-->
<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.25.2</version>
  </parent>

  <groupId>org.apache-extras.camel-extra</groupId>
  <artifactId>camel-parent</artifactId>
  <version>2.25.2</version>
  <packaging>pom</packaging>
  <name>Camel Extra</name>
  <description>Camel Extra Parent POM</description>

  <issueManagement>
    <system>GitHub Issues</system>
    <url>https://github.com/camel-extra/camel-extra/issues</url>
  </issueManagement>

  <mailingLists>
    <mailingList>
      <name>User List</name>
      <archive>http://camel-extra.1091541.n5.nabble.com</archive>
    </mailingList>
  </mailingLists>

  <prerequisites>
    <maven>3.0.4</maven>
  </prerequisites>

  <properties>
    <camel-version>2.25.2</camel-version>

    <site-repo-url>scpexe://people.apache.org/www/activemq.apache.org/camel/maven/</site-repo-url>
    <sonatypeOssDistMgmtSnapshotsUrl>https://oss.sonatype.org/content/repositories/snapshots/</sonatypeOssDistMgmtSnapshotsUrl>

    <!-- OSGI bundles properties -->
    <camel.osgi.import.pkg>
      !${camel.osgi.export.pkg},
      org.apache.camel.*;${camel.osgi.import.camel.version},
      *
    </camel.osgi.import.pkg>
    <camel.osgi.private.pkg>!*</camel.osgi.private.pkg>
    <camel.osgi.export>${camel.osgi.export.pkg}*;version=${camel.osgi.export.version}</camel.osgi.export>
    <camel.osgi.export.version>${project.version}</camel.osgi.export.version>
    <camel.osgi.import>${camel.osgi.import.pkg}</camel.osgi.import>
    <camel.osgi.symbolic.name>${project.groupId}.${project.artifactId}</camel.osgi.symbolic.name>

    <!-- gpg passphrase for releases -->
    <akka-version>2.3.11</akka-version>
    <antlr-bundle-version>4.5</antlr-bundle-version>
    <antlr-bundle-hibernate-version>2.7.7_5</antlr-bundle-hibernate-version>
    <classmate-version>1.3.0</classmate-version>
    <cobertura-maven-plugin-version>2.6</cobertura-maven-plugin-version>
    <db4o-version>8.0</db4o-version>
    <easymock-version>3.2</easymock-version>
    <esper-version>5.2.0</esper-version>
    <exist-version>0.9.2</exist-version>
    <geronimo-servlet-spec12-version>1.2</geronimo-servlet-spec12-version>
    <hibernate-commons-annotation-version>5.0.1.Final</hibernate-commons-annotation-version>
    <jandex-version>2.0.3.Final</jandex-version>
    <javax-validation-api-version>1.1.0.Final</javax-validation-api-version>
    <javassist-version>3.22.0-GA</javassist-version>
    <jaxws-rt-version>2.2.9-b14002</jaxws-rt-version>
    <jsr303-bundle-version>2.2.0</jsr303-bundle-version>
    <jboss-vfs5-version>2.2.3.GA</jboss-vfs5-version>
    <jboss-vfs6-version>3.2.2.Final</jboss-vfs6-version>
    <jcifs-version>1.3.17</jcifs-version>
    <jodatime2-bundle-version>2.3_1</jodatime2-bundle-version>
    <logback-version>1.0.13</logback-version>
    <mockito-version>1.9.5</mockito-version>
    <neo4j-cypher-dsl-version>1.7</neo4j-cypher-dsl-version>
    <objenesis-version>2.1</objenesis-version>
    <protobuf-java-bundle-version>2.4.1_1</protobuf-java-bundle-version>
    <rserve-version>1.7-3</rserve-version>
    <scala-version>2.10.1</scala-version>
    <spring-neo4j-version>4.1.9.RELEASE</spring-neo4j-version>
    <spring-data-commons-version>1.11.4.RELEASE</spring-data-commons-version>
    <spring-data-neo4j-version>3.4.4.RELEASE</spring-data-neo4j-version>
    <servicemix-jaxb-impl-version>2.2.6_1</servicemix-jaxb-impl-version>
    <!--<servicemix-lucene-bundle-version>3.6.2_1</servicemix-lucene-bundle-version>-->
    <servicemix.bundles.cglib-version>2.2.2_1</servicemix.bundles.cglib-version>
    <servicemix.bundles.jdo2-api-version>2.2_1</servicemix.bundles.jdo2-api-version>
    <servicemix.bundles.jaxb-impl>2.2.6_1</servicemix.bundles.jaxb-impl>
    <servicemix.bundles.javax-inject-version>1_2</servicemix.bundles.javax-inject-version>
    <servicemix.bundles.jdt-core-version>3.2.3_5</servicemix.bundles.jdt-core-version>
    <servicemix.bundles.guava-version>11.0.2_2</servicemix.bundles.guava-version>
    <servicemix.bundles.aspectj-version>1.7.2_1</servicemix.bundles.aspectj-version>
    <servicemix.bundles.lucene-version>3.6.2</servicemix.bundles.lucene-version>
    <servicemix.bundles.neo4j-version>1.8_2</servicemix.bundles.neo4j-version>
    <servicemix.bundles.spring-data-neo4j-version>2.2.2.RELEASE_1</servicemix.bundles.spring-data-neo4j-version>
    <servicemix.bundles.querydsl-version>2.9.0_1</servicemix.bundles.querydsl-version>
    <servicemix.specs.activation-api-version>2.2.0</servicemix.specs.activation-api-version>
    <servicemix.specs.java-persistence-api-version>2.4.0</servicemix.specs.java-persistence-api-version>
    <servicemix.specs.jsr303-api-version>2.4.0</servicemix.specs.jsr303-api-version>
    <typesafe-config-version>1.0.2</typesafe-config-version>
    <virtualbox-version>4.2.8</virtualbox-version>
    <vtd-xml-version>2.11</vtd-xml-version>
    <xmlrpc-version>2.0.1</xmlrpc-version>
    <zeromq-scala-binding-version>0.0.7</zeromq-scala-binding-version>
  </properties>

  <url>https://camel-extra.github.io</url>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>

  <licenses>
    <license>
      <name>GNU GENERAL PUBLIC LICENSE</name>
      <url>http://www.gnu.org/licenses/gpl-2.0-standalone.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <repositories>
    <repository>
      <id>apache.content.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>https://repository.apache.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <!--repository>
      <id>camel.extra.others</id>
      <name>Camel Extra - 3rd parties dependencies</name>
      <url>http://svn.codespot.com/a/apache-extras.org/camel-extra/maven2/others/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository-->
    <repository>
      <id>neo4j.releases.repo</id>
      <url>http://m2.neo4j.org/content/repositories/releases/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>http://repository.apache.org/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>codehaus.repo</id>
      <name>Codehaus Repository</name>
      <url>http://repository.codehaus.org/</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <snapshotRepository>
      <id>sonatype-nexus-snapshots</id>
      <name>Sonatype Nexus Snapshots</name>
      <url>${sonatypeOssDistMgmtSnapshotsUrl}</url>
    </snapshotRepository>
    <repository>
      <id>sonatype-nexus-staging</id>
      <name>Nexus Release Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <scm>
    <connection>scm:git:https://github.com/camel-extra/camel-extra.git</connection>
    <developerConnection>scm:git:https://github.com/camel-extra/camel-extra.git</developerConnection>
    <url>https://github.com/camel-extra/camel-extra</url>
    <tag>camel-parent-2.25.2</tag>
  </scm>

  <modules>
    <module>components</module>
    <module>examples</module>
    <module>platform</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-csv</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-gson</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-http4</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-saxon</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-test</artifactId>
        <version>${camel-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-test-spring</artifactId>
        <version>${camel-version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-container-karaf</artifactId>
        <version>${pax-exam-version}</version>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring-version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>${easymock-version}</version>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>${easymock-version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <defaultGoal>install</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <maxmem>256M</maxmem>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.4.2</version>
          <configuration>
            <mavenExecutorId>forked-path</mavenExecutorId>
            <pomFileName>pom.xml</pomFileName>
            <useReleaseProfile>false</useReleaseProfile>
            <preparationGoals>clean install</preparationGoals>
            <goals>deploy</goals>
            <arguments>-Psonatype-oss-release</arguments>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <executions>
            <execution>
              <id>validate</id>
              <phase>validate</phase>
              <configuration>
                <failsOnError>false</failsOnError>
              </configuration>
              <goals>
                <goal>checkstyle</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${cobertura-maven-plugin-version}</version>
          <configuration>
            <aggregate>true</aggregate>
            <formats>
              <format>html</format>
            </formats>
            <check>
              <branchRate>85</branchRate>
              <lineRate>85</lineRate>
              <haltOnFailure>false</haltOnFailure>
              <totalBranchRate>85</totalBranchRate>
              <totalLineRate>85</totalLineRate>
              <packageLineRate>85</packageLineRate>
              <packageBranchRate>85</packageBranchRate>
              <regexes>
                <regex>
                  <pattern>org.apacheextras.camel.component.*</pattern>
                  <branchRate>90</branchRate>
                  <lineRate>80</lineRate>
                </regex>
                <regex>
                  <pattern>org.apacheextras.camel.examples.*</pattern>
                  <branchRate>10</branchRate>
                  <lineRate>5</lineRate>
                </regex>
              </regexes>
            </check>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.8</version>
          <configuration>
            <licenses>
              <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                <licenseFamilyCategory>GPLv2</licenseFamilyCategory>
                <licenseFamilyName>camel-extra</licenseFamilyName>
                <patterns>
                  <pattern>http://www.gnu.org/licenses/gpl-2.0-standalone.html</pattern>
                </patterns>
              </license>
              <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                <licenseFamilyCategory>GPLv3</licenseFamilyCategory>
                <licenseFamilyName>camel-extra</licenseFamilyName>
                <patterns>
                  <pattern>http://www.gnu.org/licenses/gpl-3.0-standalone.html</pattern>
                </patterns>
              </license>
              <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                <licenseFamilyCategory>LGPLv2</licenseFamilyCategory>
                <licenseFamilyName>camel-extra</licenseFamilyName>
                <patterns>
                  <pattern>http://www.gnu.org/licenses/lgpl-2.0-standalone.html</pattern>
                </patterns>
              </license>
              <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                <licenseFamilyCategory>LGPLv3</licenseFamilyCategory>
                <licenseFamilyName>camel-extra</licenseFamilyName>
                <patterns>
                  <pattern>http://www.gnu.org/licenses/lgpl-3.0-standalone.html</pattern>
                </patterns>
              </license>
            </licenses>
            <licenseFamilies>
              <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                <familyName>camel-extra</familyName>
              </licenseFamily>
            </licenseFamilies>
            <excludes>
              <exclude>**/README</exclude>
              <exclude>**/README.txt</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>**/*.md</exclude>
              <exclude>**/src/styles/print.css</exclude>
              <excludes>**/src/main/resources/META-INF/cxf/cxf.extension</excludes>
              <excludes>**/src/main/resources/META-INF/cxf/bus-extensions.txt</excludes>
              <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>**/.gitignore</exclude>
              <exclude>**/*.csv</exclude>
              <exclude>atlassian-ide-plugin.xml</exclude>
            </excludes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.3.1</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>(,2.1.0),(2.1.0,2.2.0),(2.2.0,)</version>
                  <message>
                    Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively.
                  </message>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${maven-bundle-version}</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-Name>${project.artifactId}</Bundle-Name>
            <Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName>
            <Bundle-Vendor>Apache Extras: Camel</Bundle-Vendor>
            <Export-Package>${camel.osgi.export}</Export-Package>
            <Import-Package>${camel.osgi.import}</Import-Package>
            <Private-Package>${camel.osgi.private.pkg}</Private-Package>
            <Implementation-Title>Camel Extra</Implementation-Title>
            <Implementation-Version>${project.version}</Implementation-Version>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>integration</id>
      <modules>
        <module>tests</module>
      </modules>
    </profile>
    <profile>
      <id>sonatype-oss-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven-javadoc-plugin-version}</version>
            <configuration>
              <attach>true</attach>
              <source>1.8</source>
              <quiet>true</quiet>
              <bottom>Apache Extras Camel-Extra</bottom>
              <detectOfflineLinks>false</detectOfflineLinks>
              <javadocVersion>1.8</javadocVersion>
              <encoding>UTF-8</encoding>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.4</version>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
              <useAgent>${gpg.useagent}</useAgent>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>withRatCheck</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <phase>initialize</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
