<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ JBoss, Home of Professional Open Source
  ~ Copyright 2012 Red Hat Inc. and/or its affiliates and other
  ~ contributors as indicated by the @author tags. All rights reserved.
  ~ See the copyright.txt in the distribution for a full listing of
  ~ individual contributors.
  ~
  ~ This is free software; you can redistribute it and/or modify it
  ~ under the terms of the GNU Lesser General Public License as
  ~ published by the Free Software Foundation; either version 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ This software 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
  ~ Lesser General Public License for more details.
  ~
  ~ You should have received a copy of the GNU Lesser General Public
  ~ License along with this software; if not, write to the Free
  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  -->
<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.infinispan</groupId>
      <artifactId>infinispan-parent</artifactId>
      <version>5.1.7.Final</version>
      <relativePath>../parent/pom.xml</relativePath>
   </parent>

   <artifactId>infinispan-spring</artifactId>
   <packaging>bundle</packaging>

   <name>Infinispan Spring Integration</name>
   <description>
        <![CDATA[
                 The Infinispan Spring Integration project provides Spring 
                 integration for Infinispan, a high performance distributed cache.
                 Its primary features are
                 
                  * An implementation of org.springframework.cache.CacheManager,
                    Spring's central caching abstraction, backed by Infinispan's
                    EmbeddedCacheManager. To be used if your Spring-powered
                    application and Infinispan are colocated, i.e. running within
                    the same VM.
                  * An implementation of org.springframework.cache.CacheManager
                    backed by Infinispan's RemoteCacheManager. To bes used if your
                    Spring-powered application accesses Infinispan remotely, i.e.
                    over the network.
                  * An implementation of org.springframework.cache.CacheManager
                    backed by a CacheContainer reference. To be used if your Spring-
                    powered application needs access to a CacheContainer defined
                    outside the application (e.g. retrieved from JNDI)
                  * Spring namespace support allowing shortcut definitions for all the
                    components above

                 In addition, Infinispan Spring Integration offers various FactoryBeans
                 for facilitating creation of Infinispan core classes - Cache, CacheManager,
                 ... - within a Spring context.
        ]]>
    </description>

	<!-- =================================================== -->
	<!-- Developers section -->
	<!-- =================================================== -->

   <developers>
      <developer>
         <id>obergner</id>
         <name>Olaf Bergner</name>
         <email>olaf DOT bergner AT gmx DOT de</email>
         <roles>
            <role>Project Admin</role>
            <role>Developer</role>
         </roles>
         <timezone>0</timezone>
      </developer>
      <developer>
         <id>marius.bogoevici</id>
         <name>Marius Bogoevici</name>
         <email>marius.bogoevici AT gmail.com</email>
         <roles>
            <role>Developer</role>
         </roles>
         <timezone>-5</timezone>
      </developer>
   </developers>

   <!-- =================================================== -->
   <!-- Project Dependencies -->
   <!-- =================================================== -->

   <dependencies>
      <!--Compile time dependencies -->
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <scope>compile</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-core</artifactId>
         <scope>compile</scope>
      </dependency>
      <!-- Made the RHQ dependency non-transitive in case we only need the remote cache -->
      <dependency>
         <groupId>org.rhq.helpers</groupId>
         <artifactId>rhq-pluginAnnotations</artifactId>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-client-hotrod</artifactId>
         <scope>compile</scope>
         <optional>true</optional>
         <exclusions>
            <exclusion>
               <groupId>org.apache.hadoop</groupId>
               <artifactId>avro</artifactId>
            </exclusion>
         </exclusions>
      </dependency>

      <!--Runtime dependencies -->
      <dependency>
         <groupId>commons-pool</groupId>
         <artifactId>commons-pool</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <scope>runtime</scope>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.jgroups</groupId>
         <artifactId>jgroups</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.marshalling</groupId>
         <artifactId>jboss-marshalling</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.jboss.marshalling</groupId>
         <artifactId>jboss-marshalling-river</artifactId>
         <scope>runtime</scope>
      </dependency>

      <!--Test Dependencies -->
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-test</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-core</artifactId>
         <type>test-jar</type>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-client-hotrod</artifactId>
         <type>test-jar</type>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-server-hotrod</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>infinispan-server-hotrod</artifactId>
         <type>test-jar</type>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-jdbc</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>com.h2database</groupId>
         <artifactId>h2</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>commons-dbcp</groupId>
         <artifactId>commons-dbcp</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <!-- =================================================== -->
   <!-- Project Plugins -->
   <!-- =================================================== -->

   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <configuration>
               <instructions>
                  <Export-Package>
                     ${project.groupId}.spring.*;version=${project.version};-split-package:=error
                  </Export-Package>
               </instructions>
            </configuration>
         </plugin>
      </plugins>
   </build>

</project>
