<?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>8.0.8-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>openejb-server</artifactId>
  <packaging>jar</packaging>
  <name>TomEE :: Server :: Core</name>
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <plugins>
      <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-asm9-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>
    <tomee.build.name>${project.groupId}.server.core</tomee.build.name>
    <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.asm9;version="[3.1,4)",
      org.apache.xbean.asm9.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>

