<?xml version="1.0"?>
<!--
  ~ JBoss, Home of Professional Open Source
  ~ Copyright 2009 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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.modeshape</groupId>
      <artifactId>modeshape-parent</artifactId>
      <version>3.0.0.Alpha1</version>
      <relativePath>../modeshape-parent/pom.xml</relativePath>
   </parent>

   <artifactId>modeshape-schematic</artifactId>
   <packaging>jar</packaging>
   <name>Schematic API</name>
   <description>Module for storing JSON/BSON documents and JSON Schemas in Infinispan</description>
   <dependencies>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-core</artifactId>
         <version>${infinispan.version}</version>
      </dependency>

		<!--  Used in tests -->
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-core</artifactId>
         <version>${infinispan.version}</version>
         <type>test-jar</type>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-cachestore-bdbje</artifactId>
         <version>${infinispan.version}</version>
         <scope>test</scope>
      </dependency>

		<!-- We use a number of libraries to test the JSON and BSON readers and writers -->
      <dependency>
         <groupId>de.undercouch</groupId>
         <artifactId>bson4jackson</artifactId>
         <version>1.1.2</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.mongodb</groupId>
         <artifactId>mongo-java-driver</artifactId>
         <version>2.6.1</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>com.googlecode.json-simple</groupId>
         <artifactId>json-simple</artifactId>
         <version>1.1</version>
         <scope>test</scope>
      </dependency>

      <!-- 
      Testing (note the scope)
      -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
      </dependency>
      <dependency>
        <groupId>org.jboss.jbossts</groupId>
        <artifactId>jbossjta</artifactId>
        <version>4.15.1.Final</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <artifactId>commons-httpclient</artifactId>
            <groupId>commons-httpclient</groupId>
          </exclusion>
          <exclusion>
            <artifactId>ironjacamar-spec-api</artifactId>
            <groupId>org.jboss.ironjacamar</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging-spi</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging-processor</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging-generator</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jbossws-native-core</artifactId>
            <groupId>org.jboss.ws.native</groupId>
          </exclusion>
          <exclusion>
            <artifactId>emma</artifactId>
            <groupId>emma</groupId>
          </exclusion>
          <exclusion>
            <artifactId>emma_ant</artifactId>
            <groupId>emma</groupId>
          </exclusion>
          <exclusion>
            <artifactId>hornetq-core</artifactId>
            <groupId>org.hornetq</groupId>
          </exclusion>
          <exclusion>
            <artifactId>netty</artifactId>
            <groupId>org.jboss.netty</groupId>
          </exclusion>
          <exclusion>
            <artifactId>wrapper</artifactId>
            <groupId>tanukisoft</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jacorb</artifactId>
            <groupId>jacorb</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jfreechart</artifactId>
            <groupId>jfree</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-corba-ots-spi</artifactId>
            <groupId>org.jboss.integration</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-server-manager</artifactId>
            <groupId>org.jboss.jbossas</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-ejb-api_3.1_spec</artifactId>
            <groupId>org.jboss.spec.javax.ejb</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jnp-client</artifactId>
            <groupId>org.jboss.naming</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-servlet-api_3.0_spec</artifactId>
            <groupId>org.jboss.spec.javax.servlet</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jbossws-common</artifactId>
            <groupId>org.jboss.ws</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jcl-over-slf4j</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>stax-api</artifactId>
            <groupId>stax</groupId>
          </exclusion>
          <exclusion>
            <artifactId>idl</artifactId>
            <groupId>jacorb</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging-tools</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-connector-api_1.5_spec</artifactId>
            <groupId>org.jboss.spec.javax.resource</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-transaction-spi</artifactId>
            <groupId>org.jboss.integration</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-remoting</artifactId>
            <groupId>org.jboss.remoting</groupId>
          </exclusion>
          <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>dom4j</artifactId>
            <groupId>dom4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>commons-codec</artifactId>
            <groupId>commons-codec</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logmanager</artifactId>
            <groupId>org.jboss.logmanager</groupId>
          </exclusion>
          <exclusion>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <groupId>org.hibernate.javax.persistence</groupId>
          </exclusion>
          <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jcommon</artifactId>
            <groupId>jfree</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-transaction-api_1.1_spec</artifactId>
            <groupId>org.jboss.spec.javax.transaction</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- 
      Logging (require SLF4J API for compiling, but use Log4J and its SLF4J binding for testing) 
      -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <scope>test</scope>
      </dependency>
   </dependencies>

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