<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
    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.
-->
<!-- $Rev:  $ $Date:  $ -->
<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>anon</id>

  <formats>
    <format>jar</format>
  </formats>

  <baseDirectory>anon-${project-version}.jar</baseDirectory>
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <includes>
        <!-- The LDAP API dependencies -->
        <include>org.apache.directory.api:api-asn1-api:jar:${project.version}</include>
        <include>org.apache.directory.api:api-i18n:jar:${project.version}</include>
        <include>org.apache.directory.api:api-ldap-client-api:jar:${project.version}</include>
        <include>org.apache.directory.api:api-ldap-extras-aci:jar:${project.version}</include>
        <include>org.apache.directory.api:api-ldap-model:jar:${project.version}</include>
        <include>org.apache.directory.api:api-ldap-schema-converter:jar:${project.version}</include>
        <include>org.apache.directory.api:api-ldap-schema-data:jar:${project.version}</include>
        <include>org.apache.directory.api:api-util:jar:${project.version}</include>

        <!-- The external dependencies -->
        <include>antlr:antlr:jar:${antlr.version}</include>
        <include>org.apache.commons:commons-collections4:jar:${commons.collections.version}</include>
        <include>log4j:log4j:jar:${log4j.version}</include>
        <include>org.slf4j:slf4j-api:jar:${slf4j.api.version}</include>
        <include>org.slf4j:slf4j-log4j12:jar:${slf4j.log4j12.version}</include>
      </includes>
      <unpack>true</unpack>
    </dependencySet>
  </dependencySets>
</assembly>
