<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.camel</groupId>
  <artifactId>camel-parent</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <name>Camel</name>
  <description>Camel Parent POM</description>

  <prerequisites>
    <maven>2.0.5</maven>
  </prerequisites>

  <properties>
    <camel-version>1.0.0</camel-version>
    <compiler.fork>false</compiler.fork>
    <release-repo-url>scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository
    </release-repo-url>
    <snapshot-repo-url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</snapshot-repo-url>
    <m1-repo-url>scpexe://minotaur.apache.org/www/people.apache.org/repo/m1-snapshot-repository</m1-repo-url>
    <site-repo-url>scpexe://people.apache.org/www/activemq.apache.org/camel/maven/</site-repo-url>
    <slf4j-version>1.3.0</slf4j-version>
  </properties>

  <url>http://apache.apache.org/camel/</url>

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

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

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

  <repositories>
    <repository>
      <id>apache.incubating.releases</id>
      <name>Apache Incubating Release Distribution Repository</name>
      <url>http://people.apache.org/repo/m2-incubating-repository</url>
    </repository>
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <id>logicblaze.repo</id>
      <name>LogicBlaze Repository</name>
      <url>http://repo.logicblaze.com/maven2-all</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>apache.incubating.releases</id>
      <name>Apache Incubating Release Distribution Repository</name>
      <url>http://people.apache.org/repo/m2-incubating-repository</url>
    </pluginRepository>
    <pluginRepository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>apache.releases</id>
      <name>Apache Release Distribution Repository</name>
      <url>${release-repo-url}</url>
    </repository>
    <snapshotRepository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>${snapshot-repo-url}</url>
    </snapshotRepository>
    <site>
      <id>apache.website</id>
      <url>${site-repo-url}</url>
    </site>
  </distributionManagement>

  <modules>
    <module>apache-camel</module>
    <module>camel-core</module>
    <module>components</module>
    <module>examples</module>
    <module>tooling</module>
  </modules>

  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/activemq/camel/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/activemq/camel/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/activemq/camel/trunk/</url>
  </scm>

  <dependencyManagement>
    <dependencies>

      <!-- Camel jars -->
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-activemq</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-bam</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-cxf</artifactId>
        <version>${camel-version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-http</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jaxb</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-irc</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jbi</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jms</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jpa</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-josql</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-mail</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-mina</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-quartz</artifactId>
        <version>${camel-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-rmi</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-script</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-xmpp</artifactId>
        <version>${camel-version}</version>
      </dependency>

      <!-- testing jars -->
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <type>test-jar</type>
        <version>${camel-version}</version>
        <optional>true</optional>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring</artifactId>
        <type>test-jar</type>
        <version>${camel-version}</version>
        <optional>true</optional>
        <scope>test</scope>
      </dependency>


      <!-- Required dependencies -->
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>1.0.4</version>
      </dependency>

      <!-- optional dependencies  -->
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.0.4</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.12</version>
        <scope>test</scope>
      </dependency>


      <!-- optional dependencies for JMS -->
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>apache-activemq</artifactId>
        <version>4.1.0-incubator</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jms_1.1_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee-management_1.0_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee-jacc_1.0_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jsp_2.0_spec</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-servlet_2.4_spec</artifactId>
        <version>1.0</version>
      </dependency>


      <!-- Optional Spring Support -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.0.5</version>
        <exclusions>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.resource</groupId>
            <artifactId>connector</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-support</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-hibernate</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-remoting</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- optional mina dependencies -->
      <dependency>
        <groupId>org.apache.mina</groupId>
        <artifactId>mina-java5</artifactId>
        <version>1.0.2</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j-version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j-version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j-version}</version>
      </dependency>

      <!-- optional jetty support -->
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>6.1.2rc1</version>
      </dependency>


      <!-- optional scripting support -->
      <dependency>
        <groupId>org.livetribe</groupId>
        <artifactId>livetribe-jsr223</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>1.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.script</groupId>
        <artifactId>groovy-engine</artifactId>
        <version>20070112</version>
        <scope>test</scope>
      </dependency>


      <!-- optional CXF support -->
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-core</artifactId>
        <version>2.0-incubator-RC-SNAPSHOT</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>2.2.1</version>
        <scope>test</scope>
      </dependency>


      <!-- default JPA support -->
      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-persistence-jdbc</artifactId>
        <version>0.9.6-incubating</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.2.1.ga</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate</artifactId>
        <version>3.2.1.ga</version>
        <exclusions>
          <exclusion>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>1.8.0.7</version>
      </dependency>


      <!-- optional JavaMail -->
      <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4</version>
      </dependency>

      <!-- common testing dependencies -->
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.1.3.1</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>
          <version>2.0.2</version>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
            <maxmem>256M</maxmem>
            <fork>${compiler.fork}</fork>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <configuration>
            <outputDirectory>${basedir}/eclipse-classes</outputDirectory>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.0</version>
          <configuration>
            <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.apache.camel.impl.*</pattern>
                  <branchRate>90</branchRate>
                  <lineRate>80</lineRate>
                </regex>
                <regex>
                  <pattern>org.apache.camel.builder.*</pattern>
                  <branchRate>40</branchRate>
                  <lineRate>30</lineRate>
                </regex>
              </regexes>
            </check>
          </configuration>
        </plugin>

      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-one-plugin</artifactId>
        <extensions>true</extensions>
        <executions>
          <execution>
            <goals>
              <goal>install-maven-one-repository</goal>
              <goal>deploy-maven-one-repository</goal>
            </goals>
            <configuration>
              <remoteRepositoryId>apache.m1.releases</remoteRepositoryId>
              <remoteRepositoryUrl>${m1-repo-url}</remoteRepositoryUrl>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <childDelegation>false</childDelegation>
          <useFile>true</useFile>
          <includes>
            <include>**/*Test.*</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
      </plugin>
      <!--
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jxr-plugin</artifactId>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-pmd-plugin</artifactId>
            </plugin>
      -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.0</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <links>
            <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
            <link>http://java.sun.com/j2ee/1.4/docs/api/</link>
            <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
            <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
            <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
            <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
            <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
            <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
            <link>http://junit.sourceforge.net/javadoc/</link>
            <link>http://logging.apache.org/log4j/docs/api/</link>
            <link>http://mina.apache.org/report/trunk/apidocs/</link>
          </links>
          <stylesheetfile>${basedir}/../../etc/css/stylesheet.css</stylesheetfile>
          <linksource>true</linksource>
          <maxmemory>900m</maxmemory>
          <source>1.5</source>

          <!-- TODO we can't aggregate as it won't find the CSS file :( -->
          <!--<aggregate>true</aggregate>-->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>rat</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rat-maven-plugin</artifactId>
            <version>1.0-alpha-1-SNAPSHOT</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
              <excludes>
                <exclude>**/target/**/*</exclude>

                <!-- left around after creating the site -->
                <exclude>**/cobertura.ser</exclude>

                <!-- left around after some unit tests -->
                <exclude>**/derby.log</exclude>
                <exclude>**/camel-ftp/res/**/*</exclude>

                <!-- IDEA files -->
                <exclude>**/*.iml</exclude>
                <exclude>**/*.ipr</exclude>
                <exclude>**/*.iws</exclude>

                <!-- Eclipse files -->
                <exclude>**/.*</exclude>
                <exclude>**/eclipse-classes/**/*</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <!--
            TODO this barfs

            <reporting>
              <plugins>
                <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>rat-maven-plugin</artifactId>
                  <version>1.0-alpha-1-SNAPSHOT</version>
                </plugin>
              </plugins>
            </reporting>
      -->
      <repositories>
        <repository>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots/>
          <id>Codehaus Snapshots</id>
          <url>http://snapshots.repository.codehaus.org/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots/>
          <id>Codehaus Snapshots</id>
          <url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>

    <profile>
      <id>integration</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <childDelegation>false</childDelegation>
              <useFile>true</useFile>
              <includes>
                <include>**/*Test.*</include>
                <include>**/*Integration.*</include>
              </includes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
