<?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>9.0.0-M8-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>jakartaee-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)",
      jakarta.annotation,
      jakarta.annotation.security,
      jakarta.annotation.sql,
      javax.crypto,
      javax.crypto.spec,
      jakarta.decorator,
      jakarta.ejb,
      jakarta.ejb.embeddable,
      jakarta.ejb.spi,
      jakarta.el,
      jakarta.enterprise.context,
      jakarta.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,
      jakarta.enterprise.event,
      jakarta.enterprise.inject,
      jakarta.enterprise.inject.spi,
      jakarta.inject,
      jakarta.interceptor,
      jakarta.jms,
      jakarta.jws,
      jakarta.mail;version="[1.4,2)",
      javax.management,
      javax.management.loading,
      javax.management.openmbean,
      javax.naming,
      javax.naming.spi,
      javax.net,
      javax.net.ssl,
      jakarta.persistence,
      jakarta.persistence.criteria,
      jakarta.persistence.metamodel,
      jakarta.persistence.spi,
      jakarta.resource,
      jakarta.resource.spi,
      jakarta.resource.spi.endpoint,
      jakarta.resource.spi.work,
      javax.rmi,
      javax.rmi.CORBA,
      javax.security.auth,
      javax.security.auth.callback,
      javax.security.auth.login,
      jakarta.security.auth.message.callback,
      javax.security.auth.spi,
      jakarta.security.jacc,
      jakarta.servlet,
      jakarta.servlet.http,
      jakarta.servlet.jsp,
      javax.sql,
      jakarta.transaction,
      javax.transaction.xa,
      jakarta.validation,
      jakarta.validation.bootstrap,
      jakarta.ws.rs,
      jakarta.ws.rs.core,
      jakarta.ws.rs.ext,
      javax.wsdl,
      javax.wsdl.extensions.http,
      javax.wsdl.extensions.soap,
      javax.wsdl.factory,
      javax.wsdl.xml,
      jakarta.xml.bind,
      jakarta.xml.bind.annotation,
      jakarta.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,
      jakarta.xml.ws,
      jakarta.xml.ws.handler,
      jakarta.xml.ws.soap,
      jakarta.xml.ws.spi,
      jakarta.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>

