blob: 7a2ce752ea15d3a2dbc85c4a350bd32778dda8fd [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</version>
<relativePath />
</parent>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>oak-parent</artifactId>
<name>Oak Parent POM</name>
<version>1.37-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<test.opts.memory>-Xmx512m</test.opts.memory>
<test.opts>${test.opts.coverage} ${test.opts.memory} -XX:+HeapDumpOnOutOfMemoryError -Dupdate.limit=100 -Djava.awt.headless=true</test.opts>
<skip.deployment>false</skip.deployment>
<skip.coverage>true</skip.coverage>
<minimum.line.coverage>0.0</minimum.line.coverage>
<minimum.branch.coverage>0.0</minimum.branch.coverage>
<known.issues />
<project.reporting.outputEncoding>
${project.build.sourceEncoding}
</project.reporting.outputEncoding>
<jackrabbit.version>2.20.2</jackrabbit.version>
<mongo.host>127.0.0.1</mongo.host>
<mongo.port>27017</mongo.port>
<mongo.db>MongoMKDB</mongo.db>
<mongo.db2>MongoMKDB2</mongo.db2>
<mongo.url />
<mongo.version>3.6</mongo.version>
<segment.db>SegmentMK</segment.db>
<lucene.version>4.7.1</lucene.version>
<solr.version>8.6.3</solr.version>
<mongo.driver.version>3.8.2</mongo.driver.version>
<slf4j.api.version>1.7.30</slf4j.api.version>
<slf4j.version>1.7.30</slf4j.version> <!-- sync with logback version -->
<logback.version>1.2.3</logback.version>
<h2.version>1.4.194</h2.version>
<tika.version>1.24.1</tika.version>
<guava.version>15.0</guava.version>
<guava.osgi.import>com.google.common.*;version="[15.0,21)"</guava.osgi.import>
<derby.version>10.14.2.0</derby.version>
<jackson.version>2.10.3</jackson.version>
<java.version>1.8</java.version>
<java.version.signature>java18</java.version.signature>
<!-- specifies on which fixture to run the integration testing tests.
override in profiles or provide from command line to change behaviour. Provide
more fixtures space separated. See org.apache.jackrabbit.oak.jcr.FixturesHelper#AVAILABLE_FIXTURES
for the possible values: SEGMENT_MK SEGMENT_TAR SEGMENT_AWS SEGMENT_AZURE DOCUMENT_NS DOCUMENT_RDB -->
<fixtures>SEGMENT_TAR</fixtures>
<!-- whether skip the surefire unit testing during the integration testing.
Override with -Dsurefire.skip.ut=true when needed -->
<surefire.skip.ut>false</surefire.skip.ut>
</properties>
<prerequisites>
<maven>3.2.1</maven>
</prerequisites>
<issueManagement>
<system>Jira</system>
<url>http://issues.apache.org/jira/browse/OAK</url>
</issueManagement>
<url>http://jackrabbit.apache.org/</url>
<inceptionYear>2012</inceptionYear>
<description>
The goal of the Oak effort within the Apache Jackrabbit project is
to implement a scalable and performant hierarchical content repository
for use as the foundation of modern world-class web sites and other
demanding content applications.
</description>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<target>${java.version}</target>
<source>${java.version}</source>
<compilerArgs>
<!-- OAK-7310 -->
<arg>-Xpkginfo:always</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.18</version>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>${java.version.signature}</artifactId>
<version>1.0</version>
</signature>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<source>${java.version}</source>
<aggregate>true</aggregate>
<links>
<link>https://docs.adobe.com/docs/en/spec/javax.jcr/javadocs/jcr-2.0/</link>
<link>https://jackrabbit.apache.org/api/2.20/</link>
<link>https://google.github.io/guava/releases/${guava.version}/api/docs/</link>
<link>http://www.slf4j.org/apidocs/</link>
</links>
<!-- workaround for https://issues.apache.org/jira/browse/OAK-8517 -->
<excludePackageNames>org.apache.jackrabbit.oak.plugins.index.*</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>4.2.1</version>
<extensions>true</extensions>
<inherited>true</inherited>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.bnd</artifactId>
<version>1.9.6</version>
<exclusions>
<!--
This SCR plugin pulls in a bnd version with a different artifactId, thus leading
to two bnd artifacts existing at the same time.
-->
<exclusion>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<configuration>
<exportScr>true</exportScr>
<obrRepository>NONE</obrRepository>
<instructions>
<Bundle-Category>oak</Bundle-Category>
<Bundle-DocURL>
http://jackrabbit.apache.org/oak/
</Bundle-DocURL>
<Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
<!-- Don't default to bundle version for packages without explicit export version.
See FELIX-5172 -->
<_nodefaultversion>true</_nodefaultversion>
<!-- Support parsing of maven-scr-plugin annotations through the felix.scr.bnd plugin -->
<_plugin>org.apache.felix.scrplugin.bnd.SCRDescriptorBndPlugin;destdir=${project.build.outputDirectory}</_plugin>
</instructions>
</configuration>
<executions>
<execution>
<id>baseline</id>
<goals>
<goal>baseline</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<logResults>false</logResults>
<failOnWarning>false</failOnWarning>
<failOnError>true</failOnError>
<filters>
<!-- Disable baseline for explicitly NOT managed packages. See OAK-3842 -->
<filter>!org.apache.jackrabbit.oak.spi.blob</filter>
<filter>!org.apache.jackrabbit.oak.spi.blob.split</filter>
<filter>!org.apache.jackrabbit.oak.spi.blob.stats</filter>
<filter>!org.apache.jackrabbit.oak.blob.cloud.aws.s3</filter>
<filter>!org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage</filter>
<filter>!org.apache.jackrabbit.oak</filter>
<filter>!org.apache.jackrabbit.oak.json</filter>
<filter>!org.apache.jackrabbit.oak.namepath.impl</filter>
<filter>!org.apache.jackrabbit.oak.plugins.blob</filter>
<filter>!org.apache.jackrabbit.oak.plugins.blob.datastore</filter>
<filter>!org.apache.jackrabbit.oak.plugins.commit</filter>
<filter>!org.apache.jackrabbit.oak.plugins.identifier</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.aggregate</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.fulltext</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.property</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.property.strategy</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.reference</filter>
<filter>!org.apache.jackrabbit.oak.plugins.lock</filter>
<filter>!org.apache.jackrabbit.oak.plugins.memory</filter>
<filter>!org.apache.jackrabbit.oak.plugins.migration</filter>
<filter>!org.apache.jackrabbit.oak.plugins.migration.report</filter>
<filter>!org.apache.jackrabbit.oak.plugins.name</filter>
<filter>!org.apache.jackrabbit.oak.plugins.nodetype</filter>
<filter>!org.apache.jackrabbit.oak.plugins.nodetype.write</filter>
<filter>!org.apache.jackrabbit.oak.plugins.observation</filter>
<filter>!org.apache.jackrabbit.oak.plugins.observation.filter</filter>
<filter>!org.apache.jackrabbit.oak.plugins.tree.factories</filter>
<filter>!org.apache.jackrabbit.oak.plugins.value</filter>
<filter>!org.apache.jackrabbit.oak.plugins.value.jcr</filter>
<filter>!org.apache.jackrabbit.oak.plugins.version</filter>
<filter>!org.apache.jackrabbit.oak.query</filter>
<filter>!org.apache.jackrabbit.oak.query.fulltext</filter>
<filter>!org.apache.jackrabbit.oak.spi.cluster</filter>
<filter>!org.apache.jackrabbit.oak.spi.commit</filter>
<filter>!org.apache.jackrabbit.oak.spi.filter</filter>
<filter>!org.apache.jackrabbit.oak.spi.lifecycle</filter>
<filter>!org.apache.jackrabbit.oak.spi.state</filter>
<filter>!org.apache.jackrabbit.oak.jcr</filter>
<filter>!org.apache.jackrabbit.oak.plugins.document.spi</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.lucene</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.lucene.util</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr.configuration</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr.index</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr.query</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr.server</filter>
<filter>!org.apache.jackrabbit.oak.plugins.index.solr.util</filter>
<filter>!org.apache.jackrabbit.oak.segment.spi.monitor</filter>
<filter>!org.apache.jackrabbit.oak.segment.spi.persistence</filter>
<filter>*</filter>
</filters>
</configuration>
</execution>
<!-- Configure extra execution of 'manifest' in process-classes phase to make sure SCR metadata is generated before unit test runs -->
<execution>
<id>scr-metadata</id>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<supportIncrementalBuild>true</supportIncrementalBuild>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>${skip.deployment}</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
<configuration>
<consoleOutput>true</consoleOutput>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>${test.opts}</argLine>
<systemPropertyVariables>
<known.issues>${known.issues}</known.issues>
<mongo.host>${mongo.host}</mongo.host>
<mongo.port>${mongo.port}</mongo.port>
<mongo.db>${mongo.db}</mongo.db>
<mongo.db2>${mongo.db2}</mongo.db2>
<mongo.url>${mongo.url}</mongo.url>
<segment.db>${segment.db}</segment.db>
<nsfixtures>${fixtures}</nsfixtures>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
</systemPropertyVariables>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>${test.opts}</argLine>
<systemPropertyVariables>
<known.issues>${known.issues}</known.issues>
<mongo.host>${mongo.host}</mongo.host>
<mongo.port>${mongo.port}</mongo.port>
<mongo.db>${mongo.db}</mongo.db>
<mongo.db2>${mongo.db2}</mongo.db2>
<mongo.url>${mongo.url}</mongo.url>
<nsfixtures>${fixtures}</nsfixtures>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.11</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
<!-- This plugin's configuration is used to store Eclipse m2e -->
<!-- settings only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<versionRange>[1.7,)</versionRange>
<goals>
<goal>reserve-network-port</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<versionRange>[0.7.1.201405082137,)</versionRange>
<goals>
<goal>prepare-agent</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
<configuration>
<generateReports>false</generateReports>
<skip>true</skip>
<skipDeploy>true</skipDeploy>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<skip>${skip.coverage}</skip>
<destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
<propertyName>test.opts.coverage</propertyName>
</configuration>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<skip>${skip.coverage}</skip>
<dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
</configuration>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>${minimum.line.coverage}</minimum>
</limit>
<limit>
<counter>BRANCH</counter>
<value>COVEREDRATIO</value>
<minimum>${minimum.branch.coverage}</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<excludes>
<exclude>logback-test.xml</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<executions>
<execution>
<id>animal-sniffer</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<!--avoid child modules from inheriting anything from the apache parent pom -->
<inherited>false</inherited>
</plugin>
</plugins>
</reporting>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.metatype.annotations</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>18.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>${mongo.driver.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.api.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jclouds.provider</groupId>
<artifactId>aws-s3</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.osgi-mock</artifactId>
<version>2.3.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>8.5.51</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>8.5.51</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.jaas</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>net.sf.jopt-simple</groupId>
<artifactId>jopt-simple</artifactId>
<version>5.0.3</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>3.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-smile</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
<version>4.5.12</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.13</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore-osgi</artifactId>
<version>4.4.13</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.12</version>
</dependency>
<dependency>
<groupId>com.arakelian</groupId>
<artifactId>docker-junit-rule</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-storage</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-core</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unit testing profiles -->
<profile>
<id>unittesting</id>
<properties>
<!-- emptying $fixtures means run on all -->
<fixtures />
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Integration testing profiles -->
<profile>
<!-- runs all the IT agains the default fixture. See <properties> section -->
<id>integrationTesting</id>
<activation>
<property>
<name>env.OAK_INTEGRATION_TESTING</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${surefire.skip.ut}</skipTests>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- - - - - - - - - - - - - - - - - - - - will run all the required tests before a release -->
<profile>
<id>release</id>
<properties>
<nsfixtures />
<rdb.jdbc-url>jdbc:derby:./target/derby-release-test;create=true</rdb.jdbc-url>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
</systemProperties>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<systemProperties>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
</systemProperties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<failOnViolation>false</failOnViolation>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
</dependency>
</dependencies>
</profile>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - other profiles -->
<profile>
<id>longevity</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>**/*LT.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>guavabetachecks</id>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<compilerId>javac-with-errorprone</compilerId>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<target>${java.version}</target>
<source>${java.version}</source>
<annotationProcessorPaths>
<path>
<groupId>com.google.guava</groupId>
<artifactId>guava-beta-checker</artifactId>
<version>1.0</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<!-- OAK-7310 -->
<arg>-Xpkginfo:always</arg>
<arg>-XepDisableAllChecks</arg>
<arg>-Xep:BetaApi:ERROR</arg>
</compilerArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac-errorprone</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rat</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- run a test to prevent Jenkins from failing because no test ran -->
<test>PathUtilsTest</test>
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- run a test to prevent Jenkins from failing because no test ran -->
<test>PathUtilsTest</test>
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pedantic</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<failOnViolation>false</failOnViolation>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<failOnError>false</failOnError>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${surefire.skip.ut}</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>guava-latest</id>
<properties>
<guava.version>20.0</guava.version>
</properties>
</profile>
<profile>
<id>rdb-derby</id>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>rdb-mysql</id>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>rdb-postgres</id>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.18</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>rdb-h2</id>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>rdb-mssql</id>
<dependencies>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.2.2.jre8</version>
</dependency>
</dependencies>
</profile>
<profile>
<!-- requires local copy of Oracle JDBC driver deployed to Maven repo -->
<!-- for instance:
mvn install:install-file -Dfile=ojdbc8.jar -Dpackaging=jar\
-DgroupId=com.oracle.jdbc -DartifactId=ojdbc8 -Dversion=12.2.0.1
-->
<!-- or see https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides -->
<id>rdb-oracle</id>
<dependencies>
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
</dependencies>
</profile>
<profile>
<!-- requires local copy of IBM DB2 JDBC drivers deployed to Maven repo-->
<!-- for instance:
mvn install:install-file -Dfile=db2jcc4.jar -Dpackaging=jar\
-DgroupId=com.ibm.db2 -DartifactId=db2 -Dversion=4.19.77
-->
<id>rdb-db2</id>
<dependencies>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2</artifactId>
<version>4.19.77</version>
</dependency>
</dependencies>
</profile>
<profile>
<!-- requires local copy of IBM DB2 JDBC drivers deployed to Maven repo-->
<!-- for instance:
mvn install:install-file -Dfile=db2jcc4.jar -Dpackaging=jar\
-DgroupId=com.ibm.db2 -DartifactId=db2 -Dversion=4.25.13
-->
<id>rdb-db2-11</id>
<dependencies>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2</artifactId>
<version>4.25.13</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>coverage</id>
<properties>
<skip.coverage>false</skip.coverage>
</properties>
</profile>
<profile>
<id>fast</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<goals>
<goal>testResources</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default</id>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>baseline</id>
<goals>
<goal>baseline</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
<execution>
<id>post-unit-test</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<executions>
<execution>
<id>animal-sniffer</id>
<phase />
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>