blob: 2506c0c3492384595d005ee00c59437d7f0cdde5 [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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Apache Jena</name>
<groupId>org.apache.jena</groupId>
<artifactId>jena</artifactId>
<packaging>pom</packaging>
<url>https://jena.apache.org/</url>
<version>4.1.0-SNAPSHOT</version>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>23</version>
</parent>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<organization>
<name>The Apache Software Foundation</name>
<url>https://www.apache.org/</url>
</organization>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/jena.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/jena.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf/jena.git</url>
<tag>HEAD</tag>
</scm>
<properties>
<ver.junit>4.13.2</ver.junit>
<ver.slf4j>1.7.30</ver.slf4j>
<ver.log4j2>2.14.1</ver.log4j2>
<ver.shade-plugin>3.2.4</ver.shade-plugin>
<ver.jetty>9.4.40.v20210413</ver.jetty>
<ver.shiro>1.7.1</ver.shiro>
<ver.libthrift>0.14.1</ver.libthrift>
<!-- jsonld-java depends on depends on Jackson core
and Jackson databind. databind has had a few CVEs
so we exclude from jsonldjava and select the version
ourselves.
When upgrading jsonld, consult jsonld-java's
POM for the correct dependency versions
and use that or later.
-->
<ver.jsonldjava>0.13.3</ver.jsonldjava>
<ver.jackson>2.12.3</ver.jackson>
<ver.commonsio>2.8.0</ver.commonsio>
<ver.commonscli>1.4</ver.commonscli>
<ver.commonslang3>3.12.0</ver.commonslang3>
<ver.commonsrdf>0.5.0</ver.commonsrdf>
<ver.commonscsv>1.8</ver.commonscsv>
<ver.commons-codec>1.15</ver.commons-codec>
<ver.commons-compress>1.20</ver.commons-compress>
<ver.dexxcollection>0.7</ver.dexxcollection>
<ver.micrometer>1.6.6</ver.micrometer>
<ver.httpclient>4.5.13</ver.httpclient>
<ver.httpcore>4.4.14</ver.httpcore>
<!-- Normally, these are the same as the above
In the case of 4.2.6, there isn't a httpcore-osgi.
-->
<ver.httpcore-osgi>${ver.httpcore}</ver.httpcore-osgi>
<ver.httpclient-osgi>${ver.httpclient}</ver.httpclient-osgi>
<ver.lucene>8.8.0</ver.lucene>
<ver.graalvm>21.1.0</ver.graalvm>
<ver.jython>2.7.2</ver.jython>
<ver.jcommander>1.81</ver.jcommander>
<ver.mockito>3.9.0</ver.mockito>
<ver.awaitility>4.0.3</ver.awaitility>
<ver.contract.tests>0.2.0</ver.contract.tests>
<java.version>11</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
</properties>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/JENA</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>Jena Users Mailing List</name>
<post>users@jena.apache.org</post>
<subscribe>users-subscribe@jena.apache.org</subscribe>
<unsubscribe>users-unsubscribe@jena.apache.org</unsubscribe>
<archive>https://lists.apache.org/list.html?users@jena.apache.org</archive>
<otherArchives>
<otherArchive>https://mail-archives.apache.org/mod_mbox/jena-users/</otherArchive>
<otherArchive>https://www.mail-archive.com/users@jena.apache.org/</otherArchive>
<otherArchive>https://markmail.org/search/?q=list%3Aorg.apache.jena.users</otherArchive>
</otherArchives>
</mailingList>
<mailingList>
<name>Jena Developers Mailing List</name>
<post>dev@jena.apache.org</post>
<subscribe>dev-subscribe@jena.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@jena.apache.org</unsubscribe>
<archive>https://lists.apache.org/list.html?dev@jena.apache.org</archive>
<otherArchives>
<otherArchive>https://lists.apache.org/mod_mbox/jena-dev/</otherArchive>
<otherArchive>https://www.mail-archive.com/dev@jena.apache.org/</otherArchive>
<otherArchive>https://markmail.org/search/?q=list%3Aorg.apache.jena.dev</otherArchive>
</otherArchives>
</mailingList>
<mailingList>
<name>Jena Commits</name>
<post>commits@jena.apache.org</post>
<subscribe>commits-subscribe@jena.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@jena.apache.org</unsubscribe>
<archive>https://lists.apache.org/list.html?commits@jena.apache.org</archive>
<otherArchives>
<otherArchive>https://mail-archives.apache.org/mod_mbox/jena-commits/</otherArchive>
</otherArchives>
</mailingList>
</mailingLists>
<profiles>
<profile>
<!--
This is the dev profile, typically used locally with
"mvn clean install -Pdev".
It builds the modules shipped in apache-jena binaries
but does not build these binaries.
This profile does not build javadoc.
-->
<id>dev</id>
<modules>
<module>jena-shaded-guava</module>
<module>jena-iri</module>
<module>jena-base</module>
<module>jena-core</module>
<module>jena-arq</module>
<module>jena-shacl</module>
<module>jena-rdfconnection</module>
<module>jena-tdb</module>
<module>jena-db</module>
<module>apache-jena-libs</module>
<module>jena-text</module>
<module>jena-cmds</module>
<module>jena-fuseki2</module>
<module>jena-geosparql</module>
<module>jena-fuseki2/jena-fuseki-geosparql</module>
<module>jena-integration-tests</module>
<!-- Binary distribution -->
<!-- <module>apache-jena</module> -->
</modules>
<build>
<plugins>
<!-- For -Pdev :: don't create javadoc. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!--
This is the complete profile, it builds everything including slow
building modules and the distribution packages.
-->
<id>complete</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>profile.complete</name>
<value>true</value>
</property>
</activation>
<modules>
<!-- Basic modules -->
<module>jena-shaded-guava</module>
<module>jena-iri</module>
<module>jena-base</module>
<!-- Main modules -->
<module>jena-core</module>
<module>jena-arq</module>
<module>jena-shacl</module>
<module>jena-rdfconnection</module>
<module>jena-tdb</module>
<module>jena-db</module>
<module>apache-jena-libs</module>
<module>jena-text</module>
<module>jena-cmds</module>
<module>jena-fuseki2</module>
<module>jena-geosparql</module>
<module>jena-fuseki2/jena-fuseki-geosparql</module>
<!--
Tests of artifacts that require additional
modules built later in the build process.
For example, use Fuseki as a test server to
test remote client APIs.
-->
<module>jena-integration-tests</module>
<!-- Binary distribution -->
<module>apache-jena</module>
<!-- Other -->
<!-- Skip for Jena 4.0.0
<module>jena-permissions</module>
-->
<module>jena-extras</module>
<!-- Slow building modules -->
<module>jena-jdbc</module>
<module>apache-jena-osgi</module>
</modules>
</profile>
</profiles>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${ver.junit}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
<version>${ver.httpclient}</version>
<exclusions>
<!-- Replace with slf4j adapter -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${ver.httpclient}</version>
<exclusions>
<!-- Replace with slf4j adapter -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${ver.commons-codec}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${ver.commonsio}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${ver.commons-compress}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${ver.jackson}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>${ver.libthrift}</version>
<exclusions>
<!-- Use whatever version Jena is using -->
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
<!-- libthrift : 0.14.0 onwards : THRIFT-5375 -->
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${ver.commonscsv}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${ver.commonslang3}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<!-- supports persistent data structures -->
<dependency>
<groupId>com.github.andrewoma.dexx</groupId>
<artifactId>collection</artifactId>
<version>${ver.dexxcollection}</version>
</dependency>
<dependency>
<groupId>com.github.jsonld-java</groupId>
<artifactId>jsonld-java</artifactId>
<version>${ver.jsonldjava}</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<!-- Exclude so we use our choice of versions -->
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore-osgi</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${ver.jetty}</version>
</dependency>
<!-- Jetty's useful servlets, inc compression -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${ver.jetty}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${ver.jetty}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${ver.shiro}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>${ver.shiro}</version>
</dependency>
<!-- Lucene dependencies -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>${ver.lucene}</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>${ver.lucene}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>${ver.lucene}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
<version>${ver.lucene}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-backward-codecs</artifactId>
<version>${ver.lucene}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${ver.slf4j}</version>
</dependency>
<!-- java.util.logging (JUL) -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${ver.slf4j}</version>
</dependency>
<!-- Log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${ver.log4j2}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!-- And intercept any uses of Jakarta Commons Logging
e.g. Apache Common HTTP client.
-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${ver.slf4j}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${ver.commonscli}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-rdf-api</artifactId>
<version>${ver.commonsrdf}</version>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js</artifactId>
<version>${ver.graalvm}</version>
</dependency>
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js-scriptengine</artifactId>
<version>${ver.graalvm}</version>
</dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>${ver.jython}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xenei</groupId>
<artifactId>junit-contracts</artifactId>
<version>${ver.contract.tests}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>commons-cli</artifactId>
<groupId>commons-cli</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.xenei</groupId>
<artifactId>contract-test-maven-plugin</artifactId>
<version>${ver.contract.tests}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${ver.mockito}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${ver.awaitility}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>${ver.micrometer}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>${ver.micrometer}</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>${ver.jcommander}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<!-- Run the enforcer plugin automatically at compile time -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration combine.self="override">
<rules>
<dependencyConvergence />
<requireJavaVersion>
<version>1.8.0</version>
</requireJavaVersion>
<requirePluginVersions>
<message>Best practice is to always define plugin versions!</message>
<banLatest>true</banLatest>
<banRelease>true</banRelease>
</requirePluginVersions>
<requireReleaseDeps>
<message>No SNAPSHOT dependencies are allowed!</message>
<onlyWhenRelease>true</onlyWhenRelease>
</requireReleaseDeps>
<requireMavenVersion>
<version>3.5.0</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
<failFast>false</failFast>
</configuration>
</execution>
</executions>
</plugin>
<!-- Run the RAT Plugin -->
<!--
To run from the command line:
mvn apache-rat:rat \
-Drat.excludeSubProjects=false \
-Drat.excludesFile=build-files/rat-exclusions.txt
-->
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
<!--
Run only if maven is running from this POM,
not when run in a sub-module with this as parent.
-->
<inherited>false</inherited>
<executions>
<execution>
<id>rat-checks</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludesFile>build-files/rat-exclusions.txt</excludesFile>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins>
<!-- Plugin version list: https://maven.apache.org/plugins/index.html -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${java.version}</release>
</configuration>
<!-- Java8 compiler for Java8 output : retain temporarily 2021-01
<configuration>
<showDeprecation>false</showDeprecation>
<encoding>UTF-8</encoding>
<debug>true</debug>
<debuglevel>source,lines,vars</debuglevel>
<optimize>true</optimize>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<!--
Bug: SUREFIRE-1588 Fixed at 3.0.0
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911925
-->
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
<!-- Only needed in some jars <execution> <id>attach-sources-test</id>
<goals> <goal>test-jar-no-fork</goal> </goals> </execution> -->
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Java11:
https://bugs.openjdk.java.net/browse/JDK-8212233
JDK-8212233
Fixed in 12.0.1, 11.0.3 (??)
Explicitly define the source as Java8 when building
with java8 source code for java8 output.
Not good enough when compiling for Java11 output.
https://issues.apache.org/jira/browse/MJAVADOC-555
-->
<!-- Fixes for Javadoc when building for Java11.
(1) Fix for:
Named / unnamed modules error/warning
(2) Fix for:
[ERROR] error: the unnamed module reads package PKG from both A and B
Modules impacted:
jena-geosparql
jena-jdbc
-->
<detectJavaApiLink>false</detectJavaApiLink>
<source>8</source>
<!-- End Java11 fixes (2021-01) -->
<!-- To allow the build to keep going despite javadoc problems:
<failOnError>false</failOnError>
-->
<quiet>true</quiet>
<doclint>none</doclint>
<version>true</version>
<show>public</show>
<encoding>UTF-8</encoding>
<windowtitle>${project.name} ${project.version}</windowtitle>
<doctitle>${project.name} ${project.version}</doctitle>
<bottom>Licensed under the Apache License, Version 2.0</bottom>
<links>
<link>https://jena.apache.org/documentation/javadoc/jena/</link>
<link>https://jena.apache.org/documentation/javadoc/arq/</link>
<link>https://jena.apache.org/documentation/javadoc/tdb/</link>
<link>https://jena.apache.org/documentation/javadoc/text/</link>
<link>https://jena.apache.org/documentation/javadoc/rdfconnection/</link>
<link>https://jena.apache.org/documentation/javadoc/fuseki2/</link>
<link>https://jena.apache.org/documentation/javadoc/permissions/</link>
<link>https://jena.apache.org/documentation/javadoc/jdbc/</link>
</links>
<!-- Settings for @apiNote, @implSpec and @implNote -->
<tags>
<tag>
<name>apiNote</name>
<placement>a</placement>
<head>API Note:</head>
</tag>
<tag>
<name>implSpec</name>
<placement>a</placement>
<head>Implementation Requirements:</head>
</tag>
<tag>
<name>implNote</name>
<placement>a</placement>
<head>Implementation Note:</head>
</tag>
</tags>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<overWriteReleases>false</overWriteReleases>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requirePluginVersions>
<message>Best practice is to always define plugin versions!</message>
<banLatest>true</banLatest>
<banRelease>true</banRelease>
</requirePluginVersions>
<requireReleaseDeps>
<message>No SNAPSHOT dependencies are allowed!</message>
<onlyWhenRelease>true</onlyWhenRelease>
</requireReleaseDeps>
<DependencyConvergence />
</rules>
<fail>true</fail>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.2</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${ver.shade-plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<!--
Avoid the warnings and errors from m2e.
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>
<!--
Warning:
"maven-remote-resources-plugin (goal "process") is ignored by m2e."
-->
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<!--
Warning:
"maven-enforcer-plugin (goal "enforce") is ignored by m2e."
-->
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>process</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<!--
Error:
Plugin execution not covered by lifecycle configuration
-->
<pluginExecutionFilter>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<versionRange>[0.11,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.xenei</groupId>
<artifactId>contract-test-maven-plugin</artifactId>
<versionRange>[0.1.5,)</versionRange>
<goals>
<goal>contract-test</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<!-- <outputDirectory>${project.build.directory}/site</outputDirectory> -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<configuration>
<outputDirectory>${project.basedir}/target/surefire-reports-html</outputDirectory>
</configuration>
</plugin>
</plugins>
</reporting>
</project>