Upversion search-data-service in master
[aai/search-data-service.git] / search-data-service-app / pom.xml
1 <!--
2
3     ============LICENSE_START=======================================================
4     org.onap.aai
5     ================================================================================
6     Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
7     Copyright © 2017-2018 Amdocs
8     ================================================================================
9     Licensed under the Apache License, Version 2.0 (the "License");
10     you may not use this file except in compliance with the License.
11     You may obtain a copy of the License at
12
13           http://www.apache.org/licenses/LICENSE-2.0
14
15     Unless required by applicable law or agreed to in writing, software
16     distributed under the License is distributed on an "AS IS" BASIS,
17     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18     See the License for the specific language governing permissions and
19     limitations under the License.
20     ============LICENSE_END=========================================================
21
22 -->
23 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
25         <modelVersion>4.0.0</modelVersion>
26
27         <parent>
28                 <artifactId>search-data-service</artifactId>
29                 <groupId>org.onap.aai</groupId>
30                 <version>1.6.0-SNAPSHOT</version>
31         </parent>
32
33         <groupId>org.onap.aai.search-data-service</groupId>
34         <artifactId>search-data-service-app</artifactId>
35         <version>1.6.0-SNAPSHOT</version>
36         <name>AAI Search Data Service Application</name>
37
38         <properties>
39                 <docker.location>${basedir}/target</docker.location>
40                 <docker.image.name.suffix>search-data-service</docker.image.name.suffix>
41                 <nexusproxy>https://nexus.onap.org</nexusproxy>
42                 <java.version>1.8</java.version>
43                 <generatedSourceDir>${basedir}/src/main/java-gen</generatedSourceDir>
44                 <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
45
46                 <sonar.language>java</sonar.language>
47                 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
48                 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
49                 </sonar.surefire.reportsPath>
50                 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec
51                 </sonar.jacoco.reportPath>
52                 <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
53                 <sonar.projectVersion>${project.version}</sonar.projectVersion>
54                 <jacoco.line.coverage.limit>0.58</jacoco.line.coverage.limit>
55                 <spring.boot.version>1.5.21.RELEASE</spring.boot.version>
56         </properties>
57         
58         <dependencyManagement>
59           <dependencies>
60             <dependency>
61               <groupId>org.springframework.boot</groupId>
62               <artifactId>spring-boot-starter-parent</artifactId>
63               <version>${spring.boot.version}</version>
64               <type>pom</type>
65               <scope>import</scope>
66             </dependency>
67           </dependencies>
68         </dependencyManagement>
69         
70         <dependencies>
71
72                 <dependency>
73                         <groupId>com.google.code.gson</groupId>
74                         <artifactId>gson</artifactId>
75                 </dependency>
76
77                 <dependency>
78                         <groupId>org.hamcrest</groupId>
79                         <artifactId>hamcrest-library</artifactId>
80                         <scope>test</scope>
81                 </dependency>
82
83                 <dependency>
84                         <groupId>com.jayway.jsonpath</groupId>
85                         <artifactId>json-path</artifactId>
86                 </dependency>
87
88                 <dependency>
89                         <groupId>com.googlecode.json-simple</groupId>
90                         <artifactId>json-simple</artifactId>
91                 </dependency>
92
93                 <dependency>
94                         <groupId>org.dom4j</groupId>
95                         <artifactId>dom4j</artifactId>
96                         <version>2.1.1</version>
97                         <scope>provided</scope>
98                 </dependency>
99
100                 <dependency>
101                         <groupId>commons-io</groupId>
102                         <artifactId>commons-io</artifactId>
103                         <version>2.4</version>
104                 </dependency>
105
106                 <dependency>
107                         <groupId>org.mockito</groupId>
108                         <artifactId>mockito-all</artifactId>
109                         <version>1.10.19</version>
110                         <scope>test</scope>
111                 </dependency>
112
113         <!-- Common logging framework -->
114                 <dependency>
115                         <groupId>org.onap.aai.logging-service</groupId>
116                         <artifactId>common-logging</artifactId>
117                         <version>1.5.0</version>
118                 </dependency>
119
120                 <dependency>
121                         <groupId>org.onap.aai.logging-service</groupId>
122                         <artifactId>logging-api</artifactId>
123                         <version>1.5.0</version>
124                 </dependency>
125
126                 <dependency>
127                         <groupId>org.onap.aai.logging-service</groupId>
128                         <artifactId>eelf-logging</artifactId>
129                         <version>1.5.0</version>
130                 </dependency>
131
132         <!-- For JSON Mapping Support. -->
133                 <dependency>
134                         <groupId>com.fasterxml.jackson.core</groupId>
135                         <artifactId>jackson-databind</artifactId>
136                 </dependency>
137
138                 <dependency>
139                         <groupId>org.apache.directory.studio</groupId>
140                         <artifactId>org.apache.commons.lang</artifactId>
141                         <version>2.6</version>
142                 </dependency>
143
144                 <dependency>
145                         <groupId>radeox</groupId>
146                         <artifactId>radeox</artifactId>
147                         <version>0.9</version>
148                 </dependency>
149
150                 <dependency>
151                         <groupId>com.github.fge</groupId>
152                         <artifactId>json-schema-validator</artifactId>
153                         <version>2.0.0</version>
154                 </dependency>
155
156                 <dependency>
157                         <groupId>org.json</groupId>
158                         <artifactId>json</artifactId>
159                         <version>20180130</version>
160                 </dependency>
161
162                 <dependency>
163                         <groupId>org.springframework.boot</groupId>
164                         <artifactId>spring-boot-starter-web</artifactId>
165                         <exclusions>
166                                 <exclusion>
167                                         <groupId>org.springframework.boot</groupId>
168                                         <artifactId>spring-boot-starter-tomcat</artifactId>
169                                 </exclusion>
170                         </exclusions>
171                 </dependency>
172
173                 <dependency>
174                         <groupId>org.springframework.boot</groupId>
175                         <artifactId>spring-boot-starter-jetty</artifactId>
176                 </dependency>
177
178                 <dependency>
179                         <groupId>org.springframework.boot</groupId>
180                         <artifactId>spring-boot-starter</artifactId>
181                         <exclusions>
182                                 <exclusion>
183                                         <groupId>ch.qos.logback</groupId>
184                                         <artifactId>logback-classic</artifactId>
185                                 </exclusion>
186                         </exclusions>
187                 </dependency>
188
189                 <dependency>
190                         <groupId>org.springframework.boot</groupId>
191                         <artifactId>spring-boot-starter-jersey</artifactId>
192                         <exclusions>
193                                 <exclusion>
194                                         <groupId>org.springframework.boot</groupId>
195                                         <artifactId>spring-boot-starter-tomcat</artifactId>
196                                 </exclusion>
197                         </exclusions>
198                 </dependency>
199
200                 <dependency>
201                         <groupId>org.springframework.boot</groupId>
202                         <artifactId>spring-boot-starter-actuator</artifactId>
203                 </dependency>
204
205                 <dependency>
206                         <groupId>org.springframework.boot</groupId>
207                         <artifactId>spring-boot-starter-test</artifactId>
208                         <scope>test</scope>
209                 </dependency>
210
211                 <dependency>
212                         <groupId>org.springframework.boot</groupId>
213                         <artifactId>spring-boot-starter-security</artifactId>
214                 </dependency>
215
216         <!--Logback classic-->
217                 <dependency>
218                         <groupId>ch.qos.logback</groupId>
219                         <artifactId>logback-classic</artifactId>
220                 </dependency>
221
222                 <dependency>
223                         <groupId>ch.qos.logback</groupId>
224                         <artifactId>logback-core</artifactId>
225                 </dependency>
226
227         </dependencies>
228
229         <repositories>
230                 <repository>
231                         <id>central</id>
232                         <name>Maven 2 repository 2</name>
233                         <url>http://repo2.maven.org/maven2/</url>
234                 </repository>
235                 <repository>
236                         <id>ecomp-releases</id>
237                         <name>ECOMP Release Repository</name>
238                         <url>${nexusproxy}/content/repositories/releases/</url>
239                 </repository>
240                 <repository>
241                         <id>ecomp-snapshots</id>
242                         <name>ECOMP Snapshot Repository</name>
243                         <url>${nexusproxy}/content/repositories/snapshots/</url>
244                 </repository>
245                 <repository>
246                         <id>ecomp-staging</id>
247                         <name>ECOMP Staging Repository</name>
248                         <url>${nexusproxy}/content/repositories/staging/</url>
249                 </repository>
250         </repositories>
251
252         <build>
253                 <finalName>search-data-service-package</finalName>
254                 <plugins>
255                         <plugin>
256                                 <groupId>org.springframework.boot</groupId>
257                                 <artifactId>spring-boot-maven-plugin</artifactId>
258                         </plugin>
259             <!-- Checkstyle plugin - used to report on compliance with -->
260             <!-- the Google style guide. -->
261                         <plugin>
262                                 <groupId>org.apache.maven.plugins</groupId>
263                                 <artifactId>maven-site-plugin</artifactId>
264                                 <configuration>
265                                         <reportPlugins>
266                                                 <plugin>
267                                                         <groupId>org.apache.maven.plugins</groupId>
268                                                         <artifactId>maven-checkstyle-plugin</artifactId>
269                                                         <version>2.17</version>
270                                                         <reportSets>
271                                                                 <reportSet>
272                                                                         <reports>
273                                                                                 <report>checkstyle</report>
274                                                                         </reports>
275                                                                 </reportSet>
276                                                         </reportSets>
277                                                 </plugin>
278                                         </reportPlugins>
279                                 </configuration>
280                         </plugin>
281             <!-- This plugin overrides the compiler settings to use java 1.8 -->
282                         <plugin>
283                                 <groupId>org.apache.maven.plugins</groupId>
284                                 <artifactId>maven-compiler-plugin</artifactId>
285                                 <configuration>
286                                         <compilerId>groovy-eclipse-compiler</compilerId>
287                                         <verbose>true</verbose>
288                                         <source>1.8</source>
289                                         <target>1.8</target>
290                                 </configuration>
291                                 <dependencies>
292                                         <dependency>
293                                                 <groupId>org.codehaus.groovy</groupId>
294                                                 <artifactId>groovy-eclipse-compiler</artifactId>
295                                                 <version>2.9.0-01</version>
296                                         </dependency>
297                                         <dependency>
298                                                 <groupId>org.codehaus.groovy</groupId>
299                                                 <artifactId>groovy-eclipse-batch</artifactId>
300                                                 <version>2.3.4-01</version>
301                                         </dependency>
302                                 </dependencies>
303                         </plugin>
304                         <plugin>
305                                 <groupId>com.spotify</groupId>
306                                 <artifactId>docker-maven-plugin</artifactId>
307                                 <version>0.4.11</version>
308                                 <configuration>
309                                         <verbose>true</verbose>
310                                         <serverId>docker-hub</serverId>
311                                         <imageName>${docker.push.registry}/onap/${docker.image.name.suffix}</imageName>
312                                         <dockerDirectory>${docker.location}</dockerDirectory>
313                                         <imageTags>
314                                                 <imageTag>latest</imageTag>
315                                         </imageTags>
316                                         <forceTags>true</forceTags>
317                                 </configuration>
318                         </plugin>
319             <!-- This plugin is used to generate Java POJO's from json format schema
320                 file. -->
321                         <plugin>
322                                 <groupId>org.jsonschema2pojo</groupId>
323                                 <artifactId>jsonschema2pojo-maven-plugin</artifactId>
324                                 <version>0.4.26</version>
325                                 <configuration>
326                                         <addCompileSourceRoot>true</addCompileSourceRoot>
327                                         <sourceDirectory>${basedir}/src/main/resources/json/schema</sourceDirectory>
328                                         <outputDirectory>${generatedSourceDir}</outputDirectory>
329                                         <targetPackage>org.onap.aai.sa.rest</targetPackage>
330                                 </configuration>
331                                 <executions>
332                                         <execution>
333                                                 <goals>
334                                                         <goal>generate</goal>
335                                                 </goals>
336                                         </execution>
337                                 </executions>
338                         </plugin>
339
340                         <plugin>
341                                 <groupId>org.apache.maven.plugins</groupId>
342                                 <artifactId>maven-resources-plugin</artifactId>
343                                 <executions>
344                                         <execution>
345                                                 <id>copy-docker-file</id>
346                                                 <phase>package</phase>
347                                                 <goals>
348                                                         <goal>copy-resources</goal>
349                                                 </goals>
350                                                 <configuration>
351                                                         <outputDirectory>target</outputDirectory>
352                                                         <overwrite>true</overwrite>
353                                                         <resources>
354                                                                 <resource>
355                                                                         <directory>${basedir}/src/main/docker</directory>
356                                                                         <filtering>true</filtering>
357                                                                         <includes>
358                                                                                 <include>**/*</include>
359                                                                         </includes>
360                                                                 </resource>
361                                                                 <resource>
362                                                                         <directory>${basedir}</directory>
363                                                                         <filtering>true</filtering>
364                                                                         <includes>
365                                                                                 <include>bundleconfig-local/**</include>
366                                                                         </includes>
367                                                                 </resource>
368                                                                 <resource>
369                                                                         <directory>${basedir}/src/main/bin/</directory>
370                                                                 </resource>
371                                                         </resources>
372                                                 </configuration>
373                                         </execution>
374                                 </executions>
375                         </plugin>
376             <!-- license plugin -->
377                         <plugin>
378                                 <groupId>com.mycila</groupId>
379                                 <artifactId>license-maven-plugin</artifactId>
380                                 <version>3.0</version>
381                                 <configuration>
382                                         <header>License.txt</header>
383                                         <includes>
384                                                 <include>src/main/java/**</include>
385                                                 <include>src/test/java/**</include>
386                                                 <include>pom.xml</include>
387                                         </includes>
388                                         <skipExistingHeaders>true</skipExistingHeaders>
389                                 </configuration>
390                                 <executions>
391                                         <execution>
392                                                 <goals>
393                                                         <goal>check</goal>
394                                                 </goals>
395                                                 <phase>validate</phase>
396                                         </execution>
397                                 </executions>
398                         </plugin>
399                         <plugin>
400                                 <groupId>org.apache.maven.plugins</groupId>
401                                 <artifactId>maven-deploy-plugin</artifactId>
402                         </plugin>
403                         <plugin>
404                                 <groupId>org.codehaus.mojo</groupId>
405                                 <artifactId>sonar-maven-plugin</artifactId>
406                                 <version>3.2</version>
407                         </plugin>
408                         <!-- jacoco-maven-plugin provides the basic report creation during unit testing, such as code-coverage, sonar, etc. -->
409                         <plugin>
410                                 <groupId>org.jacoco</groupId>
411                                 <artifactId>jacoco-maven-plugin</artifactId>
412                                 <executions>
413                                         <!-- Prepares the property pointing to the JaCoCo runtime agent which
414                                                  is passed as VM argument when Maven the Surefire plugin is executed. -->
415                                         <execution>
416                                                 <id>pre-unit-test</id>
417                                                 <goals>
418                                                         <goal>prepare-agent</goal>
419                                                 </goals>
420                                                 <configuration>
421                                                         <!-- Sets the path to the file which contains the execution data. -->
422                                                         <destFile>${sonar.jacoco.reportPath}</destFile>
423                                                         <propertyName>surefireArgLine</propertyName>
424                                                 </configuration>
425                                         </execution>
426                                         <!-- Ensures that the code coverage report for unit tests is created
427                                                  after unit tests have been run. -->
428                                         <execution>
429                                                 <id>post-unit-test</id>
430                                                 <phase>test</phase>
431                                                 <goals>
432                                                         <goal>report</goal>
433                                                 </goals>
434                                                 <configuration>
435                                                         <!-- Sets the path to the file which contains the execution data. -->
436                                                         <dataFile>${sonar.jacoco.reportPath}</dataFile>
437                                                         <!-- Sets the output directory for the code coverage report. -->
438                                                         <outputDirectory>${jacoco.path}</outputDirectory>
439                                                 </configuration>
440                                         </execution>
441                                         <!-- Prepares the property pointing to the JaCoCo runtime agent which
442                                                  is passed as VM argument when Maven the Failsafe plugin is executed. -->
443                                         <execution>
444                                                 <id>pre-integration-test</id>
445                                                 <phase>pre-integration-test</phase>
446                                                 <goals>
447                                                         <goal>prepare-agent</goal>
448                                                 </goals>
449                                                 <configuration>
450                                                         <!-- Sets the path to the file which contains the execution data. -->
451                                                         <destFile>${sonar.jacoco.itReportPath}</destFile>
452                                                         <!-- Sets the name of the property containing the settings for JaCoCo
453                                                                  runtime agent. -->
454                                                         <propertyName>failsafeArgLine</propertyName>
455                                                 </configuration>
456                                         </execution>
457                                         <!-- Ensures that the code coverage report for integration tests after
458                                                  integration tests have been run. -->
459                                         <execution>
460                                                 <id>post-integration-test</id>
461                                                 <phase>post-integration-test</phase>
462                                                 <goals>
463                                                         <goal>report</goal>
464                                                 </goals>
465                                                 <configuration>
466                                                         <!-- Sets the path to the file which contains the execution data. -->
467                                                         <dataFile>${sonar.jacoco.itReportPath}/</dataFile>
468                                                         <!-- Sets the output directory for the code coverage report. -->
469                                                         <outputDirectory>${jacoco.itPath}</outputDirectory>
470                                                 </configuration>
471                                         </execution>
472                                         <execution>
473                                                 <id>default-check</id>
474                                                 <goals>
475                                                         <goal>check</goal>
476                                                 </goals>
477                                                 <configuration>
478                                                         <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
479                                                         <rules>
480                                                                 <!--  implementation is needed only for Maven 2  -->
481                                                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
482                                                                         <element>BUNDLE</element>
483                                                                         <limits>
484                                                                                 <limit implementation="org.jacoco.report.check.Limit">
485                                                                                         <counter>LINE</counter>
486                                                                                         <value>COVEREDRATIO</value>
487                                                                                         <minimum>${jacoco.line.coverage.limit}</minimum>
488                                                                                 </limit>
489                                                                         </limits>
490                                                                 </rule>
491                                                         </rules>
492                                                 </configuration>
493                                         </execution>
494                                 </executions>
495                         </plugin>
496             <!-- This plugin adds the generated sources directory to the clean lifecycle
497                 so that automatically generated code will get cleaned up properly. -->
498                         <plugin>
499                                 <artifactId>maven-clean-plugin</artifactId>
500                                 <configuration>
501                                         <filesets>
502                                                 <fileset>
503                                                         <directory>${generatedSourceDir}</directory>
504                                                 </fileset>
505                                         </filesets>
506                                 </configuration>
507                         </plugin>
508                 </plugins>
509         </build>
510         <distributionManagement>
511                 <repository>
512                         <id>ecomp-releases</id>
513                         <name>ECOMP Release Repository</name>
514                         <url>${nexusproxy}/content/repositories/releases/</url>
515                 </repository>
516                 <snapshotRepository>
517                         <id>ecomp-snapshots</id>
518                         <name>ECOMP Snapshot Repository</name>
519                         <url>${nexusproxy}/content/repositories/snapshots/</url>
520                 </snapshotRepository>
521                 <site>
522                         <id>ecomp-javadoc</id>
523                         <url>dav:https://ecomp-nexus:8443/repository/aai/search-data-service-javadoc/${project.version}</url>
524                 </site>
525         </distributionManagement>
526 </project>