Permalink
Fetching contributors…
Cannot retrieve contributors at this time
1019 lines (954 sloc) 41.6 KB
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.permazen</groupId>
<artifactId>permazen</artifactId>
<name>Permazen</name>
<version>4.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<description>Permazen is a better persistence layer for Java.</description>
<url>https://github.com/permazen/permazen/</url>
<modules>
<module>permazen-ant</module>
<module>permazen-app</module>
<module>permazen-cli</module>
<module>permazen-cli-telnet</module>
<module>permazen-cliapp</module>
<module>permazen-coreapi</module>
<module>permazen-demo</module>
<module>permazen-guiapp</module>
<module>permazen-jsck</module>
<module>permazen-kv-array</module>
<module>permazen-kv-bdb</module>
<module>permazen-kv-caching</module>
<module>permazen-kv-cockroach</module>
<module>permazen-kv-fdb</module>
<module>permazen-kv-leveldb</module>
<module>permazen-kv-lmdb</module>
<module>permazen-kv-mssql</module>
<module>permazen-kv-mysql</module>
<module>permazen-kv-raft</module>
<module>permazen-kv-rocksdb</module>
<module>permazen-kv-simple</module>
<module>permazen-kv-spanner</module>
<module>permazen-kv-sql</module>
<module>permazen-kv-sqlite</module>
<module>permazen-kv-test</module>
<module>permazen-kv-xodus</module>
<module>permazen-kv</module>
<module>permazen-main</module>
<module>permazen-maven-plugin</module>
<module>permazen-parse</module>
<module>permazen-spring</module>
<module>permazen-test</module>
<module>permazen-util</module>
<module>permazen-vaadin</module>
</modules>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/permazen/permazen/issues</url>
</issueManagement>
<scm>
<url>https://github.com/permazen/permazen/</url>
<connection>scm:git:git://github.com/permazen/permazen.git</connection>
<developerConnection>scm:git:git://github.com/permazen/permazen.git</developerConnection>
</scm>
<developers>
<developer>
<id>archie</id>
<name>Archie Cobbs</name>
<email>archie.cobbs@gmail.com</email>
</developer>
</developers>
<properties>
<!-- Basic stuff -->
<compiler.source>1.8</compiler.source>
<compiler.target>1.8</compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<checkstyle.config.location>src/checkstyle/checkstyle.xml</checkstyle.config.location>
<!-- An already existing version (needed to avoid cycles during build) -->
<previous.version>4.1.1</previous.version>
<!-- Dependency versions -->
<ant.version>1.10.2</ant.version>
<asm.version>6.0</asm.version>
<aspectj.maven-plugin.version>1.11</aspectj.maven-plugin.version>
<aspectj.version>1.8.13</aspectj.version>
<bdb.version>6.4.9</bdb.version>
<bonecp.version>0.8.0.RELEASE</bonecp.version>
<commons-codec.version>1.11</commons-codec.version>
<dellroad-stuff.version>2.2.2</dellroad-stuff.version>
<fdb.version>5.1.5</fdb.version>
<findbugs.version>3.0.2</findbugs.version>
<google-cloud-java.suffix>-beta</google-cloud-java.suffix>
<google-cloud-java.version>0.44.0</google-cloud-java.version>
<guava.version>24.0-jre</guava.version>
<hawtjni.version>1.16</hawtjni.version>
<hibernate-validator.version>6.0.7.Final</hibernate-validator.version>
<javax.el.version>3.0.1-b09</javax.el.version>
<javax.mail.version>1.6.1</javax.mail.version>
<jetty.version>9.2.24.v20180105</jetty.version>
<jline.version>2.14.6</jline.version>
<leveldb.version>0.9</leveldb.version>
<lmdbjava.version>0.6.1</lmdbjava.version>
<log4j.version>1.2.17</log4j.version>
<maven.artifact.version>3.5.3</maven.artifact.version>
<maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
<maven.checkstyle.plugin.version>3.0.0</maven.checkstyle.plugin.version>
<maven.compiler.plugin.version>3.7.0</maven.compiler.plugin.version>
<maven.enforcer.plugin.version>3.0.0-M1</maven.enforcer.plugin.version>
<maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
<maven.jar.plugin.version>3.0.2</maven.jar.plugin.version>
<maven.javadoc.plugin.version>3.0.0</maven.javadoc.plugin.version>
<maven.plugin.tools.version>3.5.1</maven.plugin.tools.version>
<maven.project.version>3.0-alpha-2</maven.project.version>
<maven.project.info.reports.plugin.version>2.9</maven.project.info.reports.plugin.version>
<maven.shade.plugin.version>3.1.0</maven.shade.plugin.version>
<maven.source.plugin.version>3.0.1</maven.source.plugin.version>
<maven.surefire.plugin.version>2.21.0</maven.surefire.plugin.version>
<maven.wagon.scm.extension.version>3.0.0</maven.wagon.scm.extension.version>
<mssql.version>6.4.0.jre8</mssql.version>
<mysql.version>6.0.6</mysql.version>
<nvt4j.version>1.2.0</nvt4j.version>
<plugin-api.version>3.5.0</plugin-api.version>
<postgresql.version>42.2.2</postgresql.version>
<properties.maven.plugin.version>1.0.0</properties.maven.plugin.version>
<rocksdb.version>5.11.3</rocksdb.version>
<servlet-api.version>3.1.0</servlet-api.version>
<slf4j.version>1.7.25</slf4j.version>
<spotbugs.maven.plugin.version>3.1.3</spotbugs.maven.plugin.version>
<spring.version>5.0.4.RELEASE</spring.version>
<sqlite.version>3.21.0.1</sqlite.version>
<testng.version>6.14.2</testng.version>
<xodus.version>1.2.2</xodus.version>
<vaadin7.version>7.7.13</vaadin7.version>
<validation-api.version>2.0.1.Final</validation-api.version>
</properties>
<dependencies>
<!-- FindBugs annotations - not needed at runtime -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<scope>provided</scope>
</dependency>
<!-- Standard test dependencies -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
<!-- Guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- Vaadin -->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-shared</artifactId>
<version>${vaadin7.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-server</artifactId>
<version>${vaadin7.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-push</artifactId>
<version>${vaadin7.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-themes</artifactId>
<version>${vaadin7.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiled</artifactId>
<version>${vaadin7.version}</version>
</dependency>
<!-- Jetty -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- DellRoad Stuff -->
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>dellroad-stuff-main</artifactId>
<version>${dellroad-stuff.version}</version>
</dependency>
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>dellroad-stuff-spring</artifactId>
<version>${dellroad-stuff.version}</version>
</dependency>
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>dellroad-stuff-vaadin7</artifactId>
<version>${dellroad-stuff.version}</version>
</dependency>
<!-- JLine -->
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>${jline.version}</version>
</dependency>
<!-- NVT4J -->
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>nvt4j</artifactId>
<version>${nvt4j.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.hawtjni</groupId>
<artifactId>hawtjni-runtime</artifactId>
<version>${hawtjni.version}</version>
<scope>provided</scope>
</dependency>
<!-- FindBugs annotations -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${findbugs.version}</version>
</dependency>
<!-- ASM -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>${asm.version}</version>
</dependency>
<!-- Commons Codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
<!-- Plugin stuff -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${plugin-api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>${maven.project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven.plugin.tools.version}</version>
</dependency>
<!-- Misc -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>${javax.mail.version}</version>
<scope>provided</scope>
</dependency>
<!-- Validation -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>${validation-api.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>${javax.el.version}</version>
<optional>true</optional>
</dependency>
<!-- Key/Value technologies -->
<dependency>
<groupId>com.sleepycat</groupId>
<artifactId>je</artifactId>
<version>${bdb.version}</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>${sqlite.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<dependency>
<groupId>com.apple.cie.foundationdb</groupId>
<artifactId>fdb-java</artifactId>
<version>${fdb.version}</version>
</dependency>
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>leveldb</artifactId>
<version>${leveldb.version}</version>
</dependency>
<dependency>
<groupId>org.lmdbjava</groupId>
<artifactId>lmdbjava</artifactId>
<version>${lmdbjava.version}</version>
</dependency>
<dependency>
<groupId>org.dellroad</groupId>
<artifactId>leveldb-api</artifactId>
<version>${leveldb.version}</version>
</dependency>
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>${rocksdb.version}</version>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner</artifactId>
<version>${google-cloud-java.version}${google-cloud-java.suffix}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${mssql.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-environment</artifactId>
<version>${xodus.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-openAPI</artifactId>
<version>${xodus.version}</version>
</dependency>
<!-- SQL Connection Pooling -->
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp</artifactId>
<version>${bonecp.version}</version>
</dependency>
<!-- TestNG -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
<!-- Sibling JARs -->
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-app</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-cliapp</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-coreapi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-demo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-guiapp</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-jsck</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-main</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-array</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-bdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-caching</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-cockroach</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-fdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-leveldb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-lmdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-mssql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-mysql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-raft</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-rocksdb</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-simple</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-sql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-spanner</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-sqlite</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-test</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-kv-xodus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-parse</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-spring</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-test</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.permazen</groupId>
<artifactId>permazen-vaadin</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<!-- For Berkeley DB Java Edition -->
<repository>
<releases>
<enabled>true</enabled>
<updatePolicy>interval:259200</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<id>oracleReleases</id>
<name>Oracle Released Java Packages</name>
<url>http://download.oracle.com/maven</url>
<layout>default</layout>
</repository>
</repositories>
<distributionManagement>
<downloadUrl>https://github.com/permazen/permazen</downloadUrl>
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<site>
<id>${project.artifactId}-site</id>
<url>file://${project.basedir}/site/</url>
</site>
</distributionManagement>
<build>
<plugins>
<!-- Avoid Mac OS X "Launcher" application appearing during build -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>${properties.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>set-system-properties</goal>
</goals>
<configuration>
<properties>
<property>
<name>java.awt.headless</name>
<value>true</value>
</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<!-- Java version enforcer -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven.enforcer.plugin.version}</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8.0</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven.jar.plugin.version}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<!-- Compile -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<source>${compiler.source}</source>
<target>${compiler.target}</target>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint:all,-processing</arg>
<arg>-Werror</arg>
</compilerArgs>
</configuration>
</plugin>
<!-- Sources -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven.source.plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<configuration>
<notimestamp>true</notimestamp>
<doclint>-reference</doclint>
<validateLinks>true</validateLinks>
<links>
<link>http://archiecobbs.github.io/dellroad-stuff/site/apidocs/</link>
<link>http://archiecobbs.github.io/nvt4j/api/</link>
<link>https://docs.spring.io/spring/docs/${spring.version}/javadoc-api/</link>
<link>https://google.github.io/guava/releases/${guava.version}/api/docs/</link>
<link>http://googlecloudplatform.github.io/google-cloud-java/google-cloud-clients/apidocs/</link>
<link>https://www.slf4j.org/apidocs/</link>
<link>https://vaadin.com/api/${vaadin7.version}/</link>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
<link>https://maven.apache.org/ref/${plugin-api.version}/apidocs/</link>
</links>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<systemPropertyVariables>
<deleteTempDirs>true</deleteTempDirs>
<io.permazen.kv.util.CloseableForwardingKVStore.TRACK_ALLOCATIONS>true</io.permazen.kv.util.CloseableForwardingKVStore.TRACK_ALLOCATIONS>
<randomSeed/>
<!-- These properties are used by KVDatabase tests. Uncomment one or more to include time-consuming tests. -->
<!-- kv-array -->
<arrayDirPrefix>ArrayKVStore</arrayDirPrefix>
<arrayCompactMaxDelay>3</arrayCompactMaxDelay>
<arrayCompactSpaceLowWater>1048576</arrayCompactSpaceLowWater>
<arrayCompactSpaceHighWater>16777216</arrayCompactSpaceHighWater>
<!-- kv-bdb -->
<!--
<berkeleyDirPrefix>BerkeleyDbJava</berkeleyDirPrefix>
-->
<!-- kv-caching -->
<testCachingKV>true</testCachingKV>
<!-- kv-cockroach -->
<!--
<cockroachURL>jdbc:postgresql://127.0.0.1:26257/permazen?sslmode=disable&amp;user=root</cockroachURL>
-->
<!-- kv-fdb -->
<!--
<fdbClusterFile>/usr/local/etc/foundationdb/fdb.cluster</fdbClusterFile>
-->
<!-- kv-spanner -->
<!--
<spannerInstance>permazen-test</spannerInstance>
-->
<!-- kv-leveldb -->
<levelDbDirPrefix>LevelDbJava</levelDbDirPrefix>
<!-- kv-lmdb -->
<lmdbDirPrefix>LMDBJava</lmdbDirPrefix>
<!-- kv-mssql -->
<!--
<mssqlURL>jdbc:sqlserver://127.0.01:1433;database=permazen;user=SA;password=foobar123!</mssqlURL>
-->
<!-- kv-mysql -->
<!--
<mysqlURL>jdbc:mysql://127.0.0.1:3306/permazen?user=permazen&amp;password=permazen&amp;logger=com.mysql.cj.core.log.Slf4JLogger&amp;serverTimezone=US/Central</mysqlURL>
-->
<!-- kv-raft -->
<raftDirPrefix>RaftDB</raftDirPrefix>
<raftNumNodes>5</raftNumNodes>
<raftKVStore>array</raftKVStore>
<raftCommitTimeout>5000</raftCommitTimeout>
<raftMinElectionTimeout>200</raftMinElectionTimeout>
<raftMaxElectionTimeout>250</raftMaxElectionTimeout>
<raftHeartbeatTimeout>90</raftHeartbeatTimeout>
<raftMaxTransactionDuration>5000</raftMaxTransactionDuration>
<raftFollowerProbingEnabled>true</raftFollowerProbingEnabled>
<raftNetworkDelayMillis>35</raftNetworkDelayMillis>
<raftNetworkDropRatio>0.15</raftNetworkDropRatio>
<!-- kv-rocksdb -->
<rocksDbDirPrefix>RocksDbJava</rocksDbDirPrefix>
<!-- kv-simple -->
<testSimpleKV>true</testSimpleKV>
<xmlFilePrefix>xmldb</xmlFilePrefix>
<!-- kv-sqlite -->
<sqliteFilePrefix>SQLiteKV</sqliteFilePrefix>
<exclusiveLocking>false</exclusiveLocking>
<!-- kv-xodus -->
<xodusDirPrefix>Xodus</xodusDirPrefix>
</systemPropertyVariables>
<properties>
<property>
<name>surefire.testng.verbose</name>
<value>10</value>
</property>
</properties>
</configuration>
</plugin>
<!-- Checkstyle -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven.checkstyle.plugin.version}</version>
<executions>
<execution>
<id>default-verify</id>
<phase>verify</phase>
<configuration>
<consoleOutput>true</consoleOutput>
<encoding>UTF-8</encoding>
<failsOnError>true</failsOnError>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<linkXRef>false</linkXRef>
<sourceDirectories>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
</sourceDirectories>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- SpotBugs -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs.maven.plugin.version}</version>
<configuration>
<effort>Max</effort>
<threshold>Default</threshold>
<xmlOutput>true</xmlOutput>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<excludeFilterFile>src/spotbugs/spotbugs-exclude.xml</excludeFilterFile>
<failOnError>true</failOnError>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Info Reports -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project.info.reports.plugin.version}</version>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-scm</artifactId>
<version>${maven.wagon.scm.extension.version}</version>
</extension>
</extensions>
</build>
<reporting>
<plugins>
<!-- Aggregated Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<inherited>false</inherited>
<configuration>
<notimestamp>true</notimestamp>
<validateLinks>true</validateLinks>
<aggregate>true</aggregate>
<links>
<link>http://archiecobbs.github.io/dellroad-stuff/site/apidocs/</link>
<link>http://archiecobbs.github.io/nvt4j/api/</link>
<link>https://docs.spring.io/spring/docs/${spring.version}/javadoc-api/</link>
<link>https://google.github.io/guava/releases/${guava.version}/api/docs/</link>
<link>http://googlecloudplatform.github.io/google-cloud-java/google-cloud-clients/apidocs/</link>
<link>https://www.slf4j.org/apidocs/</link>
<link>https://vaadin.com/api/${vaadin7.version}/</link>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
<link>https://maven.apache.org/ref/${plugin-api.version}/apidocs/</link>
</links>
</configuration>
<reportSets>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- Maven Central requires signed artifacts -->
<profile>
<id>sign</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven.gpg.plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>