<?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-index-service</artifactId>
  <packaging>bundle</packaging>
  <name>Opencast :: index-service</name>
  <parent>
    <groupId>org.opencastproject</groupId>
    <artifactId>base</artifactId>
    <version>15.2</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <properties>
    <opencast.basedir>${project.basedir}/../..</opencast.basedir>
    <checkstyle.skip>false</checkstyle.skip>
  </properties>
  <dependencies>
    <!-- osgi support -->
    <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>jakarta.ws.rs</groupId>
      <artifactId>jakarta.ws.rs-api</artifactId>
    </dependency>
    <!-- Opencast -->
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-authorization-manager</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-capture-admin-service-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-common</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-workflow-service-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-workspace-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-dublincore</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-shared-filesystem-utils</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-list-providers-service</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-elasticsearch-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-series-service-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-asset-manager-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-scheduler-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-event-comment</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-elasticsearch-impl</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-ingest-service-api</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-userdirectory</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-distribution-workflowoperation</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.opencastproject</groupId>
      <artifactId>opencast-elasticsearch-index</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
    </dependency>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
    </dependency>
    <dependency>
      <groupId>com.entwinemedia.common</groupId>
      <artifactId>functional</artifactId>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jettison</groupId>
      <artifactId>jettison</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mnode.ical4j</groupId>
      <artifactId>ical4j</artifactId>
    </dependency>
    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-reload4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <!-- Testing -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>uk.co.datumedge</groupId>
      <artifactId>hamcrest-json</artifactId>
      <version>0.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <ignoredNonTestScopedDependencies>
            <ignoredNonTestScopedDependency>org.opencastproject:opencast-elasticsearch-impl</ignoredNonTestScopedDependency>
          </ignoredNonTestScopedDependencies>
          <ignoredUnusedDeclaredDependencies>
            <!-- provide a logger for tests -->
            <ignoredUnusedDeclaredDependency>org.slf4j:slf4j-reload4j</ignoredUnusedDeclaredDependency>
            <!-- provides database for testing -->
            <ignoredUnusedDeclaredDependency>com.h2database:h2</ignoredUnusedDeclaredDependency>
            <!-- ical4j -->
            <ignoredUnusedDeclaredDependency>org.mnode.ical4j:ical4j</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>
            <Import-Package>
              net.fortuna.ical4j.*,
              com.google.common.net,
              javax.ws.rs;version=2.0.1,
              javax.ws.rs.core;version=2.0.1,
              *
            </Import-Package>
            <Export-Package>
              org.opencastproject.index.service.api,
              org.opencastproject.index.service.catalog.adapter,
              org.opencastproject.index.service.catalog.adapter.events,
              org.opencastproject.index.service.catalog.adapter.series,
              org.opencastproject.index.service.exception,
              org.opencastproject.index.service.impl,
              org.opencastproject.index.service.impl.util,
              org.opencastproject.index.service.message,
              org.opencastproject.index.service.resources.list.api,
              org.opencastproject.index.service.resources.list.provider,
              org.opencastproject.index.service.resources.list.query,
              org.opencastproject.index.service.util
            </Export-Package>
            <JPA-PersistenceUnits>
              org.opencastproject.index.service
            </JPA-PersistenceUnits>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
