1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ============LICENSE_START=======================================================
5 ~ ================================================================================
6 ~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
7 ~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
8 ~ Copyright (c) 2022 Wipro Limited.
9 ~ ================================================================================
10 ~ Licensed under the Apache License, Version 2.0 (the "License");
11 ~ you may not use this file except in compliance with the License.
12 ~ You may obtain a copy of the License at
14 ~ http://www.apache.org/licenses/LICENSE-2.0
16 ~ Unless required by applicable law or agreed to in writing, software
17 ~ distributed under the License is distributed on an "AS IS" BASIS,
18 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 ~ See the License for the specific language governing permissions and
20 ~ limitations under the License.
21 ~ ============LICENSE_END=========================================================
24 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25 xmlns="http://maven.apache.org/POM/4.0.0"
26 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
28 <modelVersion>4.0.0</modelVersion>
31 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
32 <artifactId>tca-gen2-parent</artifactId>
33 <version>${revision}</version>
36 <artifactId>eelf-logger</artifactId>
37 <name>EELF Logger Parent</name>
38 <packaging>pom</packaging>
41 <module>eelf-logger-api</module>
42 <module>eelf-logger-model</module>
43 <module>eelf-logger-logback-impl</module>
47 <!-- PROJECT SETTINGS-->
48 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
49 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
50 <main.basedir>${project.basedir}</main.basedir>
53 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
55 <!-- PROJECT DEPENDENCIES -->
56 <slf4j.version>1.7.5</slf4j.version>
57 <logback.version>1.2.3</logback.version>
58 <lombok.version>1.18.12</lombok.version>
60 <!--TESTING DEPENDENCIES -->
61 <junit.version>4.12</junit.version>
62 <mockito.version>2.22.0</mockito.version>
63 <assertj-core.version>2.6.0</assertj-core.version>
66 <!-- PLUGINS VERSIONS -->
67 <compiler.plugin.version>3.8.0</compiler.plugin.version>
68 <surefire.plugin.version>2.19.1</surefire.plugin.version>
69 <failsafe.plugin.version>2.19.1</failsafe.plugin.version>
71 <pmd.plugin.version>3.11.0</pmd.plugin.version>
72 <javadoc.plugin.version>3.0.0</javadoc.plugin.version>
73 <source.plugin.version>3.2.1</source.plugin.version>
74 <jar.plugin.version>2.4</jar.plugin.version>
75 <deploy.plugin.version>2.8</deploy.plugin.version>
76 <lombok.plugin.version>1.18.0.0</lombok.plugin.version>
77 <maven.site.plugin>3.5.1</maven.site.plugin>
79 <!--PLUGIN SETTINGS -->
80 <compiler.source.version>11</compiler.source.version>
81 <compiler.target.version>11</compiler.target.version>
82 <unit.test.pattern>**/*Test.java</unit.test.pattern>
83 <skip.unit.tests>false</skip.unit.tests>
84 <integration.test.pattern>**/*IT.java</integration.test.pattern>
85 <skip.integration.tests>true</skip.integration.tests>
86 <pmd.violation.buildfail>true</pmd.violation.buildfail>
87 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
92 <dependencyManagement>
98 <groupId>org.slf4j</groupId>
99 <artifactId>slf4j-api</artifactId>
100 <version>${slf4j.version}</version>
104 <groupId>ch.qos.logback</groupId>
105 <artifactId>logback-classic</artifactId>
106 <version>${logback.version}</version>
109 <!-- CODE GENERATION -->
111 <groupId>org.projectlombok</groupId>
112 <artifactId>lombok</artifactId>
113 <version>${lombok.version}</version>
114 <scope>provided</scope>
118 <!-- TEST DEPENDENCIES -->
120 <groupId>junit</groupId>
121 <artifactId>junit</artifactId>
122 <version>${junit.version}</version>
127 <groupId>org.mockito</groupId>
128 <artifactId>mockito-core</artifactId>
129 <version>${mockito.version}</version>
134 <groupId>org.assertj</groupId>
135 <artifactId>assertj-core</artifactId>
136 <version>${assertj-core.version}</version>
142 </dependencyManagement>
145 <!-- COMMON DEPENDENCIES FOR ALL SUB-PROJECTS -->
147 <!-- TEST DEPENDENCIES -->
149 <groupId>junit</groupId>
150 <artifactId>junit</artifactId>
153 <groupId>org.mockito</groupId>
154 <artifactId>mockito-core</artifactId>
157 <groupId>org.assertj</groupId>
158 <artifactId>assertj-core</artifactId>
168 <!-- COMPILER PLUGIN -->
170 <groupId>org.apache.maven.plugins</groupId>
171 <artifactId>maven-compiler-plugin</artifactId>
172 <version>${compiler.plugin.version}</version>
174 <source>${compiler.target.version}</source>
175 <target>${compiler.source.version}</target>
179 <!-- MAVEN SOURCE PLUGIN -->
181 <groupId>org.apache.maven.plugins</groupId>
182 <artifactId>maven-source-plugin</artifactId>
183 <version>${source.plugin.version}</version>
185 <excludeResources>true</excludeResources>
189 <id>attach-sources</id>
190 <phase>verify</phase>
192 <goal>jar-no-fork</goal>
199 <!-- MAVEN JAVADOC PLUGIN -->
201 <groupId>org.apache.maven.plugins</groupId>
202 <artifactId>maven-javadoc-plugin</artifactId>
203 <version>${javadoc.plugin.version}</version>
205 <!-- minimize console output messages -->
207 <verbose>false</verbose>
208 <useStandardDocletOptions>false</useStandardDocletOptions>
215 <goal>aggregate</goal>
219 <id>attach-javadoc</id>
228 <!-- SUREFIRE TEST PLUGIN -->
230 <groupId>org.apache.maven.plugins</groupId>
231 <artifactId>maven-surefire-plugin</artifactId>
232 <version>${surefire.plugin.version}</version>
234 <skipTests>${skip.unit.tests}</skipTests>
235 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
236 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
238 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
239 <parallel>methods</parallel>
240 <threadCount>8</threadCount>
241 <forkCount>8</forkCount>
242 <reuseForks>true</reuseForks>
243 <reportFormat>xml</reportFormat>
244 <trimStackTrace>false</trimStackTrace>
245 <systemPropertyVariables>
246 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
247 <logback.configurationFile>
248 ${basedir}/src/test/resources/logback-test.xml
249 </logback.configurationFile>
250 </systemPropertyVariables>
252 <include>${unit.test.pattern}</include>
255 <exclude>${integration.test.pattern}</exclude>
257 <!-- Sets the VM argument line used when unit tests are run. -->
258 <argLine>${surefireArgLine}</argLine>
262 <groupId>org.apache.maven.surefire</groupId>
263 <artifactId>surefire-junit47</artifactId>
264 <version>${surefire.plugin.version}</version>
269 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
271 <groupId>org.apache.maven.plugins</groupId>
272 <artifactId>maven-failsafe-plugin</artifactId>
273 <version>${failsafe.plugin.version}</version>
276 <id>integration-tests</id>
278 <goal>integration-test</goal>
282 <skipTests>${skip.integration.tests}</skipTests>
283 <!-- Sets the VM argument line used when integration tests are run. -->
284 <!--suppress MavenModelInspection -->
285 <argLine>${failsafeArgLine}</argLine>
291 <!-- PMD PLUGIN SETUP -->
293 <groupId>org.apache.maven.plugins</groupId>
294 <artifactId>maven-pmd-plugin</artifactId>
295 <version>${pmd.plugin.version}</version>
297 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
298 <targetJdk>${compiler.target.version}</targetJdk>
299 <linkXRef>false</linkXRef>
300 <!-- BUILD FAIL ON PMD VIOLATION -->
301 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
302 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
303 <minimumTokens>200</minimumTokens>
312 <printFailingErrors>true</printFailingErrors>
313 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
319 <goal>cpd-check</goal>
322 <printFailingErrors>true</printFailingErrors>
323 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
332 <!-- LOMBOK PLUGIN -->
334 <groupId>org.projectlombok</groupId>
335 <artifactId>lombok-maven-plugin</artifactId>
336 <version>${lombok.plugin.version}</version>
340 <phase>generate-sources</phase>
342 <goal>delombok</goal>
345 <addOutputDirectory>false</addOutputDirectory>
346 <sourceDirectory>src/main/java</sourceDirectory>
354 <groupId>org.apache.maven.plugins</groupId>
355 <artifactId>maven-jar-plugin</artifactId>
356 <version>${jar.plugin.version}</version>
360 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
363 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
369 <!-- DEPLOY PLUGIN -->
371 <groupId>org.apache.maven.plugins</groupId>
372 <artifactId>maven-deploy-plugin</artifactId>
373 <version>${deploy.plugin.version}</version>
375 <deployAtEnd>true</deployAtEnd>
386 <groupId>org.apache.maven.plugins</groupId>
387 <artifactId>maven-compiler-plugin</artifactId>
391 <groupId>org.apache.maven.plugins</groupId>
392 <artifactId>maven-jar-plugin</artifactId>
396 <groupId>org.apache.maven.plugins</groupId>
397 <artifactId>maven-surefire-plugin</artifactId>
401 <groupId>org.apache.maven.plugins</groupId>
402 <artifactId>maven-failsafe-plugin</artifactId>
406 <groupId>org.apache.maven.plugins</groupId>
407 <artifactId>maven-deploy-plugin</artifactId>
411 <groupId>org.apache.maven.plugins</groupId>
412 <artifactId>maven-source-plugin</artifactId>
416 <groupId>org.apache.maven.plugins</groupId>
417 <artifactId>maven-javadoc-plugin</artifactId>
421 <groupId>org.apache.maven.plugins</groupId>
422 <artifactId>maven-pmd-plugin</artifactId>
431 <id>disable-java8-doclint</id>
436 <additionalparam>-Xdoclint:none</additionalparam>