<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.scytl.mixing</groupId>
        <artifactId>mixing</artifactId>
        <version>0.3.2</version>
    </parent>
    <artifactId>mixing-module</artifactId>

    <name>Mixing Commons</name>
    <description>This module allows a shuffle proof to be generated.</description>

    <dependencies>

        <!-- CryptoLib dependencies -->
        <dependency>
            <artifactId>cryptolib-elgamal</artifactId>
            <groupId>com.scytl.cryptolib</groupId>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>com.scytl.products.oscore</groupId>
            <artifactId>logging-core</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>

        <!-- Other scytl dependencies -->
        <dependency>
            <groupId>com.scytl.math</groupId>
            <artifactId>scytl-math</artifactId>
            <scope>provided</scope>
        </dependency>



        <!-- Other dependencies -->
        <dependency>
            <groupId>com.googlecode.jcsv</groupId>
            <artifactId>jcsv</artifactId>
        </dependency>

        <!-- Testing dependencies -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
        </dependency>

        <!-- BouncyCastle -->
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <!-- The scope is provided because it is deployed as a JVM extension 
                as described in JCA documentation. -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <exclusions>
                <exclusion>
                    <!-- BC provider should not be included into dependencies 
                        transitively, it is deployed as a JVM extension. -->
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk15on</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>

    <!-- The following section is needed by test profiles that exist in other 
        modules, it should be removed in future if such profiles are removed or if 
        any alternative to having this section is found. -->
    <profiles>
        <profile>
            <id>skipTestRun</id>
            <activation>
                <property>
                    <name>skipTests</name>
                    <value>!true</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.scytl.mixing</groupId>
                    <artifactId>mixing-commons</artifactId>
                    <version>${project.version}</version>
                    <type>test-jar</type>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

</project>
