1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3 <modelVersion>4.0.0</modelVersion>
4 <groupId>com.prueba</groupId>
5 <artifactId>http-services</artifactId>
6 <version>1.0-SNAPSHOT</version>
7 <name>HTTP SERVICES</name>
8 <url>https://gumartinm.name/</url>
9 <description>HTTP SERVICES</description>
11 <name>Gustavo Martin Morcuende</name>
12 <url>https://gumartinm.name/</url>
15 <developerConnection>scm:git:https://git.gumartinm.name/Prueba</developerConnection>
16 <url>https://git.gumartinm.name/Prueba</url>
20 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
22 <maven.javadoc.version>2.10.4</maven.javadoc.version>
23 <maven.source.version>3.0.1</maven.source.version>
25 <!-- Be careful these two paths must match the ones configured in SONARQUBE JaCoCo plugin -->
26 <jacoco.it.execution.data.file>${project.basedir}/target/jacoco-it.exec</jacoco.it.execution.data.file>
27 <jacoco.ut.execution.data.file>${project.basedir}/target/jacoco.exec</jacoco.ut.execution.data.file>
29 <skip.unit.tests>false</skip.unit.tests>
30 <skip.integration.tests>true</skip.integration.tests>
37 <environment.profile>development</environment.profile>
38 <environment.name>Desarrollo local</environment.name>
41 <activeByDefault>true</activeByDefault>
47 <environment.profile>integration</environment.profile>
48 <environment.name>Integration</environment.name>
49 <skip.integration.tests>false</skip.integration.tests>
55 <environment.profile>production</environment.profile>
56 <environment.name>Production</environment.name>
57 <skip.integration.tests>false</skip.integration.tests>
64 1/3 Required dependency for log4j 2 with slf4j: binding between log4j
68 <groupId>org.apache.logging.log4j</groupId>
69 <artifactId>log4j-slf4j-impl</artifactId>
70 <version>2.6.1</version>
73 2/3 Required dependency for log4j 2 with slf4j: log4j 2 maven plugin
74 (it is the log4j 2 implementation)
77 <groupId>org.apache.logging.log4j</groupId>
78 <artifactId>log4j-core</artifactId>
79 <version>2.6.1</version>
82 3/3 Required dependency for getting rid of commons logging. This is
83 the BRIDGE (no binding) between Jakarta Commons Logging (used by Spring)
84 and whatever I am using for logging (in this case I am using log4j 2) See:
85 http://www.slf4j.org/legacy.html We need exclusions in every dependency using
86 Jakarta Commons Logging (see Spring dependencies below)
89 <groupId>org.slf4j</groupId>
90 <artifactId>jcl-over-slf4j</artifactId>
91 <version>1.7.21</version>
96 Jackson JSON Processor, required by spring-webmvc. See messageConverters
100 <groupId>com.fasterxml.jackson.core</groupId>
101 <artifactId>jackson-databind</artifactId>
102 <version>2.8.3</version>
105 <!-- Loading data base in run time -->
107 <groupId>org.liquibase</groupId>
108 <artifactId>liquibase-core</artifactId>
109 <version>3.5.2</version>
112 <groupId>com.h2database</groupId>
113 <artifactId>h2</artifactId>
114 <version>1.4.192</version>
117 <!-- Database pool -->
119 <groupId>com.mchange</groupId>
120 <artifactId>c3p0</artifactId>
121 <version>0.9.5.2</version>
124 <!-- Unitary and integration tests -->
126 <groupId>junit</groupId>
127 <artifactId>junit</artifactId>
128 <version>4.12</version>
132 <groupId>org.mockito</groupId>
133 <artifactId>mockito-core</artifactId>
134 <version>2.0.43-beta</version>
142 <groupId>org.apache.maven.plugins</groupId>
143 <artifactId>maven-compiler-plugin</artifactId>
144 <version>3.5.1</version>
148 <encoding>${project.build.sourceEncoding}</encoding>
152 <groupId>org.apache.maven.plugins</groupId>
153 <artifactId>maven-resources-plugin</artifactId>
154 <version>3.0.1</version>
156 <encoding>${project.build.sourceEncoding}</encoding>
161 <groupId>org.jacoco</groupId>
162 <artifactId>jacoco-maven-plugin</artifactId>
163 <version>0.7.7.201606060606</version>
165 <!-- Prepares the property pointing to the JaCoCo runtime agent which
166 is passed as VM argument when Maven the Surefire plugin is executed. -->
168 <id>pre-unit-test</id>
170 <goal>prepare-agent</goal>
173 <!-- Sets the path to the file which contains the execution data. -->
174 <destFile>${jacoco.ut.execution.data.file}</destFile>
175 <!-- Sets the name of the property containing the settings for JaCoCo
177 <propertyName>surefireArgLine</propertyName>
180 <!-- Ensures that the code coverage report for unit tests is created
181 after unit tests have been run. -->
183 <id>post-unit-test</id>
189 <!-- Sets the path to the file which contains the execution data. -->
190 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
191 <!-- Sets the output directory for the code coverage report. -->
192 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
195 <!-- Prepares the property pointing to the JaCoCo runtime agent which
196 is passed as VM argument when Maven the Failsafe plugin is executed. -->
198 <id>pre-integration-test</id>
199 <phase>pre-integration-test</phase>
201 <goal>prepare-agent</goal>
204 <!-- Sets the path to the file which contains the execution data. -->
205 <destFile>${jacoco.it.execution.data.file}</destFile>
206 <!-- Sets the name of the property containing the settings for JaCoCo
208 <propertyName>failsafeArgLine</propertyName>
211 <!-- Ensures that the code coverage report for integration tests after
212 integration tests have been run. -->
214 <id>post-integration-test</id>
215 <phase>post-integration-test</phase>
220 <!-- Sets the path to the file which contains the execution data. -->
221 <dataFile>${jacoco.it.execution.data.file}</dataFile>
222 <!-- Sets the output directory for the code coverage report. -->
223 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
229 <groupId>org.eclipse.m2e</groupId>
230 <artifactId>lifecycle-mapping</artifactId>
231 <version>1.0.0</version>
233 <lifecycleMappingMetadata>
236 <pluginExecutionFilter>
237 <groupId>org.jacoco</groupId>
238 <artifactId>jacoco-maven-plugin</artifactId>
242 <goal>prepare-agent</goal>
244 </pluginExecutionFilter>
246 <!-- m2e doesn't know what to do with jacoco, let's ignore it or
247 annoying error markers appear see http://wiki.eclipse.org/M2E_plugin_execution_not_covered -->
252 </lifecycleMappingMetadata>
256 <!-- Used for unit tests -->
258 <groupId>org.apache.maven.plugins</groupId>
259 <artifactId>maven-surefire-plugin</artifactId>
260 <version>2.19.1</version>
263 <groupId>org.apache.maven.surefire</groupId>
264 <artifactId>surefire-junit47</artifactId>
265 <version>2.19.1</version>
269 <!-- Sets the VM argument line used when unit tests are run. -->
270 <argLine>-Dfile.encoding=${project.build.sourceEncoding}
271 ${surefireArgLine}</argLine>
272 <!-- Skips unit tests if the value of skip.unit.tests property is true -->
273 <skipTests>${skip.unit.tests}</skipTests>
274 <!-- Excludes integration tests when unit tests are run. -->
276 <exclude>**/*IT.java</exclude>
277 <exclude>**/*IntegrationTest.java</exclude>
281 <!-- Used for integration tests -->
283 <groupId>org.apache.maven.plugins</groupId>
284 <artifactId>maven-failsafe-plugin</artifactId>
285 <version>2.19.1</version>
289 <goal>integration-test</goal>
293 <!-- Sets the VM argument line used when integration tests are run. -->
294 <argLine>${failsafeArgLine}</argLine>
296 <!-- Skips integration tests if the value of skip.integration.tests
298 <skipTests>${skip.integration.tests}</skipTests>
300 <include>**/*IT.java</include>
301 <include>**/*IntegrationTest.java</include>