Advertisement
Guest User

Untitled

a guest
Sep 24th, 2019
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 36.40 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.  
  6.     <modelVersion>4.0.0</modelVersion>
  7.  
  8.     <!-- ********************************************** -->
  9.     <!-- ***************** PARENT POM ***************** -->
  10.     <!-- ********************************************** -->
  11.  
  12.     <parent>
  13.         <groupId>com.bernardomg.maven</groupId>
  14.         <artifactId>base-pom</artifactId>
  15.         <version>1.2.2</version>
  16.     </parent>
  17.  
  18.     <!-- ********************************************** -->
  19.     <!-- **************** PROJECT INFO **************** -->
  20.     <!-- ********************************************** -->
  21.  
  22.     <groupId>es.udc.fi.dc.fd</groupId>
  23.     <artifactId>friendmatch</artifactId>
  24.     <version>0.1-SNAPSHOT</version>
  25.     <packaging>war</packaging>
  26.  
  27.     <name>FD Spring MVC Friend Match App</name>
  28.     <description>Test project for FD 2019</description>
  29.     <url>https://github.com/root/friendmatch</url>
  30.     <inceptionYear>2019</inceptionYear>
  31.  
  32.     <licenses>
  33.         <license>
  34.             <name>MIT License</name>
  35.             <url>http://www.opensource.org/licenses/mit-license.php</url>
  36.             <distribution>repo</distribution>
  37.         </license>
  38.     </licenses>
  39.  
  40.     <!-- ********************************************** -->
  41.     <!-- ************ RESOURCES AND SERVICES ********** -->
  42.     <!-- ********************************************** -->
  43.  
  44.     <scm>
  45.         <connection>scm:git:https://github.com/root/friendmatch.git</connection>
  46.         <developerConnection>scm:git:https://github.com/root/friendmatch.git</developerConnection>
  47.         <tag>head</tag>
  48.         <url>https://www.github.com/root/friendmatch</url>
  49.     </scm>
  50.  
  51.     <issueManagement>
  52.         <system>GitHub</system>
  53.         <url>https://www.github.com/root/friendmatch/issues</url>
  54.     </issueManagement>
  55.  
  56.     <ciManagement>
  57.         <system>Travis CI</system>
  58.         <url>https://travis-ci.org/root/friendmatch</url>
  59.         <notifiers />
  60.     </ciManagement>
  61.  
  62.     <distributionManagement>
  63.         <repository>
  64.             <uniqueVersion>false</uniqueVersion>
  65.             <id>releases</id>
  66.             <name>Releases Repository</name>
  67.             <url>https://api.bintray.com/maven/root/maven/friendmatch</url>
  68.         </repository>
  69.         <snapshotRepository>
  70.             <uniqueVersion>false</uniqueVersion>
  71.             <id>snapshots</id>
  72.             <name>Snapshots Repository</name>
  73.             <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
  74.         </snapshotRepository>
  75.     </distributionManagement>
  76.  
  77.     <!-- ********************************************** -->
  78.     <!-- ****************** PROFILES ****************** -->
  79.     <!-- ********************************************** -->
  80.  
  81.     <profiles>
  82.         <profile>
  83.             <!-- Profile for the Eclipse Maven plugin -->
  84.             <!-- Sets the POM so this plugin does not give the usual unregistered
  85.                 goals errors -->
  86.             <!-- It will be activated automatically on Eclipse if this has the m2e
  87.                 plugin, by detecting the version property -->
  88.             <id>eclipse-maven</id>
  89.             <activation>
  90.                 <property>
  91.                     <name>m2e.version</name>
  92.                 </property>
  93.             </activation>
  94.             <build>
  95.                 <pluginManagement>
  96.                     <plugins>
  97.                         <plugin>
  98.                             <!-- m2e lifecycle mapping -->
  99.                             <!-- This is used to configure the Maven plugin for Eclipse. -->
  100.                             <!-- Among other things, it allows registering goals, which Eclipse
  101.                                 would otherwise reject. -->
  102.                             <!-- It has no real effect on Maven. -->
  103.                             <groupId>org.eclipse.m2e</groupId>
  104.                             <artifactId>lifecycle-mapping</artifactId>
  105.                             <version>${plugin.lifecycle.version}</version>
  106.                             <configuration>
  107.                                 <!-- Sample fix for plugin executions -->
  108.                                 <!-- This is to be used in case a Maven plugins gives problems in
  109.                                     Eclipse -->
  110.                                 <!-- <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution>
  111.                                     <pluginExecutionFilter> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId>
  112.                                     <versionRange>[0.5,)</versionRange> <goals> <goal>prepare-agent</goal> </goals>
  113.                                     </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution>
  114.                                     </pluginExecutions> </lifecycleMappingMetadata> -->
  115.                                 <downloadSources>true</downloadSources>
  116.                                 <downloadJavadocs>true</downloadJavadocs>
  117.                             </configuration>
  118.                         </plugin>
  119.                     </plugins>
  120.                 </pluginManagement>
  121.             </build>
  122.         </profile>
  123.         <!-- ============================================== -->
  124.         <!-- ============= DATABASE PROFILES ============== -->
  125.         <!-- ============================================== -->
  126.         <profile>
  127.             <!-- H2 database profile -->
  128.             <!-- Prepares the project to make use of an H2 in-memory database -->
  129.             <id>h2</id>
  130.             <activation>
  131.                 <!-- Active by default so it can be installed by CI -->
  132.                 <activeByDefault>true</activeByDefault>
  133.             </activation>
  134.             <properties>
  135.                 <!-- Access data -->
  136.                 <!-- Default values for testing and development -->
  137.                 <!-- Override them for production -->
  138.                 <database.url>jdbc:h2:mem:friendmatch</database.url>
  139.                 <database.username>sa</database.username>
  140.                 <database.password></database.password>
  141.                 <!-- Spring context -->
  142.                 <database.tag>h2</database.tag>
  143.             </properties>
  144.             <dependencies>
  145.                 <dependency>
  146.                     <!-- H2 database -->
  147.                     <groupId>com.h2database</groupId>
  148.                     <artifactId>h2</artifactId>
  149.                     <version>${h2.version}</version>
  150.                 </dependency>
  151.             </dependencies>
  152.         </profile>
  153.         <profile>
  154.             <!-- MySQL database profile -->
  155.             <!-- Prepares the project to make use of a MySQL database -->
  156.             <id>mysql</id>
  157.             <properties>
  158.                 <!-- Access data -->
  159.                 <!-- Default values for testing and development -->
  160.                 <!-- Override them for production -->
  161.                 <database.url>jdbc:mysql://localhost:3306/friendmatch</database.url>
  162.                 <database.username>root</database.username>
  163.                 <database.password>root</database.password>
  164.                 <!-- Spring context -->
  165.                 <database.tag>mysql</database.tag>
  166.             </properties>
  167.             <dependencies>
  168.                 <dependency>
  169.                     <!-- MySQL connector -->
  170.                     <groupId>mysql</groupId>
  171.                     <artifactId>mysql-connector-java</artifactId>
  172.                     <version>${mysql.version}</version>
  173.                 </dependency>
  174.             </dependencies>
  175.         </profile>
  176.         <profile>
  177.             <!-- Postgres database profile -->
  178.             <!-- Prepares the project to make use of a Postgres database -->
  179.             <id>postgres</id>
  180.             <properties>
  181.                 <!-- Access data -->
  182.                 <!-- Default values for testing and development -->
  183.                 <!-- Override them for production -->
  184.                 <database.url>jdbc:postgresql://localhost:5432/friendmatch</database.url>
  185.                 <database.username>postgres</database.username>
  186.                 <database.password></database.password>
  187.                 <!-- Spring context -->
  188.                 <database.tag>postgres</database.tag>
  189.             </properties>
  190.             <dependencies>
  191.                 <dependency>
  192.                     <!-- Postgres connector -->
  193.                     <groupId>org.postgresql</groupId>
  194.                     <artifactId>postgresql</artifactId>
  195.                     <version>${postgresql.version}</version>
  196.                 </dependency>
  197.             </dependencies>
  198.         </profile>
  199.         <!-- ============================================== -->
  200.         <!-- ========= EMBEDDED SERVER PROFILES =========== -->
  201.         <!-- ============================================== -->
  202.         <profile>
  203.             <!-- Jetty profile -->
  204.             <!-- Sets ups Jetty for testing and local deployment -->
  205.             <id>jetty</id>
  206.             <build>
  207.                 <plugins>
  208.                     <plugin>
  209.                         <!-- Jetty -->
  210.                         <!-- Jetty will run the web service during the integration tests -->
  211.                         <groupId>org.eclipse.jetty</groupId>
  212.                         <artifactId>jetty-maven-plugin</artifactId>
  213.                         <version>${plugin.jetty.version}</version>
  214.                         <configuration>
  215.                             <stopKey>STOP</stopKey>
  216.                             <stopPort>9999</stopPort>
  217.                             <stopWait>5</stopWait>
  218.                         </configuration>
  219.                         <executions>
  220.                             <execution>
  221.                                 <id>start-jetty-it</id>
  222.                                 <phase>pre-integration-test</phase>
  223.                                 <goals>
  224.                                     <goal>start</goal>
  225.                                 </goals>
  226.                                 <configuration>
  227.                                     <scanIntervalSeconds>0</scanIntervalSeconds>
  228.                                     <daemon>true</daemon>
  229.                                     <useTestScope>true</useTestScope>
  230.                                     <webApp>
  231.                                         <overrideDescriptor>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</overrideDescriptor>
  232.                                     </webApp>
  233.                                 </configuration>
  234.                             </execution>
  235.                             <execution>
  236.                                 <id>stop-jetty-it</id>
  237.                                 <phase>post-integration-test</phase>
  238.                                 <goals>
  239.                                     <goal>stop</goal>
  240.                                 </goals>
  241.                             </execution>
  242.                         </executions>
  243.                     </plugin>
  244.                 </plugins>
  245.             </build>
  246.         </profile>
  247.         <profile>
  248.             <!-- Tomcat 7 profile -->
  249.             <!-- Sets ups Tomcat 7 for testing and local deployment -->
  250.             <id>tomcat7</id>
  251.             <build>
  252.                 <plugins>
  253.                     <plugin>
  254.                         <!-- Tomcat 7 -->
  255.                         <!-- Tomcat 7 will run the web service during the integration tests -->
  256.                         <groupId>org.apache.tomcat.maven</groupId>
  257.                         <artifactId>tomcat7-maven-plugin</artifactId>
  258.                         <version>${plugin.tomcat7.version}</version>
  259.                         <executions>
  260.                             <execution>
  261.                                 <id>start-tomcat-it</id>
  262.                                 <phase>pre-integration-test</phase>
  263.                                 <goals>
  264.                                     <goal>run</goal>
  265.                                 </goals>
  266.                                 <configuration>
  267.                                     <fork>true</fork>
  268.                                     <useTestClasspath>true</useTestClasspath>
  269.                                     <warSourceDirectory>${project.build.directory}/${project.build.finalName}/</warSourceDirectory>
  270.                                 </configuration>
  271.                             </execution>
  272.                             <execution>
  273.                                 <id>stop-tomcat-it</id>
  274.                                 <phase>post-integration-test</phase>
  275.                                 <goals>
  276.                                     <goal>shutdown</goal>
  277.                                 </goals>
  278.                             </execution>
  279.                         </executions>
  280.                     </plugin>
  281.                 </plugins>
  282.             </build>
  283.         </profile>
  284.         <!-- ============================================== -->
  285.         <!-- ============ DEPLOYMENT PROFILES ============= -->
  286.         <!-- ============================================== -->
  287.         <profile>
  288.             <!-- Release site deployment profile -->
  289.             <!-- Sets the site repository to point to the releases repo -->
  290.             <id>deployment-release</id>
  291.             <activation>
  292.                 <!-- Active by default so the repository appears in the reports -->
  293.                 <activeByDefault>true</activeByDefault>
  294.             </activation>
  295.             <distributionManagement>
  296.                 <site>
  297.                     <id>site</id>
  298.                     <name>Project Documentation Site</name>
  299.                     <!-- The URL should be set externally -->
  300.                     <url>${site.release.url}</url>
  301.                 </site>
  302.             </distributionManagement>
  303.         </profile>
  304.         <profile>
  305.             <!-- Development site deployment profile -->
  306.             <!-- Sets the site repository to point to the development repo -->
  307.             <id>deployment-development</id>
  308.             <distributionManagement>
  309.                 <site>
  310.                     <id>site-development</id>
  311.                     <name>Project Development Documentation Site</name>
  312.                     <!-- The URL should be set externally -->
  313.                     <url>${site.develop.url}</url>
  314.                 </site>
  315.             </distributionManagement>
  316.         </profile>
  317.         <profile>
  318.             <!-- Deployment profile -->
  319.             <!-- Sets ups the environment for deployment -->
  320.             <id>deployment</id>
  321.             <properties>
  322.                 <!-- Tests are skipped -->
  323.                 <maven.test.skip>true</maven.test.skip>
  324.             </properties>
  325.         </profile>
  326.     </profiles>
  327.  
  328.     <!-- ********************************************** -->
  329.     <!-- *********** ORGANIZATION AND MEMBERS ********* -->
  330.     <!-- ********************************************** -->
  331.  
  332.     <organization>
  333.         <name>Information Retrieval Lab</name>
  334.         <url>https://gitlab.fic.udc.es/ferramentas.2019/friends</url>
  335.     </organization>
  336.  
  337.     <developers>
  338.         <developer>
  339.             <id>irlab</id>
  340.             <name>Information Retrieval Lab</name>
  341.             <email>irlab@udc.es</email>
  342.             <url>https://gitlab.fic.udc.es/ferramentas.2019/friends</url>
  343.             <organization>Information Retrieval Lab</organization>
  344.             <organizationUrl>https://gitlab.fic.udc.es/ferramentas.2019/friends</organizationUrl>
  345.             <roles>
  346.                 <role>Developer</role>
  347.             </roles>
  348.             <timezone>+1</timezone>
  349.             <properties />
  350.         </developer>
  351.     </developers>
  352.  
  353.     <!-- ********************************************** -->
  354.     <!-- **************** PROPERTIES ****************** -->
  355.     <!-- ********************************************** -->
  356.  
  357.     <properties>
  358.         <!-- ============================================== -->
  359.         <!-- ================ JAVA VERSION ================ -->
  360.         <!-- ============================================== -->
  361.         <java.version>1.8</java.version>
  362.         <!-- ============================================== -->
  363.         <!-- =============== MANIFEST DATA ================ -->
  364.         <!-- ============================================== -->
  365.         <manifest.name>es/udc/fi/dc/fd</manifest.name>
  366.         <!-- ============================================== -->
  367.         <!-- =========== DEPENDENCIES VERSIONS ============ -->
  368.         <!-- ============================================== -->
  369.         <classmate.version>1.3.4</classmate.version>
  370.         <commons.logging.version>1.2</commons.logging.version>
  371.         <glassfish.el>2.2</glassfish.el>
  372.         <guava.version>24.1-jre</guava.version>
  373.         <h2.version>1.4.197</h2.version>
  374.         <hamcrest.version>2.0.0.0</hamcrest.version>
  375.         <hibernate.validator.version>5.4.1.Final</hibernate.validator.version>
  376.         <hibernate.version>5.2.17.Final</hibernate.version>
  377.         <hikari.version>2.7.8</hikari.version>
  378.         <jackson.version>2.9.5</jackson.version>
  379.         <javaee.api.version>2.2</javaee.api.version>
  380.         <jasperreports.version>6.4.1</jasperreports.version>
  381.         <jsonpath.version>2.4.0</jsonpath.version>
  382.         <junit.jupiter.version>5.2.0</junit.jupiter.version>
  383.         <junit.platform.version>1.2.0</junit.platform.version>
  384.         <liquibase.version>3.5.5</liquibase.version>
  385.         <log4j.version>2.9.1</log4j.version>
  386.         <mockito.version>2.18.3</mockito.version>
  387.         <mysql.version>5.1.39</mysql.version>
  388.         <postgresql.version>42.1.4</postgresql.version>
  389.         <servlet.version>4.0.0</servlet.version>
  390.         <slf4j.version>1.8.0-alpha2</slf4j.version>
  391.         <spring.data.version>2.0.7.RELEASE</spring.data.version>
  392.         <spring.version>5.0.6.RELEASE</spring.version>
  393.         <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
  394.         <webjars.bootstrap.version>3.3.7-1</webjars.bootstrap.version>
  395.         <webjars.bootswatch.version>3.3.7</webjars.bootswatch.version>
  396.         <webjars.fontAwesome.version>4.7.0</webjars.fontAwesome.version>
  397.         <webjars.datatables.version>1.10.16</webjars.datatables.version>
  398.         <webjars.html5shiv.version>3.7.3-1</webjars.html5shiv.version>
  399.         <webjars.jquery.version>3.3.1-1</webjars.jquery.version>
  400.         <webjars.locator.version>0.34</webjars.locator.version>
  401.         <plugin.surefire.version>3.0.0-M3</plugin.surefire.version>
  402.         <plugin.jacoco.version>0.8.4</plugin.jacoco.version>
  403.         <!-- ============================================== -->
  404.         <!-- ============== PLUGINS VERSIONS ============== -->
  405.         <!-- ============================================== -->
  406.         <plugin.changes.version>2.12.1</plugin.changes.version>
  407.         <plugin.jetty.version>9.4.8.v20171121</plugin.jetty.version>
  408.         <plugin.jshint.version>1.6.0</plugin.jshint.version>
  409.         <plugin.minify.version>1.7.6</plugin.minify.version>
  410.         <plugin.tomcat7.version>2.2</plugin.tomcat7.version>
  411.         <plugin.war.version>3.2.0</plugin.war.version>
  412.         <!-- ============================================== -->
  413.         <!-- ================= MAVEN SITE ================= -->
  414.         <!-- ============================================== -->
  415.         <site.skin.version>1.3.1</site.skin.version>
  416.     </properties>
  417.  
  418.     <!-- ********************************************** -->
  419.     <!-- *************** DEPENDENCIES ***************** -->
  420.     <!-- ********************************************** -->
  421.  
  422.     <dependencyManagement>
  423.         <dependencies>
  424.             <dependency>
  425.                 <!-- Spring Framework BOM -->
  426.                 <groupId>org.springframework</groupId>
  427.                 <artifactId>spring-framework-bom</artifactId>
  428.                 <version>${spring.version}</version>
  429.                 <type>pom</type>
  430.                 <scope>import</scope>
  431.             </dependency>
  432.             <dependency>
  433.                 <!-- Jackson BOM -->
  434.                 <groupId>com.fasterxml.jackson</groupId>
  435.                 <artifactId>jackson-bom</artifactId>
  436.                 <version>${jackson.version}</version>
  437.                 <type>pom</type>
  438.                 <scope>import</scope>
  439.             </dependency>
  440.         </dependencies>
  441.     </dependencyManagement>
  442.  
  443.     <dependencies>
  444.         <!-- ============================================== -->
  445.         <!-- ================== SPRING ==================== -->
  446.         <!-- ============================================== -->
  447.         <dependency>
  448.             <!-- Spring beans -->
  449.             <groupId>org.springframework</groupId>
  450.             <artifactId>spring-beans</artifactId>
  451.         </dependency>
  452.         <dependency>
  453.             <!-- Spring context -->
  454.             <groupId>org.springframework</groupId>
  455.             <artifactId>spring-context</artifactId>
  456.         </dependency>
  457.         <dependency>
  458.             <!-- Spring context support -->
  459.             <groupId>org.springframework</groupId>
  460.             <artifactId>spring-context-support</artifactId>
  461.         </dependency>
  462.         <dependency>
  463.             <!-- Spring Core -->
  464.             <groupId>org.springframework</groupId>
  465.             <artifactId>spring-core</artifactId>
  466.         </dependency>
  467.         <dependency>
  468.             <!-- Spring Data JPA -->
  469.             <groupId>org.springframework.data</groupId>
  470.             <artifactId>spring-data-jpa</artifactId>
  471.             <version>${spring.data.version}</version>
  472.         </dependency>
  473.         <dependency>
  474.             <!-- Spring JDBC -->
  475.             <groupId>org.springframework</groupId>
  476.             <artifactId>spring-jdbc</artifactId>
  477.         </dependency>
  478.         <dependency>
  479.             <!-- Spring OXM -->
  480.             <groupId>org.springframework</groupId>
  481.             <artifactId>spring-oxm</artifactId>
  482.         </dependency>
  483.         <dependency>
  484.             <!-- Spring transactions -->
  485.             <groupId>org.springframework</groupId>
  486.             <artifactId>spring-tx</artifactId>
  487.         </dependency>
  488.         <dependency>
  489.             <!-- Spring Web MVC -->
  490.             <groupId>org.springframework</groupId>
  491.             <artifactId>spring-webmvc</artifactId>
  492.         </dependency>
  493.         <dependency>
  494.             <!-- Spring ORM -->
  495.             <groupId>org.springframework</groupId>
  496.             <artifactId>spring-orm</artifactId>
  497.         </dependency>
  498.         <dependency>
  499.             <groupId>org.springframework.boot</groupId>
  500.             <artifactId>spring-boot-starter-security</artifactId>
  501.             <version>1.4.1.RELEASE</version>
  502.         </dependency>
  503.         <dependency>
  504.             <groupId>io.jsonwebtoken</groupId>
  505.             <artifactId>jjwt</artifactId>
  506.             <version>0.9.0</version>
  507.         </dependency>
  508.         <!-- ============================================== -->
  509.         <!-- ============== JPA DEPENDENCIES ============== -->
  510.         <!-- ============================================== -->
  511.         <dependency>
  512.             <!-- JPA API -->
  513.             <groupId>javax.persistence</groupId>
  514.             <artifactId>javax.persistence-api</artifactId>
  515.             <version>${javaee.api.version}</version>
  516.         </dependency>
  517.         <!-- ============================================== -->
  518.         <!-- ================ HIBERNATE =================== -->
  519.         <!-- ============================================== -->
  520.         <dependency>
  521.             <!-- Hibernate Core -->
  522.             <groupId>org.hibernate</groupId>
  523.             <artifactId>hibernate-core</artifactId>
  524.             <version>${hibernate.version}</version>
  525.         </dependency>
  526.         <dependency>
  527.             <!-- Hibernate Ehcache -->
  528.             <groupId>org.hibernate</groupId>
  529.             <artifactId>hibernate-ehcache</artifactId>
  530.             <version>${hibernate.version}</version>
  531.         </dependency>
  532.         <dependency>
  533.             <!-- Hibernate validator -->
  534.             <groupId>org.hibernate</groupId>
  535.             <artifactId>hibernate-validator</artifactId>
  536.             <version>${hibernate.validator.version}</version>
  537.         </dependency>
  538.         <dependency>
  539.             <!-- Hikari CP -->
  540.             <groupId>com.zaxxer</groupId>
  541.             <artifactId>HikariCP</artifactId>
  542.             <version>${hikari.version}</version>
  543.         </dependency>
  544.         <!-- ============================================== -->
  545.         <!-- ================ LIQUIBASE =================== -->
  546.         <!-- ============================================== -->
  547.         <dependency>
  548.             <!-- Liquibase -->
  549.             <groupId>org.liquibase</groupId>
  550.             <artifactId>liquibase-core</artifactId>
  551.             <version>${liquibase.version}</version>
  552.         </dependency>
  553.         <!-- ============================================== -->
  554.         <!-- ================ THYMELEAF =================== -->
  555.         <!-- ============================================== -->
  556.         <dependency>
  557.             <!-- Thymeleaf -->
  558.             <groupId>org.thymeleaf</groupId>
  559.             <artifactId>thymeleaf</artifactId>
  560.             <version>${thymeleaf.version}</version>
  561.         </dependency>
  562.         <dependency>
  563.             <!-- Thymeleaf for Spring 5 -->
  564.             <groupId>org.thymeleaf</groupId>
  565.             <artifactId>thymeleaf-spring5</artifactId>
  566.             <version>${thymeleaf.version}</version>
  567.         </dependency>
  568.         <!-- ============================================== -->
  569.         <!-- ============== JASPERREPORTS ================= -->
  570.         <!-- ============================================== -->
  571.         <dependency>
  572.             <!-- Jasper Reports -->
  573.             <groupId>net.sf.jasperreports</groupId>
  574.             <artifactId>jasperreports</artifactId>
  575.             <version>${jasperreports.version}</version>
  576.         </dependency>
  577.         <!-- ============================================== -->
  578.         <!-- ================ SERVLET ===================== -->
  579.         <!-- ============================================== -->
  580.         <dependency>
  581.             <!-- Servlet API -->
  582.             <groupId>javax.servlet</groupId>
  583.             <artifactId>javax.servlet-api</artifactId>
  584.             <version>${servlet.version}</version>
  585.             <scope>provided</scope>
  586.         </dependency>
  587.         <!-- ============================================== -->
  588.         <!-- ================ WEBJARS ===================== -->
  589.         <!-- ============================================== -->
  590.         <dependency>
  591.             <!-- Bootstrap -->
  592.             <groupId>org.webjars</groupId>
  593.             <artifactId>bootstrap</artifactId>
  594.             <version>${webjars.bootstrap.version}</version>
  595.         </dependency>
  596.         <dependency>
  597.             <!-- Bootswatch Readable -->
  598.             <groupId>org.webjars</groupId>
  599.             <artifactId>bootswatch-readable</artifactId>
  600.             <version>${webjars.bootswatch.version}</version>
  601.         </dependency>
  602.         <dependency>
  603.             <!-- Datatables -->
  604.             <groupId>org.webjars</groupId>
  605.             <artifactId>datatables</artifactId>
  606.             <version>${webjars.datatables.version}</version>
  607.         </dependency>
  608.         <dependency>
  609.             <!-- Font Awesome -->
  610.             <groupId>org.webjars</groupId>
  611.             <artifactId>font-awesome</artifactId>
  612.             <version>${webjars.fontAwesome.version}</version>
  613.         </dependency>
  614.         <dependency>
  615.             <!-- HTML5 Shiv -->
  616.             <groupId>org.webjars</groupId>
  617.             <artifactId>html5shiv</artifactId>
  618.             <version>${webjars.html5shiv.version}</version>
  619.         </dependency>
  620.         <dependency>
  621.             <!-- JQuery -->
  622.             <groupId>org.webjars</groupId>
  623.             <artifactId>jquery</artifactId>
  624.             <version>${webjars.jquery.version}</version>
  625.         </dependency>
  626.         <dependency>
  627.             <!-- Webjars Locator -->
  628.             <groupId>org.webjars</groupId>
  629.             <artifactId>webjars-locator</artifactId>
  630.             <version>${webjars.locator.version}</version>
  631.         </dependency>
  632.         <!-- ============================================== -->
  633.         <!-- ================== LOGGING =================== -->
  634.         <!-- ============================================== -->
  635.         <dependency>
  636.             <!-- Log4j core -->
  637.             <groupId>org.apache.logging.log4j</groupId>
  638.             <artifactId>log4j-core</artifactId>
  639.             <version>${log4j.version}</version>
  640.         </dependency>
  641.         <dependency>
  642.             <!-- Log4j Commons Logging Bridge -->
  643.             <groupId>org.apache.logging.log4j</groupId>
  644.             <artifactId>log4j-jcl</artifactId>
  645.             <version>${log4j.version}</version>
  646.         </dependency>
  647.         <dependency>
  648.             <!-- Log4j SLF4J Bridge -->
  649.             <groupId>org.apache.logging.log4j</groupId>
  650.             <artifactId>log4j-slf4j-impl</artifactId>
  651.             <version>${log4j.version}</version>
  652.         </dependency>
  653.         <dependency>
  654.             <!-- Log4j Web -->
  655.             <groupId>org.apache.logging.log4j</groupId>
  656.             <artifactId>log4j-web</artifactId>
  657.             <version>${log4j.version}</version>
  658.         </dependency>
  659.         <dependency>
  660.             <!-- SL4J API -->
  661.             <groupId>org.slf4j</groupId>
  662.             <artifactId>slf4j-api</artifactId>
  663.             <version>${slf4j.version}</version>
  664.         </dependency>
  665.         <!-- ============================================== -->
  666.         <!-- ================= JACKSON ==================== -->
  667.         <!-- ============================================== -->
  668.         <dependency>
  669.             <!-- Jackson -->
  670.             <groupId>com.fasterxml.jackson.core</groupId>
  671.             <artifactId>jackson-core</artifactId>
  672.         </dependency>
  673.         <dependency>
  674.             <!-- Jackson databinding -->
  675.             <groupId>com.fasterxml.jackson.core</groupId>
  676.             <artifactId>jackson-databind</artifactId>
  677.         </dependency>
  678.         <dependency>
  679.             <!-- Jackson annotations -->
  680.             <groupId>com.fasterxml.jackson.core</groupId>
  681.             <artifactId>jackson-annotations</artifactId>
  682.         </dependency>
  683.         <!-- ============================================== -->
  684.         <!-- ============ OTHER DEPENDENCIES ============== -->
  685.         <!-- ============================================== -->
  686.         <dependency>
  687.             <!-- Guava -->
  688.             <groupId>com.google.guava</groupId>
  689.             <artifactId>guava</artifactId>
  690.             <version>${guava.version}</version>
  691.         </dependency>
  692.         <dependency>
  693.             <!-- Javax EL implementation -->
  694.             <groupId>org.glassfish.web</groupId>
  695.             <artifactId>el-impl</artifactId>
  696.             <version>${glassfish.el}</version>
  697.             <scope>provided</scope>
  698.         </dependency>
  699.         <!-- ============================================== -->
  700.         <!-- =========== VERSION ENFORCEMENT ============== -->
  701.         <!-- ============================================== -->
  702.         <dependency>
  703.             <!-- FasterXML ClassMate -->
  704.             <groupId>com.fasterxml</groupId>
  705.             <artifactId>classmate</artifactId>
  706.             <version>${classmate.version}</version>
  707.         </dependency>
  708.         <dependency>
  709.             <!-- Commons Logging -->
  710.             <groupId>commons-logging</groupId>
  711.             <artifactId>commons-logging</artifactId>
  712.             <version>${commons.logging.version}</version>
  713.         </dependency>
  714.         <!-- ============================================== -->
  715.         <!-- ======= TEST ENVIRONMENT DEPENDENCIES ======== -->
  716.         <!-- ============================================== -->
  717.         <dependency>
  718.             <!-- Hamcrest -->
  719.             <groupId>org.hamcrest</groupId>
  720.             <artifactId>java-hamcrest</artifactId>
  721.             <version>${hamcrest.version}</version>
  722.             <scope>test</scope>
  723.         </dependency>
  724.         <dependency>
  725.             <!-- JSON Path -->
  726.             <groupId>com.jayway.jsonpath</groupId>
  727.             <artifactId>json-path</artifactId>
  728.             <version>${jsonpath.version}</version>
  729.             <scope>test</scope>
  730.         </dependency>
  731.         <dependency>
  732.             <!-- JUnit Jupiter Engine -->
  733.             <groupId>org.junit.jupiter</groupId>
  734.             <artifactId>junit-jupiter-engine</artifactId>
  735.             <version>${junit.jupiter.version}</version>
  736.             <scope>test</scope>
  737.         </dependency>
  738.         <dependency>
  739.             <!-- JUnit Jupiter Platform -->
  740.             <groupId>org.junit.platform</groupId>
  741.             <artifactId>junit-platform-runner</artifactId>
  742.             <version>${junit.platform.version}</version>
  743.             <scope>test</scope>
  744.         </dependency>
  745.         <dependency>
  746.             <!-- Mockito -->
  747.             <groupId>org.mockito</groupId>
  748.             <artifactId>mockito-core</artifactId>
  749.             <version>${mockito.version}</version>
  750.             <scope>test</scope>
  751.         </dependency>
  752.         <dependency>
  753.             <!-- Spring Test -->
  754.             <groupId>org.springframework</groupId>
  755.             <artifactId>spring-test</artifactId>
  756.             <scope>test</scope>
  757.         </dependency>
  758.  
  759.         <dependency>
  760.             <groupId>javax.xml.bind</groupId>
  761.             <artifactId>jaxb-api</artifactId>
  762.             <version>2.3.0</version>
  763.         </dependency>
  764.         <dependency>
  765.             <groupId>javassist</groupId>
  766.             <artifactId>javassist</artifactId>
  767.             <version>3.12.1.GA</version>
  768.         </dependency>
  769.     </dependencies>
  770.  
  771.     <!-- ********************************************** -->
  772.     <!-- ******************* BUILD ******************** -->
  773.     <!-- ********************************************** -->
  774.  
  775.     <build>
  776.         <defaultGoal>clean package</defaultGoal>
  777.         <resources>
  778.             <resource>
  779.                 <directory>src/main/resources/</directory>
  780.             </resource>
  781.             <resource>
  782.                 <!-- Main resources -->
  783.                 <directory>src/main/resources/</directory>
  784.                 <includes>
  785.                     <!-- Filter the application context -->
  786.                     <include>context/application-context.xml</include>
  787.                     <!-- Filter the persistence access properties -->
  788.                     <include>config/persistence-access.properties</include>
  789.                 </includes>
  790.                 <filtering>true</filtering>
  791.             </resource>
  792.         </resources>
  793.         <pluginManagement>
  794.             <plugins>
  795.                 <!-- Plugin versions and configurations are enforced here. -->
  796.                 <plugin>
  797.                     <!-- JSHint -->
  798.                     <!-- Validates Javascript files. -->
  799.                     <groupId>com.cj.jshintmojo</groupId>
  800.                     <artifactId>jshint-maven-plugin</artifactId>
  801.                     <version>${plugin.jshint.version}</version>
  802.                 </plugin>
  803.                 <plugin>
  804.                     <!-- Minify -->
  805.                     <!-- Minifies files. -->
  806.                     <groupId>com.samaxes.maven</groupId>
  807.                     <artifactId>minify-maven-plugin</artifactId>
  808.                     <version>${plugin.minify.version}</version>
  809.                 </plugin>
  810.                
  811.                
  812.                 <plugin>
  813.                 <groupId>org.springframework.boot</groupId>
  814.                 <artifactId>spring-boot-maven-plugin</artifactId>
  815.             </plugin>
  816.             <plugin>
  817.                 <groupId>org.apache.maven.plugins</groupId>
  818.                 <artifactId>maven-failsafe-plugin</artifactId>
  819.                 <configuration>
  820.                     <includes>
  821.                         <include>**/*IT.java</include>
  822.                     </includes>
  823.                 </configuration>
  824.                 <executions>
  825.                     <execution>
  826.                         <phase>integration-test</phase>
  827.                         <goals>
  828.                             <goal>integration-test</goal>
  829.                             <goal>verify</goal>
  830.                         </goals>
  831.                     </execution>
  832.                 </executions>
  833.             </plugin>
  834.                
  835.                
  836.             </plugins>
  837.            
  838.            
  839.         </pluginManagement>
  840.         <plugins>
  841.             <plugin>
  842.                 <!-- Changes -->
  843.                 <!-- Takes care of the changes log -->
  844.                 <!-- It is set to also validate the changes log file -->
  845.                 <groupId>org.apache.maven.plugins</groupId>
  846.                 <artifactId>maven-changes-plugin</artifactId>
  847.                 <executions>
  848.                     <!-- Changes plugin is bound to the pre-site phase -->
  849.                     <execution>
  850.                         <id>check-changes</id>
  851.                         <phase>pre-site</phase>
  852.                         <goals>
  853.                             <goal>changes-check</goal>
  854.                         </goals>
  855.                     </execution>
  856.                     <execution>
  857.                         <id>validate-changes</id>
  858.                         <phase>pre-site</phase>
  859.                         <goals>
  860.                             <goal>changes-validate</goal>
  861.                         </goals>
  862.                         <configuration>
  863.                             <failOnError>true</failOnError>
  864.                         </configuration>
  865.                     </execution>
  866.                 </executions>
  867.             </plugin>
  868.             <plugin>
  869.                 <!-- Enforcer -->
  870.                 <!-- Stops the project from being built if it does not comply with a
  871.                     set of rules. -->
  872.                 <groupId>org.apache.maven.plugins</groupId>
  873.                 <artifactId>maven-enforcer-plugin</artifactId>
  874.                 <executions>
  875.                     <!-- The enforce goal is bound to the validate phase -->
  876.                     <execution>
  877.                         <id>enforce-database</id>
  878.                         <goals>
  879.                             <goal>enforce</goal>
  880.                         </goals>
  881.                         <configuration>
  882.                             <rules>
  883.                                 <!-- A database should be set. -->
  884.                                 <requireProperty>
  885.                                     <property>database.tag</property>
  886.                                     <message><![CDATA[Give a Spring database profile.]]></message>
  887.                                 </requireProperty>
  888.                                 <requireProperty>
  889.                                     <property>database.url</property>
  890.                                     <message><![CDATA[Give a URL for the database.]]></message>
  891.                                 </requireProperty>
  892.                                 <requireProperty>
  893.                                     <property>database.username</property>
  894.                                     <message><![CDATA[Give a username for the database.]]></message>
  895.                                 </requireProperty>
  896.                                 <requireProperty>
  897.                                     <property>database.password</property>
  898.                                     <message><![CDATA[Give a password for the database.]]></message>
  899.                                 </requireProperty>
  900.                             </rules>
  901.                         </configuration>
  902.                     </execution>
  903.                 </executions>
  904.             </plugin>
  905.             <plugin>
  906.                 <!-- Site -->
  907.                 <!-- Generates the Maven Site -->
  908.                 <groupId>org.apache.maven.plugins</groupId>
  909.                 <artifactId>maven-site-plugin</artifactId>
  910.                 <dependencies>
  911.                     <dependency>
  912.                         <!-- Docs Maven Skin -->
  913.                         <groupId>com.bernardomg.maven.skins</groupId>
  914.                         <artifactId>docs-maven-skin</artifactId>
  915.                         <version>${site.skin.version}</version>
  916.                     </dependency>
  917.                 </dependencies>
  918.             </plugin>
  919.             <plugin>
  920.                 <!-- Minify -->
  921.                 <!-- Minifies files. -->
  922.                 <groupId>com.samaxes.maven</groupId>
  923.                 <artifactId>minify-maven-plugin</artifactId>
  924.                 <executions>
  925.                     <execution>
  926.                         <id>default-minify</id>
  927.                         <phase>package</phase>
  928.                         <configuration>
  929.                             <cssSourceDir>resources/css</cssSourceDir>
  930.                             <cssSourceIncludes>
  931.                                 <cssSourceInclude>**</cssSourceInclude>
  932.                             </cssSourceIncludes>
  933.                             <cssFinalFile>style.css</cssFinalFile>
  934.                         </configuration>
  935.                         <goals>
  936.                             <goal>minify</goal>
  937.                         </goals>
  938.                     </execution>
  939.                 </executions>
  940.             </plugin>
  941.             <plugin>
  942.                 <!-- WAR -->
  943.                 <!-- Generates the WAR package. -->
  944.                 <groupId>org.apache.maven.plugins</groupId>
  945.                 <artifactId>maven-war-plugin</artifactId>
  946.                 <configuration>
  947.                     <webResources>
  948.                         <resource>
  949.                             <!-- Persistence access data is filtered -->
  950.                             <filtering>true</filtering>
  951.                             <directory>${project.basedir}/src/main/resources/config</directory>
  952.                             <targetPath>WEB-INF/classes/config</targetPath>
  953.                             <includes>
  954.                                 <include>persistence-access.properties</include>
  955.                             </includes>
  956.                         </resource>
  957.                         <resource>
  958.                             <!-- Web resources -->
  959.                             <directory>${project.basedir}/src/main/webapp/WEB-INF/templates/fragments/</directory>
  960.                             <targetPath>WEB-INF/templates/fragments</targetPath>
  961.                             <includes>
  962.                                 <!-- Filter the template footer -->
  963.                                 <include>**.html</include>
  964.                             </includes>
  965.                             <filtering>true</filtering>
  966.                         </resource>
  967.                     </webResources>
  968.                     <!-- Variables to to override will be delimited with a @. -->
  969.                     <!-- This avoids collisions with Spring variables. -->
  970.                     <!-- So instead of replacing ${project.name} Maven will replace @project.name@. -->
  971.                     <useDefaultDelimiters>false</useDefaultDelimiters>
  972.                     <delimiters>
  973.                         <delimiter>@</delimiter>
  974.                     </delimiters>
  975.                 </configuration>
  976.             </plugin>
  977.             <plugin>
  978.                 <!-- Resources -->
  979.                 <!-- Handles the project resources. -->
  980.                 <groupId>org.apache.maven.plugins</groupId>
  981.                 <artifactId>maven-resources-plugin</artifactId>
  982.                 <configuration>
  983.                     <!-- Variables to to override will be delimited with a @. -->
  984.                     <!-- This avoids collisions with Spring variables. -->
  985.                     <!-- So instead of replacing ${project.name} Maven will replace @project.name@. -->
  986.                     <useDefaultDelimiters>false</useDefaultDelimiters>
  987.                     <delimiters>
  988.                         <delimiter>@</delimiter>
  989.                     </delimiters>
  990.                 </configuration>
  991.             </plugin>
  992.             <plugin>
  993.                 <!-- JSHint -->
  994.                 <!-- Validates Javascript files. -->
  995.                 <groupId>com.cj.jshintmojo</groupId>
  996.                 <artifactId>jshint-maven-plugin</artifactId>
  997.                 <executions>
  998.                     <execution>
  999.                         <id>jshint</id>
  1000.                         <phase>test</phase>
  1001.                         <goals>
  1002.                             <goal>lint</goal>
  1003.                         </goals>
  1004.                     </execution>
  1005.                 </executions>
  1006.                 <configuration>
  1007.                     <options>maxdepth:3,latedef,nonew,jquery</options>
  1008.                     <directories>
  1009.                         <directory>src/main/webapp/resources/js</directory>
  1010.                     </directories>
  1011.                     <reporter>checkstyle</reporter>
  1012.                     <reportFile>target/jshint.xml</reportFile>
  1013.                     <failOnError>true</failOnError>
  1014.                 </configuration>
  1015.             </plugin>
  1016.         </plugins>
  1017.     </build>
  1018.  
  1019.     <!-- ********************************************** -->
  1020.     <!-- ****************** REPORTS ******************* -->
  1021.     <!-- ********************************************** -->
  1022.  
  1023.     <reporting>
  1024.         <plugins>
  1025.             <plugin>
  1026.                 <!-- FindBugs -->
  1027.                 <!-- Checks for patterns which are prone to errors -->
  1028.                 <groupId>org.codehaus.mojo</groupId>
  1029.                 <artifactId>findbugs-maven-plugin</artifactId>
  1030.                 <configuration>
  1031.                     <!-- Exclusion patterns -->
  1032.                     <excludeFilterFile>${project.basedir}/src/config/findbugs/findbugs-exclude.xml</excludeFilterFile>
  1033.                 </configuration>
  1034.             </plugin>
  1035.             <plugin>
  1036.                 <!-- Checkstyle -->
  1037.                 <!-- Checks that the source files comply with style standards -->
  1038.                 <!-- It is using a customized rules file -->
  1039.                 <groupId>org.apache.maven.plugins</groupId>
  1040.                 <artifactId>maven-checkstyle-plugin</artifactId>
  1041.                 <configuration>
  1042.                     <!-- The customized rules file -->
  1043.                     <configLocation>${project.basedir}/src/config/checkstyle/checkstyle-rules.xml</configLocation>
  1044.                     <!-- Excludes generated code -->
  1045.                     <excludes>**/generated/**/*</excludes>
  1046.                 </configuration>
  1047.             </plugin>
  1048.             <plugin>
  1049.                 <!-- Javadoc -->
  1050.                 <!-- Generates the javadocs -->
  1051.                 <groupId>org.apache.maven.plugins</groupId>
  1052.                 <artifactId>maven-javadoc-plugin</artifactId>
  1053.                 <configuration>
  1054.                     <sourceFileExcludes>
  1055.                         <!-- Excludes generated code -->
  1056.                         <exclude>**/generated/**/*</exclude>
  1057.                     </sourceFileExcludes>
  1058.                 </configuration>
  1059.             </plugin>
  1060.             <plugin>
  1061.                 <!-- PMD -->
  1062.                 <!-- Checks that the code complies with a series of code quality rules -->
  1063.                 <groupId>org.apache.maven.plugins</groupId>
  1064.                 <artifactId>maven-pmd-plugin</artifactId>
  1065.                 <configuration>
  1066.                     <rulesets>
  1067.                         <!-- The customized rules file -->
  1068.                         <ruleset>${project.basedir}/src/config/pmd/pmd-rules.xml</ruleset>
  1069.                     </rulesets>
  1070.                     <excludes>
  1071.                         <!-- Excludes generated code -->
  1072.                         <exclude>**/generated/**/*</exclude>
  1073.                     </excludes>
  1074.                 </configuration>
  1075.             </plugin>
  1076.         </plugins>
  1077.     </reporting>
  1078.  
  1079. </project>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement