<?xml version="1.0" encoding="UTF-8"?>
<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>
    <artifactId>libraries</artifactId>
    <name>libraries</name>

    <parent>
        <groupId>com.baeldung</groupId>
        <artifactId>parent-modules</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.beykery/neuroph/2.92 -->
        <dependency>
            <groupId>org.beykery</groupId>
            <artifactId>neuroph</artifactId>
            <version>${neuroph.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/cglib/cglib -->
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>${cglib.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>${commons-net.version}</version>
        </dependency>
        <dependency>
            <groupId>org.javatuples</groupId>
            <artifactId>javatuples</artifactId>
            <version>${javatuples.version}</version>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>${javaassist.version}</version>
        </dependency>
        <dependency>
            <groupId>org.javers</groupId>
            <artifactId>javers-core</artifactId>
            <version>${javers.version}</version>
        </dependency>
        <!-- JDO -->
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>javax.jdo</artifactId>
            <version>${javax.jdo.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-core</artifactId>
            <version>${datanucleus.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-api-jdo</artifactId>
            <version>${datanucleus.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-rdbms</artifactId>
            <version>${datanucleus.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-maven-plugin</artifactId>
            <version>${datanucleus-maven-plugin.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-xml</artifactId>
            <version>${datanucleus-xml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-jdo-query</artifactId>
            <version>${datanucleus-jdo-query.version}</version>
        </dependency>
        <dependency>
            <groupId>net.openhft</groupId>
            <artifactId>chronicle</artifactId>
            <version>${chronicle.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.sun.java</groupId>
                    <artifactId>tools</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- JetS3t -->
        <dependency>
            <groupId>org.lucee</groupId>
            <artifactId>jets3t</artifactId>
            <version>${jets3t-version}</version>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>spring-mock-mvc</artifactId>
            <version>${spring-mock-mvc.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.multiverse</groupId>
            <artifactId>multiverse-core</artifactId>
            <version>${multiverse.version}</version>
        </dependency>
        <dependency>
            <groupId>pl.pragmatists</groupId>
            <artifactId>JUnitParams</artifactId>
            <version>${jUnitParams.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>${quartz.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jooq</groupId>
            <artifactId>jool</artifactId>
            <version>${jool.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>${jmh-core.version}</version>
        </dependency>
        <dependency>
            <groupId>info.debatty</groupId>
            <artifactId>java-lsh</artifactId>
            <version>${java-lsh.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${commonsio.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>java-hamcrest</artifactId>
            <version>${org.hamcrest.java-hamcrest.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.codepoetics</groupId>
            <artifactId>protonpack</artifactId>
            <version>${protonpack.version}</version>
        </dependency>
        <!-- google api -->
        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client-jetty</artifactId>
            <version>${google-api.version}</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>nm-repo</id>
            <name>Numerical Method's Maven Repository</name>
            <url>http://repo.numericalmethod.com/maven/</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <build>
        <plugins>
            <!-- JDO Plugin -->
            <plugin>
                <groupId>org.datanucleus</groupId>
                <artifactId>datanucleus-maven-plugin</artifactId>
                <version>${datanucleus-maven-plugin.version}</version>
                <configuration>
                    <api>JDO</api>
                    <props>${basedir}/datanucleus.properties</props>
                    <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
                    <verbose>false</verbose>
                    <fork>false</fork>
                    <!-- Solve windows line too long error -->
                </configuration>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Neuroph -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin.version}</version>
                <configuration>
                    <excludes>
                        <exclude>**/log4j.properties</exclude>
                    </excludes>
                    <archive>
                        <manifest>
                            <mainClass>com.baeldung.neuroph.NeurophXOR</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <!-- Borrowed from the 'jmh-java-benchmark-archetype' pom.xml -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>${shade.plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <finalName>benchmarks</finalName>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.openjdk.jmh.Main</mainClass>
                                </transformer>
                            </transformers>
                            <filters>
                                <filter>
                                    <!-- Shading signed JARs will fail without this. http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar -->
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <properties>
        <shade.plugin.version>2.2</shade.plugin.version>
        <multiverse.version>0.7.0</multiverse.version>
        <cglib.version>3.2.7</cglib.version>
        <javatuples.version>1.2</javatuples.version>
        <javers.version>3.1.0</javers.version>
        <neuroph.version>2.92</neuroph.version>
        <serenity.version>1.9.26</serenity.version>
        <serenity.jbehave.version>1.41.0</serenity.jbehave.version>
        <serenity.jira.version>1.9.0</serenity.jira.version>
        <serenity.plugin.version>1.9.27</serenity.plugin.version>
        <jUnitParams.version>1.1.0</jUnitParams.version>
        <java-lsh.version>0.10</java-lsh.version>
        <pact.version>3.5.0</pact.version>
        <org.hamcrest.java-hamcrest.version>2.0.0.0</org.hamcrest.java-hamcrest.version>
        <protonpack.version>1.15</protonpack.version>
        <google-api.version>1.23.0</google-api.version>
        <jets3t-version>0.9.4.0006L</jets3t-version>
        <javax.jdo.version>3.2.0-m7</javax.jdo.version>
        <datanucleus.version>5.1.1</datanucleus.version>
        <datanucleus-maven-plugin.version>5.0.2</datanucleus-maven-plugin.version>
        <datanucleus-xml.version>5.0.0-release</datanucleus-xml.version>
        <datanucleus-jdo-query.version>5.0.2</datanucleus-jdo-query.version>
        <chronicle.version>3.6.4</chronicle.version>
        <spring.version>4.3.8.RELEASE</spring.version>
        <spring-mock-mvc.version>3.0.3</spring-mock-mvc.version>
        <quartz.version>2.3.0</quartz.version>
        <javaassist.version>3.21.0-GA</javaassist.version>
        <jool.version>0.9.12</jool.version>
        <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
        <commons-net.version>3.6</commons-net.version>
        <commonsio.version>2.6</commonsio.version>
    </properties>

</project>