Update ddl file
[WebAppTest/.git] / pom.xml
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>
10     <organization>
11         <name>Gustavo Martin Morcuende</name>
12         <url>https://gumartinm.name/</url>
13     </organization>
14     <scm>
15         <developerConnection>scm:git:https://git.gumartinm.name/Prueba</developerConnection>
16         <url>https://git.gumartinm.name/Prueba</url>
17     </scm>
18
19     <properties>
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>
24
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>
28
29         <skip.unit.tests>false</skip.unit.tests>
30         <skip.integration.tests>true</skip.integration.tests>
31     </properties>
32
33     <profiles>
34         <profile>
35             <id>development</id>
36             <properties>
37                 <environment.profile>development</environment.profile>
38                 <environment.name>Desarrollo local</environment.name>
39             </properties>
40             <activation>
41                 <activeByDefault>true</activeByDefault>
42             </activation>
43         </profile>
44         <profile>
45             <id>integration</id>
46             <properties>
47                 <environment.profile>integration</environment.profile>
48                 <environment.name>Integration</environment.name>
49                 <skip.integration.tests>false</skip.integration.tests>
50             </properties>
51         </profile>
52         <profile>
53             <id>production</id>
54             <properties>
55                 <environment.profile>production</environment.profile>
56                 <environment.name>Production</environment.name>
57                 <skip.integration.tests>false</skip.integration.tests>
58             </properties>
59         </profile>
60     </profiles>
61
62     <dependencies>
63         <!--
64             1/3 Required dependency for log4j 2 with slf4j: binding between log4j 
65             2 and slf4j
66         -->
67         <dependency>
68             <groupId>org.apache.logging.log4j</groupId>
69             <artifactId>log4j-slf4j-impl</artifactId>
70             <version>2.6.1</version>
71         </dependency>
72         <!--
73             2/3 Required dependency for log4j 2 with slf4j: log4j 2 maven plugin 
74             (it is the log4j 2 implementation)
75         -->
76         <dependency>
77             <groupId>org.apache.logging.log4j</groupId>
78             <artifactId>log4j-core</artifactId>
79             <version>2.6.1</version>
80         </dependency>
81         <!--
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) 
87         -->
88         <dependency>
89             <groupId>org.slf4j</groupId>
90             <artifactId>jcl-over-slf4j</artifactId>
91             <version>1.7.21</version>
92         </dependency>
93
94
95         <!--
96             Jackson JSON Processor, required by spring-webmvc. See messageConverters
97             in rest-config.xml
98         -->
99         <dependency>
100             <groupId>com.fasterxml.jackson.core</groupId>
101             <artifactId>jackson-databind</artifactId>
102             <version>2.8.3</version>
103         </dependency>
104
105         <!-- Loading data base in run time -->
106         <dependency>
107             <groupId>org.liquibase</groupId>
108             <artifactId>liquibase-core</artifactId>
109             <version>3.5.2</version>
110         </dependency>
111         <dependency>
112             <groupId>com.h2database</groupId>
113             <artifactId>h2</artifactId>
114             <version>1.4.192</version>
115         </dependency>
116         
117         <!-- Database pool -->
118         <dependency>
119             <groupId>com.mchange</groupId>
120             <artifactId>c3p0</artifactId>
121             <version>0.9.5.2</version>
122         </dependency>
123
124         <!-- Unitary and integration tests -->
125         <dependency>
126             <groupId>junit</groupId>
127             <artifactId>junit</artifactId>
128             <version>4.12</version>
129             <scope>test</scope>
130         </dependency>
131         <dependency>
132             <groupId>org.mockito</groupId>
133             <artifactId>mockito-core</artifactId>
134             <version>2.0.43-beta</version>
135             <scope>test</scope>
136         </dependency>
137     </dependencies>
138
139     <build>
140         <plugins>
141             <plugin>
142                 <groupId>org.apache.maven.plugins</groupId>
143                 <artifactId>maven-compiler-plugin</artifactId>
144                 <version>3.5.1</version>
145                 <configuration>
146                     <source>1.8</source>
147                     <target>1.8</target>
148                     <encoding>${project.build.sourceEncoding}</encoding>
149                 </configuration>
150             </plugin>
151             <plugin>
152                 <groupId>org.apache.maven.plugins</groupId>
153                 <artifactId>maven-resources-plugin</artifactId>
154                 <version>3.0.1</version>
155                 <configuration>
156                     <encoding>${project.build.sourceEncoding}</encoding>
157                 </configuration>
158             </plugin>
159
160             <plugin>
161                 <groupId>org.jacoco</groupId>
162                 <artifactId>jacoco-maven-plugin</artifactId>
163                 <version>0.7.7.201606060606</version>
164                 <executions>
165                     <!-- Prepares the property pointing to the JaCoCo runtime agent which 
166                         is passed as VM argument when Maven the Surefire plugin is executed. -->
167                     <execution>
168                         <id>pre-unit-test</id>
169                         <goals>
170                             <goal>prepare-agent</goal>
171                         </goals>
172                         <configuration>
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 
176                                 runtime agent. -->
177                             <propertyName>surefireArgLine</propertyName>
178                         </configuration>
179                     </execution>
180                     <!-- Ensures that the code coverage report for unit tests is created 
181                         after unit tests have been run. -->
182                     <execution>
183                         <id>post-unit-test</id>
184                         <phase>test</phase>
185                         <goals>
186                             <goal>report</goal>
187                         </goals>
188                         <configuration>
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>
193                         </configuration>
194                     </execution>
195                     <!-- Prepares the property pointing to the JaCoCo runtime agent which 
196                         is passed as VM argument when Maven the Failsafe plugin is executed. -->
197                     <execution>
198                         <id>pre-integration-test</id>
199                         <phase>pre-integration-test</phase>
200                         <goals>
201                             <goal>prepare-agent</goal>
202                         </goals>
203                         <configuration>
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 
207                                 runtime agent. -->
208                             <propertyName>failsafeArgLine</propertyName>
209                         </configuration>
210                     </execution>
211                     <!-- Ensures that the code coverage report for integration tests after 
212                         integration tests have been run. -->
213                     <execution>
214                         <id>post-integration-test</id>
215                         <phase>post-integration-test</phase>
216                         <goals>
217                             <goal>report</goal>
218                         </goals>
219                         <configuration>
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>
224                         </configuration>
225                     </execution>
226                 </executions>
227             </plugin>
228             <plugin>
229                 <groupId>org.eclipse.m2e</groupId>
230                 <artifactId>lifecycle-mapping</artifactId>
231                 <version>1.0.0</version>
232                 <configuration>
233                     <lifecycleMappingMetadata>
234                         <pluginExecutions>
235                             <pluginExecution>
236                                 <pluginExecutionFilter>
237                                     <groupId>org.jacoco</groupId>
238                                     <artifactId>jacoco-maven-plugin</artifactId>
239                                     <versionRange>[0.5,)
240                                     </versionRange>
241                                     <goals>
242                                         <goal>prepare-agent</goal>
243                                     </goals>
244                                 </pluginExecutionFilter>
245                                 <action>
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 -->
248                                     <ignore />
249                                 </action>
250                             </pluginExecution>
251                         </pluginExecutions>
252                     </lifecycleMappingMetadata>
253                 </configuration>
254             </plugin>
255
256             <!-- Used for unit tests -->
257             <plugin>
258                 <groupId>org.apache.maven.plugins</groupId>
259                 <artifactId>maven-surefire-plugin</artifactId>
260                 <version>2.19.1</version>
261                 <dependencies>
262                     <dependency>
263                         <groupId>org.apache.maven.surefire</groupId>
264                         <artifactId>surefire-junit47</artifactId>
265                         <version>2.19.1</version>
266                     </dependency>
267                 </dependencies>
268                 <configuration>
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. -->
275                     <excludes>
276                         <exclude>**/*IT.java</exclude>
277                         <exclude>**/*IntegrationTest.java</exclude>
278                     </excludes>
279                 </configuration>
280             </plugin>
281             <!-- Used for integration tests -->
282             <plugin>
283                 <groupId>org.apache.maven.plugins</groupId>
284                 <artifactId>maven-failsafe-plugin</artifactId>
285                 <version>2.19.1</version>
286                 <executions>
287                     <execution>
288                         <goals>
289                             <goal>integration-test</goal>
290                             <goal>verify</goal>
291                         </goals>
292                         <configuration>
293                             <!-- Sets the VM argument line used when integration tests are run. -->
294                             <argLine>${failsafeArgLine}</argLine>
295
296                             <!-- Skips integration tests if the value of skip.integration.tests 
297                                 property is true -->
298                             <skipTests>${skip.integration.tests}</skipTests>
299                             <includes>
300                                 <include>**/*IT.java</include>
301                                 <include>**/*IntegrationTest.java</include>
302                             </includes>
303                         </configuration>
304                     </execution>
305                 </executions>
306             </plugin>
307         </plugins>
308
309     </build>
310
311 </project>