blob: acb5fda7b477f5580eacbf5938c87c9a39527157 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ ================================================================================
~ Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
~ ================================================================================
~ Licensed 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.
~ ============LICENSE_END=========================================================
~
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>
<modules>
<module>eelf-logger-api</module>
<module>eelf-logger-model</module>
<module>eelf-logger-logback-impl</module>
</modules>
<parent>
<artifactId>utils</artifactId>
<groupId>org.onap.dcaegen2.utils</groupId>
<version>1.2.0-SNAPSHOT</version>
</parent>
<artifactId>eelf-logger</artifactId>
<name>dcaegen2-utils-eelf-logger</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<url>http://maven.apache.org</url>
<properties>
<!-- PROJECT SETTINGS-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<main.basedir>${project.basedir}</main.basedir>
<!--TEST SETTINGS -->
<surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
<!-- PROJECT DEPENDENCIES -->
<slf4j.version>1.7.5</slf4j.version>
<logback.version>1.2.3</logback.version>
<lombok.version>1.16.10</lombok.version>
<!--TESTING DEPENDENCIES -->
<junit.version>4.12</junit.version>
<mockito.version>2.2.11</mockito.version>
<assertj-core.version>2.6.0</assertj-core.version>
<!-- PLUGINS VERSIONS -->
<compiler.plugin.version>3.3</compiler.plugin.version>
<surefire.plugin.version>2.19.1</surefire.plugin.version>
<failsafe.plugin.version>2.19.1</failsafe.plugin.version>
<findbugs.plugin.version>3.0.2</findbugs.plugin.version>
<pmd.plugin.version>3.5</pmd.plugin.version>
<javadoc.plugin.version>2.10.4</javadoc.plugin.version>
<source.plugin.version>2.4</source.plugin.version>
<jar.plugin.version>2.4</jar.plugin.version>
<deploy.plugin.version>2.8</deploy.plugin.version>
<lombok.plugin.version>1.16.10.0</lombok.plugin.version>
<maven.site.plugin>3.5.1</maven.site.plugin>
<!--PLUGIN SETTINGS -->
<compiler.source.version>1.7</compiler.source.version>
<compiler.target.version>1.7</compiler.target.version>
<unit.test.pattern>**/*Test.java</unit.test.pattern>
<skip.unit.tests>false</skip.unit.tests>
<integration.test.pattern>**/*IT.java</integration.test.pattern>
<skip.integration.tests>true</skip.integration.tests>
<pmd.violation.buildfail>true</pmd.violation.buildfail>
<findbugs.failOnError>true</findbugs.failOnError>
</properties>
<dependencyManagement>
<dependencies>
<!-- LOGGING -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- CODE GENERATION -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!-- TEST DEPENDENCIES -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- COMMON DEPENDENCIES FOR ALL SUB-PROJECTS -->
<dependencies>
<!-- TEST DEPENDENCIES -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!-- COMPILER PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${compiler.plugin.version}</version>
<configuration>
<source>${compiler.target.version}</source>
<target>${compiler.source.version}</target>
</configuration>
</plugin>
<!-- MAVEN SOURCE PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${source.plugin.version}</version>
<configuration>
<excludeResources>true</excludeResources>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- MAVEN JAVADOC PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc.plugin.version}</version>
<configuration>
<!-- minimize console output messages -->
<quiet>true</quiet>
<verbose>false</verbose>
<useStandardDocletOptions>false</useStandardDocletOptions>
</configuration>
<executions>
<execution>
<id>aggregate</id>
<phase>site</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- SUREFIRE TEST PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
<skipTests>${skip.unit.tests}</skipTests>
<argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
-XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
</argLine>
<redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
<parallel>methods</parallel>
<threadCount>8</threadCount>
<forkCount>8</forkCount>
<reuseForks>true</reuseForks>
<reportFormat>xml</reportFormat>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
<logback.configurationFile>
${basedir}/src/test/resources/logback-test.xml
</logback.configurationFile>
</systemPropertyVariables>
<includes>
<include>${unit.test.pattern}</include>
</includes>
<excludes>
<exclude>${integration.test.pattern}</exclude>
</excludes>
<!-- Sets the VM argument line used when unit tests are run. -->
<argLine>${surefireArgLine}</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>${surefire.plugin.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${failsafe.plugin.version}</version>
<executions>
<execution>
<id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<skipTests>${skip.integration.tests}</skipTests>
<!-- Sets the VM argument line used when integration tests are run. -->
<!--suppress MavenModelInspection -->
<argLine>${failsafeArgLine}</argLine>
</configuration>
</execution>
</executions>
</plugin>
<!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugs.plugin.version}</version>
<configuration>
<effort>Max</effort>
<threshold>Low</threshold>
<xmlOutput>true</xmlOutput>
<!-- BUILD FAIL ON FINDBUGS ERRORS -->
<failOnError>${findbugs.failOnError}</failOnError>
<excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
<outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
<findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
</findbugsXmlOutputDirectory>
</configuration>
<executions>
<execution>
<id>analyze-compile</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- PMD PLUGIN SETUP -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.plugin.version}</version>
<configuration>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<targetJdk>${compiler.target.version}</targetJdk>
<linkXRef>false</linkXRef>
<!-- BUILD FAIL ON PMD VIOLATION -->
<failOnViolation>${pmd.violation.buildfail}</failOnViolation>
<targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
<minimumTokens>200</minimumTokens>
</configuration>
<executions>
<execution>
<id>pmd-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<printFailingErrors>true</printFailingErrors>
<excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
</configuration>
</execution>
<execution>
<id>cpd-check</id>
<goals>
<goal>cpd-check</goal>
</goals>
<configuration>
<printFailingErrors>true</printFailingErrors>
<excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
</configuration>
</execution>
</executions>
</plugin>
<!-- LOMBOK PLUGIN -->
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>${lombok.plugin.version}</version>
<executions>
<execution>
<id>delombok</id>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
<configuration>
<addOutputDirectory>false</addOutputDirectory>
<sourceDirectory>src/main/java</sourceDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- JAR PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${jar.plugin.version}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build-Version>${project.version}</Implementation-Build-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
<!-- DEPLOY PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${deploy.plugin.version}</version>
<configuration>
<deployAtEnd>true</deployAtEnd>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>disable-java8-doclint</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<additionalparam>-Xdoclint:none</additionalparam>
</properties>
</profile>
</profiles>
</project>