<?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
  
  https://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.
-->

<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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directory.api</groupId>
    <artifactId>api-ldap-client-parent</artifactId>
    <version>2.1.0-SNAPSHOT</version>
  </parent>

  <artifactId>api-ldap-client-api</artifactId>
  <name>Apache Directory LDAP API Client API</name>
  <packaging>bundle</packaging>
  <inceptionYear>2009</inceptionYear>

  <description>
    LDAP Client API
  </description>

  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-codec-core</artifactId>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-extras-aci</artifactId>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-extras-codec</artifactId>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-extras-codec-api</artifactId>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>api-ldap-codec-standalone</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
    </dependency>
   
    <dependency>
      <groupId>org.apache.mina</groupId>
      <artifactId>mina-core</artifactId>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>2.28.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/Abstract*</exclude>
            <exclude>**/*RegressionTest*</exclude>
          </excludes>
          <parallel>all</parallel>
          <threadCount>10</threadCount>
          <properties>
            <configurationParameters>
              junit.jupiter.execution.parallel.enabled=true
            </configurationParameters>
          </properties>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestFile>META-INF/MANIFEST.MF</manifestFile>
            <addMavenDescriptor>false</addMavenDescriptor>
            <mainClass>LdifAnonymizer.java.LdifAnonymizer</mainClass>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <inherited>true</inherited>
        <extensions>true</extensions>
        <configuration>
          <manifestLocation>META-INF</manifestLocation>
          <instructions>
            <Bundle-SymbolicName>${project.groupId}.ldap.client.api</Bundle-SymbolicName>
            <Export-Package>
              org.apache.directory.ldap.client.api;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.api.callback;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.api.exception;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.api.future;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.api.search;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.template;version=${project.version};-noimport:=true,
              org.apache.directory.ldap.client.template.exception;version=${project.version};-noimport:=true
            </Export-Package>
            <Import-Package>
              javax.net.ssl,
              javax.security.auth,
              javax.security.auth.callback,
              javax.security.auth.login,
              javax.security.sasl,
              org.apache.commons.pool2;version=${commons.pool.version},
              org.apache.commons.pool2.impl;version=${commons.pool.version},
              org.apache.directory.api.asn1;version=${project.version},
              org.apache.directory.api.asn1.util;version=${project.version},
              org.apache.directory.api.i18n;version=${project.version},
              org.apache.directory.api.ldap.codec.api;version=${project.version},
              org.apache.directory.api.ldap.extras.controls.ad;version=${project.version},
              org.apache.directory.api.ldap.extras.controls.ppolicy;version=${project.version},
              org.apache.directory.api.ldap.extras.extended.startTls;version=${project.version},
              org.apache.directory.api.ldap.model.constants;version=${project.version},
              org.apache.directory.api.ldap.model.cursor;version=${project.version},
              org.apache.directory.api.ldap.model.entry;version=${project.version},
              org.apache.directory.api.ldap.model.exception;version=${project.version},
              org.apache.directory.api.ldap.model.filter;version=${project.version};-noimport:=true,
              org.apache.directory.api.ldap.model.ldif;version=${project.version};-noimport:=true,
              org.apache.directory.api.ldap.model.ldif.anonymizer;version=${project.version};-noimport:=true,
              org.apache.directory.api.ldap.model.message;version=${project.version},
              org.apache.directory.api.ldap.model.message.controls;version=${project.version},
              org.apache.directory.api.ldap.model.message.extended;version=${project.version},
              org.apache.directory.api.ldap.model.name;version=${project.version},
              org.apache.directory.api.ldap.model.schema;version=${project.version},
              org.apache.directory.api.ldap.model.schema.parsers;version=${project.version},
              org.apache.directory.api.ldap.model.schema.registries;version=${project.version},
              org.apache.directory.api.ldap.model.schema.syntaxCheckers;version=${project.version},
              org.apache.directory.api.ldap.schema.manager.impl;version=${project.version},
              org.apache.directory.api.util;version=${project.version},
              org.apache.mina.core.buffer;version=${mina.core.version},
              org.apache.mina.core.filterchain;version=${mina.core.version},
              org.apache.mina.core.future;version=${mina.core.version},
              org.apache.mina.core.service;version=${mina.core.version},
              org.apache.mina.core.session;version=${mina.core.version},
              org.apache.mina.core.write;version=${mina.core.version},
              org.apache.mina.filter;version=${mina.core.version},
              org.apache.mina.filter.codec;version=${mina.core.version},
              org.apache.mina.filter.ssl;version=${mina.core.version},
              org.apache.mina.transport.socket;version=${mina.core.version},
              org.apache.mina.transport.socket.nio;version=${mina.core.version},
              org.slf4j;version=${slf4j.api.bundleversion}
            </Import-Package>
            <Automatic-Module-Name>apache.directory.ldap.api.client.api</Automatic-Module-Name>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

