<?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.
    
-->

<!-- $Rev$ $Date$ -->

<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>server</artifactId>
    <groupId>org.apache.tomee</groupId>
    <version>7.0.8</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>openejb-server</artifactId>
  <packaging>jar</packaging>
  <name>OpenEJB :: Server :: Core</name>
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rat-maven-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/*</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <instructions>
            <Bundle-Activator>org.apache.openejb.server.osgi.Activator</Bundle-Activator>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>javaee-api</artifactId>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-jee</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-loader</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-core</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>openejb-client</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-asm7-shaded</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-finder-shaded</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.xbean</groupId>
      <artifactId>xbean-reflect</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <properties>
    <openejb.osgi.import.pkg>
      javassist.util;resolution:=optional;version="[3.9,4)",
      javassist.util.proxy;resolution:=optional;version="[3.9,4)",
      javax.annotation,
      javax.annotation.security,
      javax.annotation.sql,
      javax.crypto,
      javax.crypto.spec,
      javax.decorator,
      javax.ejb,
      javax.ejb.embeddable,
      javax.ejb.spi,
      javax.el,
      javax.enterprise.context,
      javax.enterprise.context.spi,
      javax.enterprise.deploy.model,
      javax.enterprise.deploy.shared,
      javax.enterprise.deploy.spi,
      javax.enterprise.deploy.spi.exceptions,
      javax.enterprise.deploy.spi.factories,
      javax.enterprise.deploy.spi.status,
      javax.enterprise.event,
      javax.enterprise.inject,
      javax.enterprise.inject.spi,
      javax.inject,
      javax.interceptor,
      javax.jms,
      javax.jws,
      javax.mail;version="[1.4,2)",
      javax.management,
      javax.management.j2ee,
      javax.management.loading,
      javax.management.openmbean,
      javax.naming,
      javax.naming.spi,
      javax.net,
      javax.net.ssl,
      javax.persistence,
      javax.persistence.criteria,
      javax.persistence.metamodel,
      javax.persistence.spi,
      javax.resource,
      javax.resource.spi,
      javax.resource.spi.endpoint,
      javax.resource.spi.work,
      javax.rmi,
      javax.rmi.CORBA,
      javax.security.auth,
      javax.security.auth.callback,
      javax.security.auth.login,
      javax.security.auth.message.callback,
      javax.security.auth.spi,
      javax.security.jacc,
      javax.servlet,
      javax.servlet.http,
      javax.servlet.jsp,
      javax.sql,
      javax.transaction,
      javax.transaction.xa,
      javax.validation,
      javax.validation.bootstrap,
      javax.ws.rs,
      javax.ws.rs.core,
      javax.ws.rs.ext,
      javax.wsdl,
      javax.wsdl.extensions.http,
      javax.wsdl.extensions.soap,
      javax.wsdl.factory,
      javax.wsdl.xml,
      javax.xml.bind,
      javax.xml.bind.annotation,
      javax.xml.bind.annotation.adapters,
      javax.xml.datatype,
      javax.xml.namespace,
      javax.xml.parsers,
      javax.xml.registry,
      javax.xml.rpc,
      javax.xml.rpc.handler,
      javax.xml.transform,
      javax.xml.transform.sax,
      javax.xml.transform.stream,
      javax.xml.validation,
      javax.xml.ws,
      javax.xml.ws.handler,
      javax.xml.ws.soap,
      javax.xml.ws.spi,
      javax.xml.ws.wsaddressing,
      oracle.toplink.essentials.transaction;resolution:=optional,
      org.apache.activemq.broker;version="[5.8,6.0)";resolution:=optional,
      org.apache.activemq.ra;version="[5.8,6.0)";resolution:=optional,
      org.apache.activemq.store;version="[5.8,6.0)";resolution:=optional,
      org.apache.activemq.store.jdbc;version="[5.8,6.0)";resolution:=optional,
      org.apache.activemq.store.memory;version="[5.8,6.0)";resolution:=optional,
      org.apache.commons.beanutils,
      org.apache.commons.cli;version="[1.2,2)",
      org.apache.commons.dbcp2;version="[2,3)",
      org.apache.commons.dbcp2.managed;version="[2,3)",
      org.apache.commons.lang;version="[2.6,2.9)",
      org.apache.commons.lang3;version="[3.1,4)",
      org.apache.geronimo.connector;version="[3.0,4)",
      org.apache.geronimo.connector.outbound;version="[3.0,4)",
      org.apache.geronimo.connector.outbound.connectionmanagerconfig;version="[3.0,4)",
      org.apache.geronimo.connector.outbound.connectiontracking;version="[3.0,4)",
      org.apache.geronimo.connector.work;version="[3.0,4)",
      org.apache.geronimo.osgi.locator,
      org.apache.geronimo.specs.activation;resolution:=optional,
      org.apache.geronimo.specs.jpa;resolution:=optional,
      org.apache.geronimo.transaction.log;version="[3.0,4)",
      org.apache.geronimo.transaction.manager;version="[3.0,4)",
      org.apache.kahadb.util;version="[5.4,6)";resolution:=optional,
      org.apache.log4j;resolution:=optional,
      org.apache.openejb;version="[4.0,5)",
      org.apache.openejb.client;version="[4.0,5)",
      org.apache.openejb.spi;version="[4.0,5)",
      org.apache.openejb.util;version="[4.0,5)",
      org.apache.openejb.loader;version="[4.0,5)",
      org.apache.openejb.monitoring;version="[4.0,5)",
      org.apache.openejb.assembler.classic;version="[4.0,5)",
      org.apache.openjpa.event;version="[2.1,3)";resolution:=optional,
      org.apache.openjpa.persistence;version="[2.1,3)";resolution:=optional,
      org.apache.webbeans.annotation;version="[1.1,2)",
      org.apache.webbeans.component;version="[1.1,2)",
      org.apache.webbeans.component.creation;version="[1.1,2)",
      org.apache.webbeans.config;version="[1.1,2)",
      org.apache.webbeans.container;version="[1.1,2)",
      org.apache.webbeans.context;version="[1.1,2)",
      org.apache.webbeans.context.creational;version="[1.1,2)",
      org.apache.webbeans.conversation;version="[1.1,2)",
      org.apache.webbeans.decorator;version="[1.1,2)",
      org.apache.webbeans.deployment;version="[1.1,2)",
      org.apache.webbeans.deployment.stereotype;version="[1.1,2)",
      org.apache.webbeans.ee.event;version="[1.1,2)",
      org.apache.webbeans.ejb.common.component;version="[1.1,2)",
      org.apache.webbeans.ejb.common.util;version="[1.1,2)",
      org.apache.webbeans.el;version="[1.1,2)",
      org.apache.webbeans.exception;version="[1.1,2)",
      org.apache.webbeans.exception.inject;version="[1.1,2)",
      org.apache.webbeans.inject;version="[1.1,2)",
      org.apache.webbeans.intercept;version="[1.1,2)",
      org.apache.webbeans.intercept.webbeans;version="[1.1,2)",
      org.apache.webbeans.jms;version="[1.1,2)",
      org.apache.webbeans.logger;version="[1.1,2)",
      org.apache.webbeans.plugins;version="[1.1,2)",
      org.apache.webbeans.portable;version="[1.1,2)",
      org.apache.webbeans.portable.events;version="[1.1,2)",
      org.apache.webbeans.portable.events.discovery;version="[1.1,2)",
      org.apache.webbeans.portable.events.generics;version="[1.1,2)",
      org.apache.webbeans.proxy;version="[1.1,2)",
      org.apache.webbeans.service;version="[1.1,2)",
      org.apache.webbeans.spi;version="[1.1,2)",
      org.apache.webbeans.spi.adaptor;version="[1.1,2)",
      org.apache.webbeans.spi.api;version="[1.1,2)",
      org.apache.webbeans.spi.plugins;version="[1.1,2)",
      org.apache.webbeans.util;version="[1.1,2)",
      org.apache.webbeans.web.context;version="[1.1,2)",
      org.apache.webbeans.xml;version="[1.1,2)",
      org.apache.xbean.asm5;version="[3.1,4)",
      org.apache.xbean.asm5.commons;version="[3.1,4)",
      org.apache.xbean.finder;version="[3.8,4)",
      org.apache.xbean.finder.archive;version="[3.8,4)",
      org.apache.xbean.finder.filter;version="[3.8,4)",
      org.apache.xbean.naming.context;version="[3.8,4)",
      org.apache.xbean.naming.reference;version="[3.8,4)",
      org.apache.xbean.propertyeditor;version="[3.8,4)",
      org.apache.xbean.recipe;version="[3.8,4)",
      org.eclipse.persistence.transaction;resolution:=optional,
      org.hibernate;resolution:=optional,
      org.hibernate.transaction;resolution:=optional,
      org.omg.CORBA,
      org.osgi.framework;version="[1.5,2)",
      org.osgi.util.tracker;version="[1.4,2)",
      org.apache.openejb.quartz;resolution:=optional,
      org.apache.openejb.quartz.impl;resolution:=optional,
      org.apache.openejb.quartz.spi;resolution:=optional,
      org.slf4j;version="[1.6,4)",
      org.w3c.dom,
      org.w3c.dom.ls,
      org.xml.sax,
      org.xml.sax.helpers
    </openejb.osgi.import.pkg>
  </properties>
</project>

