+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>de.spring.jpa</groupId>
- <artifactId>spring-jpa</artifactId>
- <version>1.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>spring-jpa-bom</artifactId>
- <packaging>pom</packaging>
- <name>SPRING JPA BOM</name>
- <url>http://gumartinm.name</url>
- <description>
- Spring JPA BOM example.
- </description>
- <organization>
- <name>Gustavo Martin Morcuende</name>
- <url>https://www.gumartinm.name</url>
- </organization>
- <scm>
- <developerConnection>scm:git:https://git.gumartinm.name/JavaForFun</developerConnection>
- <url>https://git.gumartinm.name/JavaForFun</url>
- </scm>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <spring.version>4.3.0.RELEASE</spring.version>
- <querydsl.version>4.1.3</querydsl.version>
- <maven.javadoc.version>2.10.4</maven.javadoc.version>
- <maven.source.version>3.0.1</maven.source.version>
-
- <!-- Be careful these two paths must match the ones configured in SONARQUBE JaCoCo plugin -->
- <jacoco.it.execution.data.file>${project.basedir}/target/jacoco-it.exec</jacoco.it.execution.data.file>
- <jacoco.ut.execution.data.file>${project.basedir}/target/jacoco.exec</jacoco.ut.execution.data.file>
-
- <skip.unit.tests>false</skip.unit.tests>
- <skip.integration.tests>true</skip.integration.tests>
- </properties>
-
- <profiles>
- <profile>
- <id>development</id>
- <properties>
- <environment.profile>development</environment.profile>
- <environment.name>Desarrollo local</environment.name>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>integration</id>
- <properties>
- <environment.profile>integration</environment.profile>
- <environment.name>Integration</environment.name>
- <skip.integration.tests>false</skip.integration.tests>
- </properties>
- </profile>
- <profile>
- <id>production</id>
- <properties>
- <environment.profile>production</environment.profile>
- <environment.name>Production</environment.name>
- <skip.integration.tests>false</skip.integration.tests>
- </properties>
- </profile>
- </profiles>
-
- <dependencies>
- <!--
- 1/3 Required dependency for log4j 2 with slf4j: binding between log4j
- 2 and slf4j
- -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>2.6.1</version>
- </dependency>
- <!--
- 2/3 Required dependency for log4j 2 with slf4j: log4j 2 maven plugin
- (it is the log4j 2 implementation)
- -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>2.6.1</version>
- </dependency>
- <!--
- 3/3 Required dependency for getting rid of commons logging. This is
- the BRIDGE (no binding) between Jakarta Commons Logging (used by Spring)
- and whatever I am using for logging (in this case I am using log4j 2) See:
- http://www.slf4j.org/legacy.html We need exclusions in every dependency using
- Jakarta Commons Logging (see Spring dependencies below)
- -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.21</version>
- </dependency>
-
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- <!--
- Required dependency for getting rid of commons logging and use my
- own logging library (in my case I decided to use log4j 2 under slf4j)
- -->
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>1</version>
- </dependency>
-
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- <version>2.2.2</version>
- </dependency>
-
- <!-- Unitary and integration tests -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>2.0.43-beta</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
-
- <!-- REST API -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-oxm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
-
- <!-- Required by spring-webmvc -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>4.0.0-b01</version>
- <scope>provided</scope>
- </dependency>
-
- <!--
- Jackson JSON Processor, required by spring-webmvc. See messageConverters
- in rest-config.xml
- -->
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.8.1</version>
- </dependency>
-
-
- <!-- Required JPA dependencies with hibernate -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.data</groupId>
- <artifactId>spring-data-jpa</artifactId>
- <version>1.10.2.RELEASE</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>5.2.1.Final</version>
- </dependency>
-
- <!-- Auditory using Hibernate Envers -->
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-envers</artifactId>
- <version>5.2.1.Final</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.data</groupId>
- <artifactId>spring-data-envers</artifactId>
- <version>1.0.2.RELEASE</version>
- </dependency>
-
- <!--
- Jackson JSON Processor, required by spring-webmvc. See messageConverters
- in rest-config.xml
-
- Non required dependency. It is already declared in jackson-datatype-jsr310
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.8.1</version>
- </dependency>
- -->
- <!--
- Jackson dependency required for serializing and deserializing LocalDateTime,
- LocalDate, etc, etc objects.
- -->
- <dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-jsr310</artifactId>
- <version>2.8.1</version>
- </dependency>
- <!--
- Jackson dependency required for serializing and deserializing org.joda.time.DateTime objects.
- See: org.springframework.data.history.Revision getRevisionDate
- -->
- <dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-joda</artifactId>
- <version>2.8.1</version>
- </dependency>
-
-
- <!--
- Required by spring-context for using JSR-303. See LocalValidatorFactoryBean
- in rest-config.xml
- -->
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>1.1.0.Final</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>5.2.4.Final</version>
- </dependency>
-
-
- <!-- Using Querydsl -->
- <dependency>
- <groupId>com.querydsl</groupId>
- <artifactId>querydsl-apt</artifactId>
- <version>${querydsl.version}</version>
- </dependency>
- <dependency>
- <groupId>com.querydsl</groupId>
- <artifactId>querydsl-jpa</artifactId>
- <version>${querydsl.version}</version>
- </dependency>
-
- <!-- Loading data base in run time -->
- <dependency>
- <groupId>org.liquibase</groupId>
- <artifactId>liquibase-core</artifactId>
- <version>3.5.1</version>
- </dependency>
-
- <!-- Unitary and integration tests -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>${spring.version}</version>
- <scope>test</scope>
- <!--
- Required dependency for getting rid of commons logging and use my
- own logging library (in my case I decided to use log4j 2 under slf4j)
- -->
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>1.4.192</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <build>
-
- <pluginManagement>
- <plugins>
- <!-- Using Querydsl -->
- <plugin>
- <groupId>com.mysema.maven</groupId>
- <artifactId>apt-maven-plugin</artifactId>
- <version>1.0.4</version>
- </plugin>
- <!-- Required in order to work with m2e plugin for Eclipse -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.11</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.5.1</version>
- <dependencies>
- <dependency><!-- add support for ssh/scp -->
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh</artifactId>
- <version>2.10</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.3</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-descriptor</id>
- <goals>
- <goal>attach-descriptor</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <archive>
- <manifestEntries>
- <Specification-Title>${project.description}</Specification-Title>
- <Specification-Version>${project.version}</Specification-Version>
- <Specification-Vendor>${project.organization.name}</Specification-Vendor>
- <Implementation-Title>${project.description}</Implementation-Title>
- <Implementation-Version>${project.version}</Implementation-Version>
- <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${maven.javadoc.version}</version>
- <configuration>
- <quiet>true</quiet>
- <docencoding>${project.build.sourceEncoding}</docencoding>
- <charset>${project.build.sourceEncoding}</charset>
- <encoding>${project.build.sourceEncoding}</encoding>
- <additionalparam>-Xdoclint:none</additionalparam>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>${maven.source.version}</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <executions>
- <!-- Prepares the property pointing to the JaCoCo runtime agent which
- is passed as VM argument when Maven the Surefire plugin is executed. -->
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>${jacoco.ut.execution.data.file}</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>surefireArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for unit tests is created
- after unit tests have been run. -->
- <execution>
- <id>post-unit-test</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>${jacoco.ut.execution.data.file}</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
- </configuration>
- </execution>
- <!-- Prepares the property pointing to the JaCoCo runtime agent which
- is passed as VM argument when Maven the Failsafe plugin is executed. -->
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>${jacoco.it.execution.data.file}</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>failsafeArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for integration tests after
- integration tests have been run. -->
- <execution>
- <id>post-integration-test</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>${jacoco.it.execution.data.file}</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <versionRange>[0.5,)
- </versionRange>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <!-- m2e doesn't know what to do with jacoco, let's ignore it or
- annoying error markers appear see http://wiki.eclipse.org/M2E_plugin_execution_not_covered -->
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
-
- <!-- Used for unit tests -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.19.1</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit47</artifactId>
- <version>2.19.1</version>
- </dependency>
- </dependencies>
- <configuration>
- <!-- Sets the VM argument line used when unit tests are run. -->
- <argLine>-Dfile.encoding=${project.build.sourceEncoding}
- ${surefireArgLine}</argLine>
- <!-- Skips unit tests if the value of skip.unit.tests property is true -->
- <skipTests>${skip.unit.tests}</skipTests>
- <!-- Excludes integration tests when unit tests are run. -->
- <excludes>
- <exclude>**/*IT.java</exclude>
- <exclude>**/*IntegrationTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
-
- <!-- Used for integration tests -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>2.19.1</version>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- <configuration>
- <!-- Sets the VM argument line used when integration tests are run. -->
- <argLine>${failsafeArgLine}</argLine>
-
- <!-- Skips integration tests if the value of skip.integration.tests
- property is true -->
- <skipTests>${skip.integration.tests}</skipTests>
- <includes>
- <include>**/*IT.java</include>
- <include>**/*IntegrationTest.java</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>2.9</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${maven.javadoc.version}</version>
- <reportSets>
- <reportSet>
- <id>html</id>
- <configuration>
-
- <doctitle>API for ${project.name} ${project.version}</doctitle>
- <windowtitle>API for ${project.name} ${project.version}</windowtitle>
- </configuration>
- <reports>
- <report>javadoc</report>
- <report>aggregate</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.19.1</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>report-only</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- </plugins>
- </reporting>
-
-</project>