<?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 http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <artifactId>shared-parent</artifactId>
    <groupId>org.apache.directory.shared</groupId>
    <version>0.9.10</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.directory.shared</groupId>
  <artifactId>shared-bouncycastle-reduced</artifactId>
  <name>Apache Directory Reduced Bouncycastle (repackaged)</name>
  <description>
    Repackages the BouncyCastle jar including only those files we require
    rather than everything which includes patented algorithms like IDEA.
  </description>
  <dependencies>
    <dependency>
      <groupId>bouncycastle</groupId>
      <artifactId>bcprov-jdk15</artifactId>
      <version>136</version>
      <exclusions>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>1.0.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <artifactSet>
                <excludes>
                  <exclude>org.slf4j:slf4j-api</exclude>
                </excludes>
              </artifactSet>
              <filters>
                <filter>
                  <artifact>bouncycastle:bcprov-jdk15</artifact>
                  <!-- includes contains some of the bc classes needed for startTLS functionality.  List is not yet complete-->
                  <!-- It is much easier to experiment with the installer noarch bundle which is extracting files from bc directly -->
<!--
                  <includes>
                    <include>org/bouncycastle/jce/provider/BouncyCastleProvider.class</include>
                    <include>org/bouncycastle/x509/X509V1CertificateGenerator.class</include>
                    <include>org/bouncycastle/jce/interfaces/ConfigurableProvider.class</include>
                    <include>org/bouncycastle/jce/provider/symmetric/AESMappings.class</include>
                    <include>org/bouncycastle/asn1/nist/NISTObjectIdentifiers.class</include>
                    <include>org/bouncycastle/asn1/DERObjectIdentifier.class</include>
                    <include>org/bouncycastle/asn1/ASN1Object.class</include>
                    <include>org/bouncycastle/asn1/DERObject.class</include>
                    <include>org/bouncycastle/asn1/DERTags.class</include>
                    <include>org/bouncycastle/asn1/ASN1Encodable.class</include>
                    <include>org/bouncycastle/asn1/DEREncodable.class</include>
                    <include>org/bouncycastle/jce/provider/symmetric/CamelliaMappings.class</include>
                    <include>org/bouncycastle/asn1/ntt/NTTObjectIdentifiers.class</include>
                  </includes>
-->
                  <excludes>
                    <!-- signature files -->
                    <exclude>META-INF/BCKEY.SF</exclude>
                    <exclude>META-INF/BCKEY.DSA</exclude>
                    <!-- IDEA patent implementation -->
                    <exclude>org/bouncycastle/crypto/engines/IDEAEngine.class</exclude>
                    <exclude>org/bouncycastle/asn1/misc/IDEACBCPar.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator$IDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEKeyGenerator$IDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEBlockCipher$IDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCESecretKeyFactory$PBEWithSHAAndIDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEBlockCipher$PBEWithSHAAndIDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JDKAlgorithmParameters$IDEAAlgorithmParameters.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEStreamCipher$IDEA_OFB8.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEMac$IDEACFB8.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEBlockCipher$IDEACBC.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEMac$IDEA.class</exclude>
                    <exclude>org/bouncycastle/jce/provider/JCEStreamCipher$IDEA_CFB8.class</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
