Upversion to oparent 2.0.0
[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>spring-boot-starter-parent</artifactId>
29                 <groupId>org.springframework.boot</groupId>
30                 <version>1.5.19.RELEASE</version>
31         </parent>
32
33         <groupId>org.onap.aai.search-data-service</groupId>
34         <artifactId>search-data-service-app</artifactId>
35         <version>1.5.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         </properties>
56
57         <dependencies>
58
59                 <dependency>
60                         <groupId>com.google.code.gson</groupId>
61                         <artifactId>gson</artifactId>
62                 </dependency>
63
64                 <dependency>
65                         <groupId>org.hamcrest</groupId>
66                         <artifactId>hamcrest-library</artifactId>
67                         <scope>test</scope>
68                 </dependency>
69
70                 <dependency>
71                         <groupId>com.jayway.jsonpath</groupId>
72                         <artifactId>json-path</artifactId>
73                 </dependency>
74
75                 <dependency>
76                         <groupId>com.googlecode.json-simple</groupId>
77                         <artifactId>json-simple</artifactId>
78                 </dependency>
79
80                 <dependency>
81                         <groupId>org.dom4j</groupId>
82                         <artifactId>dom4j</artifactId>
83                         <version>2.1.1</version>
84                         <scope>provided</scope>
85                 </dependency>
86
87                 <dependency>
88                         <groupId>commons-io</groupId>
89                         <artifactId>commons-io</artifactId>
90                         <version>2.4</version>
91                 </dependency>
92
93                 <dependency>
94                         <groupId>org.mockito</groupId>
95                         <artifactId>mockito-all</artifactId>
96                         <version>1.10.19</version>
97                         <scope>test</scope>
98                 </dependency>
99
100         <!-- Common logging framework -->
101                 <dependency>
102                         <groupId>org.onap.aai.logging-service</groupId>
103                         <artifactId>common-logging</artifactId>
104                         <version>1.5.0</version>
105                 </dependency>
106
107                 <dependency>
108                         <groupId>org.onap.aai.logging-service</groupId>
109                         <artifactId>logging-api</artifactId>
110                         <version>1.5.0</version>
111                 </dependency>
112
113                 <dependency>
114                         <groupId>org.onap.aai.logging-service</groupId>
115                         <artifactId>eelf-logging</artifactId>
116                         <version>1.5.0</version>
117                 </dependency>
118
119         <!-- For JSON Mapping Support. -->
120                 <dependency>
121                         <groupId>com.fasterxml.jackson.core</groupId>
122                         <artifactId>jackson-databind</artifactId>
123                 </dependency>
124
125                 <dependency>
126                         <groupId>org.apache.directory.studio</groupId>
127                         <artifactId>org.apache.commons.lang</artifactId>
128                         <version>2.6</version>
129                 </dependency>
130
131                 <dependency>
132                         <groupId>radeox</groupId>
133                         <artifactId>radeox</artifactId>
134                         <version>0.9</version>
135                 </dependency>
136
137                 <dependency>
138                         <groupId>com.github.fge</groupId>
139                         <artifactId>json-schema-validator</artifactId>
140                         <version>2.0.0</version>
141                 </dependency>
142
143                 <dependency>
144                         <groupId>org.json</groupId>
145                         <artifactId>json</artifactId>
146                         <version>20180130</version>
147                 </dependency>
148
149                 <dependency>
150                         <groupId>org.springframework.boot</groupId>
151                         <artifactId>spring-boot-starter-web</artifactId>
152                         <exclusions>
153                                 <exclusion>
154                                         <groupId>org.springframework.boot</groupId>
155                                         <artifactId>spring-boot-starter-tomcat</artifactId>
156                                 </exclusion>
157                         </exclusions>
158                 </dependency>
159
160                 <dependency>
161                         <groupId>org.springframework.boot</groupId>
162                         <artifactId>spring-boot-starter-jetty</artifactId>
163                 </dependency>
164
165                 <dependency>
166                         <groupId>org.springframework.boot</groupId>
167                         <artifactId>spring-boot-starter</artifactId>
168                         <exclusions>
169                                 <exclusion>
170                                         <groupId>ch.qos.logback</groupId>
171                                         <artifactId>logback-classic</artifactId>
172                                 </exclusion>
173                         </exclusions>
174                 </dependency>
175
176                 <dependency>
177                         <groupId>org.springframework.boot</groupId>
178                         <artifactId>spring-boot-starter-jersey</artifactId>
179                         <exclusions>
180                                 <exclusion>
181                                         <groupId>org.springframework.boot</groupId>
182                                         <artifactId>spring-boot-starter-tomcat</artifactId>
183                                 </exclusion>
184                         </exclusions>
185                 </dependency>
186
187                 <dependency>
188                         <groupId>org.springframework.boot</groupId>
189                         <artifactId>spring-boot-starter-actuator</artifactId>
190                 </dependency>
191
192                 <dependency>
193                         <groupId>org.springframework.boot</groupId>
194                         <artifactId>spring-boot-starter-test</artifactId>
195                         <scope>test</scope>
196                 </dependency>
197
198                 <dependency>
199                         <groupId>org.springframework.boot</groupId>
200                         <artifactId>spring-boot-starter-security</artifactId>
201                 </dependency>
202
203         <!--Logback classic-->
204                 <dependency>
205                         <groupId>ch.qos.logback</groupId>
206                         <artifactId>logback-classic</artifactId>
207                 </dependency>
208
209                 <dependency>
210                         <groupId>ch.qos.logback</groupId>
211                         <artifactId>logback-core</artifactId>
212                 </dependency>
213
214         </dependencies>
215
216         <repositories>
217                 <repository>
218                         <id>central</id>
219                         <name>Maven 2 repository 2</name>
220                         <url>http://repo2.maven.org/maven2/</url>
221                 </repository>
222                 <repository>
223                         <id>ecomp-releases</id>
224                         <name>ECOMP Release Repository</name>
225                         <url>${nexusproxy}/content/repositories/releases/</url>
226                 </repository>
227                 <repository>
228                         <id>ecomp-snapshots</id>
229                         <name>ECOMP Snapshot Repository</name>
230                         <url>${nexusproxy}/content/repositories/snapshots/</url>
231                 </repository>
232                 <repository>
233                         <id>ecomp-staging</id>
234                         <name>ECOMP Staging Repository</name>
235                         <url>${nexusproxy}/content/repositories/staging/</url>
236                 </repository>
237         </repositories>
238
239         <build>
240                 <finalName>search-data-service-package</finalName>
241                 <plugins>
242                         <plugin>
243                                 <groupId>org.springframework.boot</groupId>
244                                 <artifactId>spring-boot-maven-plugin</artifactId>
245                         </plugin>
246             <!-- Checkstyle plugin - used to report on compliance with -->
247             <!-- the Google style guide. -->
248                         <plugin>
249                                 <groupId>org.apache.maven.plugins</groupId>
250                                 <artifactId>maven-site-plugin</artifactId>
251                                 <configuration>
252                                         <reportPlugins>
253                                                 <plugin>
254                                                         <groupId>org.apache.maven.plugins</groupId>
255                                                         <artifactId>maven-checkstyle-plugin</artifactId>
256                                                         <version>2.17</version>
257                                                         <reportSets>
258                                                                 <reportSet>
259                                                                         <reports>
260                                                                                 <report>checkstyle</report>
261                                                                         </reports>
262                                                                 </reportSet>
263                                                         </reportSets>
264                                                 </plugin>
265                                         </reportPlugins>
266                                 </configuration>
267                         </plugin>
268             <!-- This plugin overrides the compiler settings to use java 1.8 -->
269                         <plugin>
270                                 <groupId>org.apache.maven.plugins</groupId>
271                                 <artifactId>maven-compiler-plugin</artifactId>
272                                 <configuration>
273                                         <compilerId>groovy-eclipse-compiler</compilerId>
274                                         <verbose>true</verbose>
275                                         <source>1.8</source>
276                                         <target>1.8</target>
277                                 </configuration>
278                                 <dependencies>
279                                         <dependency>
280                                                 <groupId>org.codehaus.groovy</groupId>
281                                                 <artifactId>groovy-eclipse-compiler</artifactId>
282                                                 <version>2.9.0-01</version>
283                                         </dependency>
284                                         <dependency>
285                                                 <groupId>org.codehaus.groovy</groupId>
286                                                 <artifactId>groovy-eclipse-batch</artifactId>
287                                                 <version>2.3.4-01</version>
288                                         </dependency>
289                                 </dependencies>
290                         </plugin>
291                         <plugin>
292                                 <groupId>com.spotify</groupId>
293                                 <artifactId>docker-maven-plugin</artifactId>
294                                 <version>0.4.11</version>
295                                 <configuration>
296                                         <verbose>true</verbose>
297                                         <serverId>docker-hub</serverId>
298                                         <imageName>${docker.push.registry}/onap/${docker.image.name.suffix}</imageName>
299                                         <dockerDirectory>${docker.location}</dockerDirectory>
300                                         <imageTags>
301                                                 <imageTag>latest</imageTag>
302                                         </imageTags>
303                                         <forceTags>true</forceTags>
304                                 </configuration>
305                         </plugin>
306             <!-- This plugin is used to generate Java POJO's from json format schema
307                 file. -->
308                         <plugin>
309                                 <groupId>org.jsonschema2pojo</groupId>
310                                 <artifactId>jsonschema2pojo-maven-plugin</artifactId>
311                                 <version>0.4.26</version>
312                                 <configuration>
313                                         <addCompileSourceRoot>true</addCompileSourceRoot>
314                                         <sourceDirectory>${basedir}/src/main/resources/json/schema</sourceDirectory>
315                                         <outputDirectory>${generatedSourceDir}</outputDirectory>
316                                         <targetPackage>org.onap.aai.sa.rest</targetPackage>
317                                 </configuration>
318                                 <executions>
319                                         <execution>
320                                                 <goals>
321                                                         <goal>generate</goal>
322                                                 </goals>
323                                         </execution>
324                                 </executions>
325                         </plugin>
326
327                         <plugin>
328                                 <groupId>org.apache.maven.plugins</groupId>
329                                 <artifactId>maven-resources-plugin</artifactId>
330                                 <executions>
331                                         <execution>
332                                                 <id>copy-docker-file</id>
333                                                 <phase>package</phase>
334                                                 <goals>
335                                                         <goal>copy-resources</goal>
336                                                 </goals>
337                                                 <configuration>
338                                                         <outputDirectory>target</outputDirectory>
339                                                         <overwrite>true</overwrite>
340                                                         <resources>
341                                                                 <resource>
342                                                                         <directory>${basedir}/src/main/docker</directory>
343                                                                         <filtering>true</filtering>
344                                                                         <includes>
345                                                                                 <include>**/*</include>
346                                                                         </includes>
347                                                                 </resource>
348                                                                 <resource>
349                                                                         <directory>${basedir}</directory>
350                                                                         <filtering>true</filtering>
351                                                                         <includes>
352                                                                                 <include>bundleconfig-local/**</include>
353                                                                         </includes>
354                                                                 </resource>
355                                                                 <resource>
356                                                                         <directory>${basedir}/src/main/bin/</directory>
357                                                                 </resource>
358                                                         </resources>
359                                                 </configuration>
360                                         </execution>
361                                 </executions>
362                         </plugin>
363             <!-- license plugin -->
364                         <plugin>
365                                 <groupId>com.mycila</groupId>
366                                 <artifactId>license-maven-plugin</artifactId>
367                                 <version>3.0</version>
368                                 <configuration>
369                                         <header>License.txt</header>
370                                         <includes>
371                                                 <include>src/main/java/**</include>
372                                                 <include>src/test/java/**</include>
373                                                 <include>pom.xml</include>
374                                         </includes>
375                                         <skipExistingHeaders>true</skipExistingHeaders>
376                                 </configuration>
377                                 <executions>
378                                         <execution>
379                                                 <goals>
380                                                         <goal>check</goal>
381                                                 </goals>
382                                                 <phase>validate</phase>
383                                         </execution>
384                                 </executions>
385                         </plugin>
386                         <plugin>
387                                 <groupId>org.apache.maven.plugins</groupId>
388                                 <artifactId>maven-deploy-plugin</artifactId>
389                         </plugin>
390                         <plugin>
391                                 <groupId>org.codehaus.mojo</groupId>
392                                 <artifactId>sonar-maven-plugin</artifactId>
393                                 <version>3.2</version>
394                         </plugin>
395                         <plugin>
396                                 <groupId>org.jacoco</groupId>
397                                 <artifactId>jacoco-maven-plugin</artifactId>
398                                 <version>0.7.7.201606060606</version>
399                                 <configuration>
400                                         <dumpOnExit>true</dumpOnExit>
401                                 </configuration>
402                                 <executions>
403                                         <execution>
404                                                 <id>jacoco-initialize-unit-tests</id>
405                                                 <goals>
406                                                         <goal>prepare-agent</goal>
407                                                 </goals>
408                                                 <configuration>
409                                                         <destFile>${project.build.directory}/coverage-reports/jacoco.exec
410                                                         </destFile>
411                             <!-- <append>true</append> -->
412                                                 </configuration>
413                                         </execution>
414                                         <execution>
415                                                 <id>default-check</id>
416                                                 <goals>
417                                                         <goal>check</goal>
418                                                 </goals>
419                                                 <configuration>
420                                                         <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
421                                                         <rules>
422                                 <!--  implementation is needed only for Maven 2  -->
423                                                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
424                                                                         <element>BUNDLE</element>
425                                                                         <limits>
426                                                                                 <limit implementation="org.jacoco.report.check.Limit">
427                                                                                         <counter>LINE</counter>
428                                                                                         <value>COVEREDRATIO</value>
429                                                                                         <minimum>${jacoco.line.coverage.limit}</minimum>
430                                                                                 </limit>
431                                                                         </limits>
432                                                                 </rule>
433                                                         </rules>
434                                                 </configuration>
435                                         </execution>
436                                 </executions>
437                         </plugin>
438
439             <!-- This plugin adds the generated sources directory to the clean lifecycle
440                 so that automatically generated code will get cleaned up properly. -->
441                         <plugin>
442                                 <artifactId>maven-clean-plugin</artifactId>
443                                 <configuration>
444                                         <filesets>
445                                                 <fileset>
446                                                         <directory>${generatedSourceDir}</directory>
447                                                 </fileset>
448                                         </filesets>
449                                 </configuration>
450                         </plugin>
451                 </plugins>
452         </build>
453         <distributionManagement>
454                 <repository>
455                         <id>ecomp-releases</id>
456                         <name>ECOMP Release Repository</name>
457                         <url>${nexusproxy}/content/repositories/releases/</url>
458                 </repository>
459                 <snapshotRepository>
460                         <id>ecomp-snapshots</id>
461                         <name>ECOMP Snapshot Repository</name>
462                         <url>${nexusproxy}/content/repositories/snapshots/</url>
463                 </snapshotRepository>
464                 <site>
465                         <id>ecomp-javadoc</id>
466                         <url>dav:https://ecomp-nexus:8443/repository/aai/search-data-service-javadoc/${project.version}</url>
467                 </site>
468         </distributionManagement>
469 </project>