<?xml version="1.0"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <artifactId>opencast-kernel</artifactId>
  <name>Opencast :: kernel</name>
  <packaging>bundle</packaging>
  <parent>
    <groupId>org.opencastproject</groupId>
    <artifactId>base</artifactId>
    <version>14.1</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <properties>
    <opencast.basedir>${project.basedir}/../..</opencast.basedir>
    <checkstyle.skip>false</checkstyle.skip>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-common</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-common-jpa-impl</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-urlsigning-service-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-urlsigning-common</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>jakarta.xml.bind</groupId>
      <artifactId>jakarta.xml.bind-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jettison</groupId>
      <artifactId>jettison</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.servicemix.bundles</groupId>
      <artifactId>org.apache.servicemix.bundles.quartz</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security.oauth</groupId>
      <artifactId>spring-security-oauth</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.osgi</groupId>
      <artifactId>org.springframework.osgi.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient-osgi</artifactId>
    </dependency>
    <dependency>
      <groupId>jakarta.ws.rs</groupId>
      <artifactId>jakarta.ws.rs-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-core</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-extension-providers</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
    </dependency>
    <dependency>
      <groupId>com.entwinemedia.common</groupId>
      <artifactId>functional</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>osgi.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.service.component</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.service.component.annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.service.cm</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.service.http</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.service.http.whiteboard</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.fileinstall</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.service.component.annotations</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>jakarta.mail</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>jakarta.persistence</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore-osgi</artifactId>
    </dependency>
    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <!-- Testing -->
    <!-- REST test environment -->
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>json-path</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-rest-test-environment</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <ignoredUnusedDeclaredDependencies>
            <!-- provide a logger for tests -->
            <ignoredUnusedDeclaredDependency>org.slf4j:slf4j-log4j12</ignoredUnusedDeclaredDependency>
            <ignoredUnusedDeclaredDependency>com.h2database:h2</ignoredUnusedDeclaredDependency>
          </ignoredUnusedDeclaredDependencies>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Build-Number>${buildNumber}</Build-Number>
            <Embed-Dependency>
              spring-security-oauth;inline=true,
              jboss-xacml;inline=true
            </Embed-Dependency>
            <Import-Package>
              !org.springframework.jdbc.core.*,
              !org.springframework.security.core.codec.*,
              !org.w3c.dom.*,
              !sun.net.www.protocol.*,
              javax.xml.datatype;version=0.0.0,
              javax.xml.namespace;version=0.0.0,
              javax.xml.parsers;version=0.0.0,
              javax.xml.validation;version=0.0.0,
              org.apache.cxf.*,
              org.opencastproject.fsresources,
              org.springframework.security.access,
              org.springframework.security.access.hierarchicalroles,
              org.springframework.security.access.vote,
              org.springframework.security.core.userdetails.cache,
              org.springframework.security.core.userdetails.memory,
              org.springframework.security.ldap,
              org.springframework.security.ldap.authentication,
              org.springframework.security.ldap.search,
              org.springframework.security.ldap.userdetails,
              org.xml.sax;version=0,
              javax.ws.rs;version=2.0.1,
              javax.ws.rs.core;version=2.0.1,
              javax.ws.rs.ext;version=2.0.1,
              *
            </Import-Package>
            <Export-Package>
              org.opencastproject.kernel.http;version=${project.version},
              org.opencastproject.kernel.http.api;version=${project.version},
              org.opencastproject.kernel.http.impl;version=${project.version},
              org.opencastproject.kernel.filter.https;version=${project.version},
              org.opencastproject.kernel.filter.proxy;version=${project.version},
              org.opencastproject.kernel.mail;version=${project.version},
              org.opencastproject.kernel.pingback;version=${project.version},
              org.opencastproject.kernel.rest;version=${project.version},
              org.opencastproject.kernel.scanner;version=${project.version},
              org.opencastproject.kernel.security;version=${project.version},
              org.opencastproject.kernel.security.persistence;version=${project.version},
              org.opencastproject.kernel.bundleinfo;version=${project.version},
            </Export-Package>
            <_exportcontents>
              org.springframework.security.oauth.*
            </_exportcontents>
            <Meta-Persistence>
              META-INF/persistence.xml
            </Meta-Persistence>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
