<?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>

    <groupId>monetdb</groupId>
    <artifactId>monetdbe-java</artifactId>
    <!--<version>1.10</version>-->
    <version>1.10</version>
    <name>${project.groupId}:${project.artifactId}</name>
    <description>MonetDB Embedded JDBC driver</description>
    <url>https://www.monetdb.org</url>
    <packaging>jar</packaging>

    <developers>
        <developer>
            <id>bernardo</id>
            <name>Bernardo Mota</name>
            <email>bernardo.mota@monetdbsolutions.com</email>
            <organization>MonetDB</organization>
            <organizationUrl>https://www.monetdb.org</organizationUrl>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>Mozilla Public License, Version 2.0</name>
            <url>https://www.mozilla.org/MPL/2.0/</url>
        </license>
    </licenses>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <repository.user>MonetDBSolutions</repository.user>
        <repository.name>MonetDBe-Java</repository.name>
        <!-- Tests are skipped by default on dev builds -->
        <skipTests>true</skipTests>
    </properties>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
    </distributionManagement>

    <scm>
        <connection>scm:git:git@github.com:MonetDBSolutions/MonetDBe-Java.git</connection>
        <developerConnection>scm:git:git@github.com:MonetDBSolutions/MonetDBe-Java.git</developerConnection>
        <url>https://github.com/MonetDBSolutions/MonetDBe-Java</url>
        <tag>monetdbe-java</tag>
    </scm>

    <issueManagement>
        <url>https://www.github.com/${repository.user}/${repository.name}/issues</url>
        <system>Github Issues</system>
    </issueManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
    </dependencies>

    <profiles>
        <!-- DEV BUILDS -->
        <!-- Linux developer compilation: only copy pre-compiled native monetdbe-java library
             (default behaviour for Linux) -->
        <profile>
            <id>linux</id>
            <activation>
                <os>
                    <family>unix</family>
                    <name>Linux</name>
                </os>
            </activation>
            <properties>
                <os.name.clean>linux</os.name.clean>
                <os.library.type>so</os.library.type>
            </properties>
        </profile>

        <!-- Mac developer compilation: only copy pre-compiled native monetdbe-java library
             (default behaviour for Mac)  -->
        <profile>
            <id>mac</id>
            <activation>
                <os>
                    <family>mac</family>
                </os>
            </activation>
            <properties>
                <os.name.clean>mac</os.name.clean>
                <os.library.type>dylib</os.library.type>
            </properties>
        </profile>

        <!-- Windows build: copy transitive and direct dependencies and pre-compiled native monetdbe-java library
            (default behaviour; must set the -DMonetDB_dir and -DVCPKG_ROOT properties, tests are turned on) -->
        <profile>
            <id>windows</id>
            <activation>
                <os>
                    <family>windows</family>
                </os>
            </activation>
            <properties>
                <os.name.clean>windows</os.name.clean>
                <os.library.type>dll</os.library.type>
                <jar.classifier>windows</jar.classifier>
                <!-- Do not skip tests, as this is the Windows release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <!-- Copy libmonetdbe direct dependencies to lib folder -->
                            <execution>
                                <id>copy-direct-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}\lib\windows\direct</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${MonetDB_dir}\bin\</directory>
                                            <includes>
                                                <include>stream.dll</include>
                                                <include>bat.dll</include>
                                                <include>mapi.dll</include>
                                                <include>monetdb5.dll</include>
                                                <include>monetdbsql.dll</include>
                                                <include>monetdbe.dll</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <!-- Copy libmonetdbe transitive dependencies to lib folder -->
                            <execution>
                                <id>copy-transitive-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}\lib\windows\transitive</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${VCPKG_ROOT}\installed\x64-windows\bin\</directory>
                                            <includes>
                                                <include>libcrypto-1_1-x64.dll</include>
                                                <include>iconv-2.dll</include>
                                                <include>libxml2.dll</include>
                                                <include>pcre.dll</include>
                                                <include>zlib1.dll</include>
                                                <include>lzma.dll</include>
                                                <include>bz2.dll</include>
                                                <include>libcurl.dll</include>
                                                <!-- Debug libraries -->
                                                <include>pcred.dll</include>
                                                <include>zlibd1.dll</include>
                                                <include>lzmad.dll</include>
                                                <include>bz2d.dll</include>
                                                <include>libcurl-d.dll</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that MonetDB_dir and VCPKG_ROOT is set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>MonetDB_dir</property>
                                            <message>You must set the MonetDB_dir property, pointing to the MonetDB base directory (not the lib/lib64 directory)</message>
                                        </requireProperty>
                                        <requireProperty>
                                            <property>VCPKG_ROOT</property>
                                            <message>You must set the VCPKG_ROOT property, pointing to the base directory of your vcpkg installation (VCPKG_ROOT\installed\x64-windows\bin\ should have the necessary dependencies)</message>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- SLIM JAR BUILDS -->
        <!-- Linux build: copy direct dependencies and pre-compiled native monetdbe-java library
            (has to be enabled with -P linux-slim; must set the -DCOLLECT_LIBS property, tests are turned on) -->
        <profile>
            <id>linux-slim</id>
            <properties>
                <jar.classifier>linux-slim</jar.classifier>
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <!-- Copy libmonetdbe direct dependencies to lib folder -->
                            <execution>
                                <id>copy-direct-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/linux/direct/</outputDirectory>
                                    <resources>
                                        <resource>
                                            <!--<directory>${MonetDB_dir}/lib/</directory>-->
                                            <directory>${COLLECT_LIBS}</directory>
                                            <includes>
                                                <include>libstream.so.*</include>
                                                <include>libbat.so.*</include>
                                                <include>libmapi.so.*</include>
                                                <include>libmonetdb5.so.*</include>
                                                <include>libmonetdbsql.so.*</include>
                                                <include>libmonetdbe.so.*</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that COLLECT_LIBS is set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>COLLECT_LIBS</property>
                                            <message>You must set the COLLECT_LIBS property, pointing to the directory where the dependency libraries are.</message>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Mac build: copy direct dependencies and pre-compiled native monetdbe-java library
            (has to be enabled with -P mac-slim; must set the -DCOLLECT_LIBS property, tests are turned on) -->
        <profile>
            <id>mac-slim</id>
            <properties>
                <jar.classifier>mac-slim</jar.classifier>
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <!-- Copy libmonetdbe direct dependencies to lib folder -->
                            <execution>
                                <id>copy-direct-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/mac/direct/</outputDirectory>
                                    <resources>
                                        <resource>
                                            <!--<directory>${MonetDB_dir}/lib/</directory>-->
                                            <directory>${COLLECT_LIBS}</directory>
                                            <includes>
                                                <include>libstream.*.dylib</include>
                                                <include>libbat.*.dylib</include>
                                                <include>libmapi.*.dylib</include>
                                                <include>libmonetdb5.*.dylib</include>
                                                <include>libmonetdbsql.*.dylib</include>
                                                <include>libmonetdbe.*.dylib</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that COLLECT_LIBS is set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>COLLECT_LIBS</property>
                                            <message>You must set the COLLECT_LIBS property, pointing to the directory where the dependency libraries are.</message>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- FATJAR BUILDS -->
        <!-- Linux fatjar build: copy direct + transitive dependencies
            (has to be enabled with -P linux-slim,linux-fat; must set the -DCOLLECT_LIBS property, tests are turned on)-->
        <profile>
            <id>linux-fat</id>
            <properties>
                <jar.classifier>linux-fat</jar.classifier>
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <!-- Copy Linux transitive dependencies to lib folder -->
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-transitive-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/linux/transitive</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${COLLECT_LIBS}</directory>
                                            <includes>
                                                <include>libz.so.*</include>
                                                <include>libpcre.so.*</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that linux-slim profile was set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireActiveProfile>
                                            <profiles>linux-slim</profiles>
                                        </requireActiveProfile>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Mac fatjar build: copy direct + transitive dependencies
            (has to be enabled with -P mac-slim,mac-fat; must set the -DCOLLECT_LIBS property, tests are turned on)-->
        <profile>
            <id>mac-fat</id>
            <properties>
                <jar.classifier>mac-fat</jar.classifier>
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <!-- Copy Mac transitive dependencies to lib folder -->
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-transitive-dependencies</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/mac/transitive</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${COLLECT_LIBS}</directory>
                                            <includes>
                                                <include>libz.*.dylib</include>
                                                <include>libpcre.*.dylib</include>
                                                <include>libcrypto.*.dylib</include>
                                                <include>libbz2.*.dylib</include>
                                                <include>libcurl.*.dylib</include>
                                                <include>liblzma.*.dylib</include>
                                                <include>liblz4.*.dylib</include>
                                                <include>libiconv.*.dylib</include>
                                                <include>libxml2.*.dylib</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that mac-slim profile was set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireActiveProfile>
                                            <profiles>mac-slim</profiles>
                                        </requireActiveProfile>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Cross fatjar build: copy all pre-compiled libraries/dependencies for Linux, Mac and Windows
             (has to be enabled with -P cross; must set the -DCOLLECT_LIBS property
             and the directory should contain directories for all three OS,
             with the correct structure -> lib/$OS/libmonetdbe-java.dylib, lib/$OS/direct/, lib/$OS/transitive)-->
        <profile>
            <id>cross</id>
            <properties>
                <!--<jar.classifier>cross</jar.classifier>-->
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <!-- Copy all dependencies to lib folder  -->
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-everything</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${COLLECT_LIBS}</directory>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that COLLECT_LIBS is set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>COLLECT_LIBS</property>
                                            <message>You must set the COLLECT_LIBS property, pointing to the directory where the all pre-compiled libraries for Linux, Mac and Windows are.</message>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Manual linux release-->
        <profile>
            <id>linux-manual</id>
            <properties>
                <jar.classifier>linux-slim</jar.classifier>
                <!-- Do not skip tests, as this is a release profile -->
                <skipTests>false</skipTests>
            </properties>
            <build>
                <plugins>
                    <!-- Copy all dependencies to lib folder  -->
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.0.2</version>
                        <executions>
                            <execution>
                                <id>copy-everything</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.outputDirectory}/lib/</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${COLLECT_LIBS}</directory>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Enforce that COLLECT_LIBS is set -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>1.4.1</version>
                        <executions>
                            <execution>
                                <id>enforce-property</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>COLLECT_LIBS</property>
                                            <message>You must set the COLLECT_LIBS property, pointing to the directory where the all pre-compiled libraries for Linux, Mac and Windows are.</message>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- RELEASE PROFILES -->
        <!-- Release profile
            (has to be enabled with -P release / -P release,mac-slim / -P release,mac-slim,mac-fat)-->
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <!-- Deployment plugins -->
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.7</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org</nexusUrl>
                            <autoReleaseAfterClose>false</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <version>2.5.3</version>
                        <configuration>
                            <autoVersionSubmodules>true</autoVersionSubmodules>
                            <useReleaseProfile>false</useReleaseProfile>
                            <releaseProfiles>release</releaseProfiles>
                            <goals>deploy</goals>
                        </configuration>
                    </plugin>
                    <!-- Jar with source files -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>3.0.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                                <configuration>
                                    <classifier>sources</classifier>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Jar with documentation -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>3.2.0</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <classifier>javadoc</classifier>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>sign-gpg</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                    <passphrase>${gpg.passphrase}</passphrase>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!--<profile>
            <id>sign-jarsigner</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jarsigner-plugin</artifactId>
                        <version>3.0.0</version>
                        <executions>
                            <execution>
                                <id>sign</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <keystore>/root/.m2/private.key</keystore>
                            <alias>bernardo</alias>
                            <storepass>${MVN_GPG_PASSPHRASE}</storepass>
                            <keypass>${MVN_GPG_PASSPHRASE}</keypass>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>-->
    </profiles>

    <build>
        <plugins>
            <!-- For setting the classifier -->
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <classifier>${jar.classifier}</classifier>
                </configuration>
            </plugin>
            <!-- Copy JNI C library dependency to lib folder -->
            <!--<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-native-lib</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>monetdb</groupId>
                                    <artifactId>monetdbe-java-native</artifactId>
                                    <version>1.10</version>
                                    <type>${os.library.type}</type>
                                    <overWrite>false</overWrite>
                                    <outputDirectory>${project.build.outputDirectory}/lib/${os.name.clean}</outputDirectory>
                                    <destFileName>libmonetdbe-java.${os.library.type}</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>-->
            <!-- Copy java.sql.Driver resource file for JDBC (in META-INF/services/java.sql.Driver) -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <id>copy-driver</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.outputDirectory}/META-INF/</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.basedir}/META-INF/</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- Testing -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
                <configuration>
                    <includes>
                        <include>AllTests.java</include>
                        <!--<include>Test_01_OpenAndCloseConnection</include>
                        <include>Test_02_CloseConnectionTwice</include>
                        <include>Test_03_AutoCommit</include>
                        <include>Test_04_SimpleInsertAndQueryStatements</include>
                        <include>Test_05_BasicInsertAndQueryStatements</include>
                        <include>Test_06_ComplexInsertAndQueryStatements</include>
                        <include>Test_07_SimplePreparedStatements</include>
                        <include>Test_08_ComplexPreparedStatements</include>
                        <include>Test_09_LoadAndQueryTaxi</include>
                        <include>Test_10_MetaData</include>
                        <include>Test_11_ConcurrentConnections</include>
                        <include>Test_12_BatchesAndJoinsMovies</include>
                        <include>Test_13_Schema</include>
                        <include>Test_15_Transactions</include>
                        <include>Test_16_MixedOrderStatements</include>
                        <include>Test_17_QueryInThread</include>-->
                        <!--<include>Test_14_MultipleResultSet</include>-->
                    </includes>
                    <skipTests>${skipTests}</skipTests>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>