ea768b82e81dcdfbc9db787d31957011fd001585
[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.5.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.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                 <spring.boot.version>1.5.19.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                         <plugin>
409                                 <groupId>org.jacoco</groupId>
410                                 <artifactId>jacoco-maven-plugin</artifactId>
411                                 <version>0.7.7.201606060606</version>
412                                 <configuration>
413                                         <dumpOnExit>true</dumpOnExit>
414                                 </configuration>
415                                 <executions>
416                                         <execution>
417                                                 <id>jacoco-initialize-unit-tests</id>
418                                                 <goals>
419                                                         <goal>prepare-agent</goal>
420                                                 </goals>
421                                                 <configuration>
422                                                         <destFile>${project.build.directory}/coverage-reports/jacoco.exec
423                                                         </destFile>
424                             <!-- <append>true</append> -->
425                                                 </configuration>
426                                         </execution>
427                                         <execution>
428                                                 <id>default-check</id>
429                                                 <goals>
430                                                         <goal>check</goal>
431                                                 </goals>
432                                                 <configuration>
433                                                         <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
434                                                         <rules>
435                                 <!--  implementation is needed only for Maven 2  -->
436                                                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
437                                                                         <element>BUNDLE</element>
438                                                                         <limits>
439                                                                                 <limit implementation="org.jacoco.report.check.Limit">
440                                                                                         <counter>LINE</counter>
441                                                                                         <value>COVEREDRATIO</value>
442                                                                                         <minimum>${jacoco.line.coverage.limit}</minimum>
443                                                                                 </limit>
444                                                                         </limits>
445                                                                 </rule>
446                                                         </rules>
447                                                 </configuration>
448                                         </execution>
449                                 </executions>
450                         </plugin>
451
452             <!-- This plugin adds the generated sources directory to the clean lifecycle
453                 so that automatically generated code will get cleaned up properly. -->
454                         <plugin>
455                                 <artifactId>maven-clean-plugin</artifactId>
456                                 <configuration>
457                                         <filesets>
458                                                 <fileset>
459                                                         <directory>${generatedSourceDir}</directory>
460                                                 </fileset>
461                                         </filesets>
462                                 </configuration>
463                         </plugin>
464                 </plugins>
465         </build>
466         <distributionManagement>
467                 <repository>
468                         <id>ecomp-releases</id>
469                         <name>ECOMP Release Repository</name>
470                         <url>${nexusproxy}/content/repositories/releases/</url>
471                 </repository>
472                 <snapshotRepository>
473                         <id>ecomp-snapshots</id>
474                         <name>ECOMP Snapshot Repository</name>
475                         <url>${nexusproxy}/content/repositories/snapshots/</url>
476                 </snapshotRepository>
477                 <site>
478                         <id>ecomp-javadoc</id>
479                         <url>dav:https://ecomp-nexus:8443/repository/aai/search-data-service-javadoc/${project.version}</url>
480                 </site>
481         </distributionManagement>
482 </project>