<?xml version="1.0" encoding="ISO-8859-15"?>
<!--
  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 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">
  <parent>
    <artifactId>apache-james-imap-parent</artifactId>
    <groupId>org.apache.james</groupId>
    <version>0.1</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.james</groupId>
  <artifactId>apache-james-mailbox-jpa</artifactId>
  <name>Apache James JPA Mailbox Manager</name>
  <dependencies>
    <dependency>
      <groupId>${javax.mail.groupId}</groupId>
      <artifactId>${javax.mail.artifactId}</artifactId>
    </dependency>
    <dependency>
      <groupId>${javax.activation.groupId}</groupId>
      <artifactId>${javax.activation.artifactId}</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-james-mailbox-api</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-james-mailbox-store</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-james-imap-message</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-james-imap-processor</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-james-imap-protocol-tester</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
    </dependency> 

    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <scope>test</scope>
    </dependency>
    
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-mime4j</artifactId>
    </dependency>

    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>

    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    
    <!-- 
    <dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
    </dependency>
    -->
    <dependency>
      <groupId>org.apache.openjpa</groupId>
      <artifactId>openjpa</artifactId>
    </dependency> 
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>openjpa-maven-plugin</artifactId>
        <version>1.1</version>
        <configuration>
          <includes>org/apache/james/mailbox/jpa/*/model/**/*.class</includes>
          <addDefaultConstructor>true</addDefaultConstructor>
          <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
          <toolProperties>
            <property>
              <name>log</name>
              <value>TOOL=TRACE</value>
            </property>   
            <property>
              <name>metaDataFactory</name>
              <value>jpa(Types=org.apache.james.mailbox.jpa.mail.model.JPAHeader;org.apache.james.mailbox.jpa.mail.model.JPAMailbox;org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMembership;org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMembership;org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMailboxMembership;org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMessage;org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMessage;org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMessage;org.apache.james.mailbox.jpa.mail.model.JPAProperty;org.apache.james.mailbox.jpa.user.model.JPASubscription)</value>
            </property>           
          </toolProperties>
        </configuration>
        
        <executions>
          <execution>
            <id>enhancer</id>
            <phase>process-classes</phase>
            <goals>
              <goal>enhance</goal>
            </goals>
          </execution>
        </executions>

        <dependencies>
        <!--
        WORKAROUND 
         -->
          <dependency>
            <groupId>${javax.mail.groupId}</groupId>
            <artifactId>${javax.mail.artifactId}</artifactId>
            <version>${version.javax.mail}</version>
          </dependency>
          <dependency>
            <groupId>${javax.activation.groupId}</groupId>
            <artifactId>${javax.activation.artifactId}</artifactId>
            <version>${version.activation}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-api</artifactId>
            <version>${pom.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-james-mailbox-store</artifactId>
            <version>${pom.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.james</groupId>
            <artifactId>apache-mime4j</artifactId>
            <version>${version.apache-mime4j}</version>
          </dependency>

          <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>${version.commons-logging}</version>
          </dependency>
          <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>${version.commons-lang}</version>
          </dependency>

          <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>${version.commons-collections}</version>
          </dependency>

          <dependency>
            <groupId>org.apache.openjpa</groupId>
            <artifactId>openjpa</artifactId>
            <version>${version.openjpa}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>
