<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.oparent</groupId> <artifactId>oparent</artifactId> <version>2.0.0</version> </parent> <groupId>org.onap.aai</groupId> <artifactId>sparky-be</artifactId> <version>1.7.0-SNAPSHOT</version> <packaging>pom</packaging> <name>aai-sparky-be</name> <modules> <module>sparkybe-onap-service/pom.xml</module> <module>sparkybe-onap-application/pom.xml</module> </modules> <properties> <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath> <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> <portal.sdk.version>2.6.0</portal.sdk.version> <sonar.jacoco.reportPath /> <sonar.jacoco.itReportPath /> <sonar.jacoco.reportMissing.force.zero /> <jacoco.line.coverage.limit>0.90</jacoco.line.coverage.limit> <jacoco.version>0.8.5</jacoco.version> <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version> <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths> <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions> <sonar.scanner.version>3.7.0.1746</sonar.scanner.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.onap.portal.sdk</groupId> <artifactId>epsdk-fw</artifactId> <version>${portal.sdk.version}</version> </dependency> </dependencies> </dependencyManagement> <!-- we don't need to deploy the top level pom project --> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> </plugin> </plugins> </pluginManagement> <!-- once we connect aai-parent or oparent 3.0+ we can take out this whole section --> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <configuration> <!-- Note: This exclusion list should match <sonar.exclusions> property above --> <excludes> <exclude>**/gen/**</exclude> <exclude>**/generated-sources/**</exclude> <exclude>**/yang-gen/**</exclude> <exclude>**/pax/**</exclude> <exclude>org/onap/aai/babel/xml/generator/xsd/*</exclude> </excludes> </configuration> <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>${project.build.directory}/code-coverage/jacoco-ut.exec</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>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile> <!-- Sets the output directory for the code coverage report. --> <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> </configuration> </execution> <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>${project.build.directory}/code-coverage/jacoco-it.exec</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>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile> <!-- Sets the output directory for the code coverage report. --> <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory> </configuration> </execution> <execution> <id>default-check</id> <goals> <goal>check</goal> </goals> <configuration> <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile> <rules> <rule implementation="org.jacoco.maven.RuleConfiguration"> <element>BUNDLE</element> <limits> <limit implementation="org.jacoco.report.check.Limit"> <counter>LINE</counter> <value>COVEREDRATIO</value> <minimum>${jacoco.line.coverage.limit}</minimum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M4</version> <configuration> <!-- Sets the VM argument line used when unit tests are run. --> <argLine>${surefireArgLine}</argLine> <!-- Excludes integration tests when unit tests are run. --> <excludes> <exclude>**/IT*.java</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M4</version> <executions> <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. --> <execution> <id>integration-tests</id> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <configuration> <!-- Sets the VM argument line used when integration tests are run. --> <argLine>${failsafeArgLine}</argLine> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar.scanner.version}</version> </plugin> <!-- end removable sonar config, note the additional exclusion for babel above --> </plugins> </build> <distributionManagement> <repository> <id>ecomp-releases</id> <name>ECOMP Release Repository</name> <url>${onap.nexus.url}/content/repositories/releases/</url> </repository> <snapshotRepository> <id>ecomp-snapshots</id> <name>ECOMP Snapshot Repository</name> <url>${onap.nexus.url}/content/repositories/snapshots/</url> </snapshotRepository> <site> <id>ecomp-site</id> <url>dav:${onap.nexus.url}${sitePath}</url> </site> </distributionManagement> <repositories> <repository> <id>central</id> <name>Maven 2 repository 2</name> <url>http://repo2.maven.org/maven2/</url> </repository> <repository> <id>ecomp-releases</id> <name>ECOMP Release Repository</name> <url>${onap.nexus.url}/content/repositories/releases/</url> </repository> <repository> <id>ecomp-staging</id> <name>ECOMP Staging Repository</name> <url>${onap.nexus.url}/content/repositories/staging/</url> </repository> <repository> <id>ecomp-snapshots</id> <name>ECOMP Snapshot Repository</name> <url>${onap.nexus.url}/content/repositories/snapshots/</url> </repository> </repositories> </project>