<?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 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.deltaspike.modules</groupId>
        <artifactId>data-module-project</artifactId>
        <version>1.9.4-SNAPSHOT</version>
    </parent>

    <artifactId>deltaspike-data-module-impl</artifactId>
    <packaging>jar</packaging>

    <name>Apache DeltaSpike Data-Module Impl</name>

    <properties>
        <deltaspike.osgi.export.pkg>
            org.apache.deltaspike.data.impl.*
        </deltaspike.osgi.export.pkg>
        <deltaspike.osgi.import>
            javax.persistence*;version="[1.1,3)",
            org.apache.deltaspike.jpa.impl.transaction,
            !org.apache.deltaspike.data.impl.*,
            *
        </deltaspike.osgi.import>
        <deltaspike.osgi.require.capability>
            osgi.extender; filter:="(osgi.extender=pax.cdi)"
        </deltaspike.osgi.require.capability>
        <deltaspike.osgi.provide.capability>
            org.ops4j.pax.cdi.extension; extension=deltaspike-data-module-impl
        </deltaspike.osgi.provide.capability>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <argLine>-Xms128m -Xmx1024m -XX:MaxPermSize=256m</argLine>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.bsc.maven</groupId>
                <artifactId>maven-processor-plugin</artifactId>
                <version>2.0.7</version>
                <executions>
                    <execution>
                        <id>process-test</id>
                        <goals>
                            <goal>process-test</goal>
                        </goals>
                        <phase>generate-test-sources</phase>
                    </execution>
                </executions>
                <configuration>
                    <processors>
                        <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
                    </processors>
                </configuration>
                <dependencies>
                    <!-- this part of Hibernate is Apache License 2.0, thus O.K. for us. -->
                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-jpamodelgen</artifactId>
                        <version>1.2.0.Final</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <dependencies>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_2.0_spec</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.deltaspike.modules</groupId>
            <artifactId>deltaspike-data-module-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.deltaspike.core</groupId>
            <artifactId>deltaspike-core-impl</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.deltaspike.modules</groupId>
            <artifactId>deltaspike-partial-bean-module-impl</artifactId>
            <scope>runtime</scope>
        </dependency>
        
        <dependency>
            <groupId>org.apache.deltaspike.modules</groupId>
            <artifactId>deltaspike-jpa-module-impl</artifactId>
            <scope>compile</scope>
        </dependency>

        <!-- Tests -->

        <dependency>
            <groupId>org.jboss.shrinkwrap.resolver</groupId>
            <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.jboss.shrinkwrap.descriptors</groupId>
            <artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <profiles>
        <profile>
            <id>jbossas-build-managed-7</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>jbossas-remote-7</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>jbossas-managed-7</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>wildfly-build-managed</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>wildfly-managed</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>wildfly-remote</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-jbossas7</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>glassfish-remote-3.1</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-glassfish</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>glassfish-build-managed-3</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-glassfish</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>glassfish-build-managed-4</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-glassfish</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>payara-build-managed-4</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-glassfish</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>tomee-build-managed</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-openejb</directory>
                    </testResource>
                </testResources>
            </build>
            <dependencies>
                <dependency>
                    <groupId>org.javassist</groupId>
                    <artifactId>javassist</artifactId>
                    <version>3.17.1-GA</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomee7-build-managed</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-openejb</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>wls-remote-12c</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-weblogic</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
        <profile>
            <id>wls-managed-12c</id>
            <build>
                <testResources>
                    <testResource>
                        <directory>src/test/resources</directory>
                    </testResource>
                    <testResource>
                        <directory>src/test/resources-weblogic</directory>
                    </testResource>
                </testResources>
            </build>
        </profile>
    </profiles>

</project>
