update link to upper-constraints.txt
[aai/sparky-be.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4     <modelVersion>4.0.0</modelVersion>
5         
6     <parent>
7         <groupId>org.onap.oparent</groupId>
8         <artifactId>oparent</artifactId>
9         <version>2.0.0</version>
10     </parent>
11     
12     <groupId>org.onap.aai</groupId>
13     <artifactId>sparky-be</artifactId>
14     <version>2.0.3-SNAPSHOT</version>
15     <packaging>pom</packaging>
16     <name>aai-sparky-be</name>
17
18         <modules>
19                 <module>sparkybe-onap-service/pom.xml</module>
20                 <module>sparkybe-onap-application/pom.xml</module>
21         </modules>
22
23     <properties>
24         <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath>
25         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
26          <portal.sdk.version>2.6.0</portal.sdk.version>
27
28         <sonar.jacoco.reportPath />
29         <sonar.jacoco.itReportPath />
30         <sonar.jacoco.reportMissing.force.zero />
31
32         <jacoco.line.coverage.limit>0.90</jacoco.line.coverage.limit>
33         <jacoco.version>0.8.5</jacoco.version>
34         <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
35         <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
36         <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
37         <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
38
39         <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
40
41         <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
42         <maven-compiler-plugin.source>11</maven-compiler-plugin.source>
43         <maven-compiler-plugin.target>11</maven-compiler-plugin.target>
44         <maven-compiler-plugin.test.source>11</maven-compiler-plugin.test.source>
45         <maven-compiler-plugin.test.target>11</maven-compiler-plugin.test.target>
46     </properties>
47
48         <dependencyManagement>
49         <dependencies>
50             <dependency>
51                 <groupId>org.onap.portal.sdk</groupId>
52                 <artifactId>epsdk-fw</artifactId>
53                 <version>${portal.sdk.version}</version>
54             </dependency>
55         </dependencies>
56     </dependencyManagement>
57
58     <!-- we don't need to deploy the top level pom project -->
59         <build>
60           <pluginManagement>
61             <plugins>
62                 <plugin>
63                     <groupId>org.apache.maven.plugins</groupId>
64                     <artifactId>maven-compiler-plugin</artifactId>
65                     <version>${maven-compiler-plugin.version}</version>
66                     <inherited>true</inherited>
67                     <configuration>
68                                                 <release>${maven-compiler-plugin.source}</release>
69                         <source>${maven-compiler-plugin.source}</source>
70                         <target>${maven-compiler-plugin.target}</target>
71                         <testSource>${maven-compiler-plugin.test.source}</testSource>
72                         <testTarget>${maven-compiler-plugin.test.target}</testTarget>
73                     </configuration>
74                 </plugin>
75                 <plugin>
76                     <groupId>org.apache.maven.plugins</groupId>
77                     <artifactId>maven-deploy-plugin</artifactId>
78                 </plugin>
79                 </plugins>
80               </pluginManagement>
81
82               <!-- once we connect aai-parent or oparent 3.0+ we can take out this
83                    whole section -->
84               <plugins>
85               <plugin>
86                 <groupId>org.jacoco</groupId>
87                 <artifactId>jacoco-maven-plugin</artifactId>
88                 <version>${jacoco.version}</version>
89                 <configuration>
90                   <!-- Note: This exclusion list should match <sonar.exclusions> property
91                        above -->
92                   <excludes>
93                     <exclude>**/gen/**</exclude>
94                     <exclude>**/generated-sources/**</exclude>
95                     <exclude>**/yang-gen/**</exclude>
96                     <exclude>**/pax/**</exclude>
97                     <exclude>org/onap/aai/babel/xml/generator/xsd/*</exclude>
98                   </excludes>
99                 </configuration>
100                 <executions>
101                   <!-- Prepares the property pointing to the JaCoCo runtime agent which
102                        is passed as VM argument when Maven the Surefire plugin is executed. -->
103                   <execution>
104                     <id>pre-unit-test</id>
105                     <goals>
106                       <goal>prepare-agent</goal>
107                     </goals>
108                     <configuration>
109                       <!-- Sets the path to the file which contains the execution data
110                            . -->
111                       <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
112                       <!-- Sets the name of the property containing the settings for JaCoCo
113                            runtime agent. -->
114                       <propertyName>surefireArgLine</propertyName>
115                     </configuration>
116                   </execution>
117                   <!-- Ensures that the code coverage report for unit tests is created
118                        after unit tests have been run. -->
119                   <execution>
120                     <id>post-unit-test</id>
121                     <phase>test</phase>
122                     <goals>
123                       <goal>report</goal>
124                     </goals>
125                     <configuration>
126                       <!-- Sets the path to the file which contains the execution data
127                            . -->
128                       <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
129                       <!-- Sets the output directory for the code coverage report. -->
130                       <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
131                     </configuration>
132                   </execution>
133                   <execution>
134                     <id>pre-integration-test</id>
135                     <phase>pre-integration-test</phase>
136                     <goals>
137                       <goal>prepare-agent</goal>
138                     </goals>
139                     <configuration>
140                       <!-- Sets the path to the file which contains the execution data
141                            . -->
142                       <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
143                       <!-- Sets the name of the property containing the settings for JaCoCo
144                            runtime agent. -->
145                       <propertyName>failsafeArgLine</propertyName>
146                     </configuration>
147                   </execution>
148                   <!-- Ensures that the code coverage report for integration tests after
149                        integration tests have been run. -->
150                   <execution>
151                     <id>post-integration-test</id>
152                     <phase>post-integration-test</phase>
153                     <goals>
154                       <goal>report</goal>
155                     </goals>
156                     <configuration>
157                       <!-- Sets the path to the file which contains the execution data
158                            . -->
159                       <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
160                       <!-- Sets the output directory for the code coverage report. -->
161                       <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
162                     </configuration>
163                   </execution>
164                   <execution>
165                     <id>default-check</id>
166                     <goals>
167                       <goal>check</goal>
168                     </goals>
169                     <configuration>
170                       <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
171                       <rules>
172                         <rule implementation="org.jacoco.maven.RuleConfiguration">
173                           <element>BUNDLE</element>
174                           <limits>
175                             <limit implementation="org.jacoco.report.check.Limit">
176                               <counter>LINE</counter>
177                               <value>COVEREDRATIO</value>
178                               <minimum>${jacoco.line.coverage.limit}</minimum>
179                             </limit>
180                           </limits>
181                         </rule>
182                       </rules>
183                     </configuration>
184                   </execution>
185                 </executions>
186               </plugin>
187               <plugin>
188                 <groupId>org.apache.maven.plugins</groupId>
189                 <artifactId>maven-surefire-plugin</artifactId>
190                 <version>3.0.0-M4</version>
191                 <configuration>
192                   <!-- Sets the VM argument line used when unit tests are run. -->
193                   <argLine>${surefireArgLine}</argLine>
194                   <!-- Excludes integration tests when unit tests are run. -->
195                   <excludes>
196                     <exclude>**/IT*.java</exclude>
197                   </excludes>
198                 </configuration>
199               </plugin>
200               <plugin>
201                 <groupId>org.apache.maven.plugins</groupId>
202                 <artifactId>maven-failsafe-plugin</artifactId>
203                 <version>3.0.0-M4</version>
204                 <executions>
205                   <!-- Ensures that both integration-test and verify goals of the Failsafe
206                        Maven plugin are executed. -->
207                   <execution>
208                     <id>integration-tests</id>
209                     <goals>
210                       <goal>integration-test</goal>
211                       <goal>verify</goal>
212                     </goals>
213                     <configuration>
214                       <!-- Sets the VM argument line used when integration tests are run. -->
215                       <argLine>${failsafeArgLine}</argLine>
216                     </configuration>
217                   </execution>
218                 </executions>
219               </plugin>
220               <plugin>
221                 <groupId>org.sonarsource.scanner.maven</groupId>
222                 <artifactId>sonar-maven-plugin</artifactId>
223                 <version>${sonar.scanner.version}</version>
224               </plugin>
225               <!-- end removable sonar config, note the additional exclusion for babel above
226               -->
227             </plugins>
228
229
230         </build>
231         
232     <distributionManagement>
233        <repository>
234           <id>ecomp-releases</id>
235           <name>ECOMP Release Repository</name>
236           <url>${onap.nexus.url}/content/repositories/releases/</url>
237        </repository>
238        <snapshotRepository>
239           <id>ecomp-snapshots</id>
240           <name>ECOMP Snapshot Repository</name>
241           <url>${onap.nexus.url}/content/repositories/snapshots/</url>
242       </snapshotRepository>
243       <site>
244         <id>ecomp-site</id>
245         <url>dav:${onap.nexus.url}${sitePath}</url>
246       </site>
247    </distributionManagement>
248
249     <repositories>
250         <repository>
251             <id>central</id>
252             <name>Maven 2 repository 2</name>
253             <url>http://repo2.maven.org/maven2/</url>
254         </repository>
255         <repository>
256             <id>ecomp-releases</id>
257             <name>ECOMP Release Repository</name>
258             <url>${onap.nexus.url}/content/repositories/releases/</url>
259         </repository>
260         <repository>
261             <id>ecomp-staging</id>
262             <name>ECOMP Staging Repository</name>
263             <url>${onap.nexus.url}/content/repositories/staging/</url>
264         </repository>
265         <repository>
266             <id>ecomp-snapshots</id>
267             <name>ECOMP Snapshot Repository</name>
268             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
269         </repository>
270     </repositories>
271         
272 </project>