88db9226d0a67097e11418609fa26d255aa541bf
[aai/data-router.git] / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 org.onap.aai
4 ================================================================================
5 Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 Copyright © 2017-2018 Amdocs
7 ================================================================================
8 Licensed under the Apache License, Version 2.0 (the "License");
9 you may not use this file except in compliance with the License.
10 You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14 Unless required by applicable law or agreed to in writing, software
15 distributed under the License is distributed on an "AS IS" BASIS,
16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 See the License for the specific language governing permissions and
18 limitations under the License.
19 ============LICENSE_END=========================================================
20 -->
21 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23    <modelVersion>4.0.0</modelVersion>
24
25    <parent>
26       <groupId>org.springframework.boot</groupId>
27       <artifactId>spring-boot-starter-parent</artifactId>
28       <version>1.5.19.RELEASE</version>
29       <relativePath />
30    </parent>
31    <groupId>org.onap.aai.data-router</groupId>
32    <artifactId>data-router</artifactId>
33    <version>1.4.0-SNAPSHOT</version>
34    <name>aai-data-router</name>
35
36    <properties>
37       <java.version>1.8</java.version>
38       <camel-spring-boot.version>2.21.5</camel-spring-boot.version>
39       <docker.location>${basedir}/target</docker.location>
40       <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
41       <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
42          property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
43          version, THIS will be used as your directory structure. If you do NOT want
44          this, simply remove the "-SNAPSHOT" from your <version> declaration at the
45          top of pom.xml -->
46       <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
47       <!-- For SOA Cloud Installation -->
48       <installOwnerUser>aaiadmin</installOwnerUser>
49       <installOwnerGroup>aaiadmin</installOwnerGroup>
50       <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
51       <version.aai-schema>1.0.0</version.aai-schema>
52
53       <!-- Port Selection. A value of 0 will allow for dynamic port selection.
54          For local testing, you may choose to hardcode this value to something like
55          8080 -->
56       <serverPort>0</serverPort>
57       <sslport>9502</sslport>
58
59       <testRouteOffer>workstation</testRouteOffer>
60       <testEnv>DEV</testEnv>
61       <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
62       <nexusproxy>https://nexus.onap.org</nexusproxy>
63       <!-- Sonar Properties -->
64       <sonar.language>java</sonar.language>
65       <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
66       <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
67       <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
68       <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
69       <sonar.projectVersion>${project.version}</sonar.projectVersion>
70       <logback.version>1.2.3</logback.version>
71       <version.com.google.guava>16.0.1</version.com.google.guava>
72       <shemaUnpackVersion>onap</shemaUnpackVersion>
73       <jacoco.line.coverage.limit>0.58</jacoco.line.coverage.limit>
74    </properties>
75
76    <dependencies>
77     <dependency>
78             <groupId>ch.qos.logback</groupId>
79             <artifactId>logback-core</artifactId>
80             <version>${logback.version}</version>
81         </dependency>
82         <dependency>
83             <groupId>ch.qos.logback</groupId>
84             <artifactId>logback-classic</artifactId>
85             <version>${logback.version}</version>
86         </dependency>
87         <dependency>
88             <groupId>ch.qos.logback</groupId>
89             <artifactId>logback-access</artifactId>
90             <version>${logback.version}</version>
91         </dependency>
92       <dependency>
93          <groupId>org.apache.camel</groupId>
94          <artifactId>camel-spring-boot-starter</artifactId>
95       </dependency>
96       <dependency>
97          <groupId>org.apache.camel</groupId>
98          <artifactId>camel-core</artifactId>
99          <version>${camel-spring-boot.version}</version>
100       </dependency>
101       <dependency>
102          <groupId>org.apache.camel</groupId>
103          <artifactId>camel-servlet-starter</artifactId>
104       </dependency>
105       <dependency>
106          <groupId>org.apache.camel</groupId>
107          <artifactId>camel-cxf</artifactId>
108          <version>${camel-spring-boot.version}</version>
109       </dependency>
110       <!-- Spring dependencies -->
111       <dependency>
112          <groupId>org.springframework.boot</groupId>
113          <artifactId>spring-boot-starter-web</artifactId>
114          <exclusions>
115            <exclusion>
116              <groupId>org.springframework.boot</groupId>
117              <artifactId>spring-boot-starter-tomcat</artifactId>
118            </exclusion>
119          </exclusions>
120       </dependency>
121         <dependency>
122                         <groupId>org.springframework.boot</groupId>
123                         <artifactId>spring-boot-starter-jetty</artifactId>
124                 </dependency>
125       <dependency>
126          <groupId>org.springframework.boot</groupId>
127          <artifactId>spring-boot-starter</artifactId>
128       </dependency>
129       <dependency>
130          <groupId>org.springframework.boot</groupId>
131          <artifactId>spring-boot-starter-actuator</artifactId>
132       </dependency>
133       <dependency>
134          <groupId>javax.ws.rs</groupId>
135          <artifactId>javax.ws.rs-api</artifactId>
136          <version>2.1</version>
137       </dependency>
138       <dependency>
139          <groupId>org.powermock</groupId>
140          <artifactId>powermock-module-junit4</artifactId>
141          <version>1.6.2</version>
142          <scope>test</scope>
143       </dependency>
144
145      <dependency>
146        <groupId>org.assertj</groupId>
147        <artifactId>assertj-core</artifactId>
148        <version>3.10.0</version>
149        <scope>test</scope>
150      </dependency>
151       <dependency>
152          <groupId>org.powermock</groupId>
153          <artifactId>powermock-api-mockito</artifactId>
154          <version>1.6.2</version>
155          <scope>test</scope>
156       </dependency>
157
158       <dependency>
159          <groupId>org.powermock</groupId>
160          <artifactId>powermock-module-javaagent</artifactId>
161          <version>1.6.2</version>
162          <scope>test</scope>
163       </dependency>
164
165       <dependency>
166          <groupId>org.powermock</groupId>
167          <artifactId>powermock-module-junit4-rule-agent</artifactId>
168          <version>1.6.2</version>
169          <scope>test</scope>
170       </dependency>
171       <dependency>
172                   <groupId>org.dom4j</groupId>
173                   <artifactId>dom4j</artifactId>
174                   <scope>provided</scope>
175                   <version>2.1.1</version>
176           </dependency>
177
178       <dependency>
179          <groupId>com.att.aft</groupId>
180          <artifactId>dme2</artifactId>
181          <version>3.1.200-oss</version>
182          <scope>provided</scope>
183       </dependency>
184
185       <dependency>
186          <groupId>org.onap.aai.router-core</groupId>
187          <artifactId>router-core</artifactId>
188          <version>1.4.0-SNAPSHOT</version>
189       </dependency>
190
191    
192       <dependency>
193          <groupId>org.json</groupId>
194          <artifactId>json</artifactId>
195       </dependency>
196
197       <dependency>
198          <groupId>com.google.code.gson</groupId>
199          <artifactId>gson</artifactId>
200          <version>2.6.2</version>
201       </dependency>
202
203       <dependency>
204          <groupId>org.eclipse.persistence</groupId>
205          <artifactId>eclipselink</artifactId>
206          <version>2.6.2</version>
207       </dependency>
208
209       <dependency>
210          <groupId>org.onap.aai.logging-service</groupId>
211          <artifactId>common-logging</artifactId>
212          <version>1.2.2</version>
213       </dependency>
214
215       <dependency>
216          <groupId>org.onap.aai.logging-service</groupId>
217          <artifactId>logging-api</artifactId>
218          <version>1.1.0</version>
219       </dependency>
220
221       <dependency>
222          <groupId>org.onap.aai</groupId>
223          <artifactId>rest-client</artifactId>
224          <version>1.2.1</version>
225       </dependency>
226
227     <dependency>
228         <groupId>com.google.guava</groupId>
229         <artifactId>guava</artifactId>
230         <version>${version.com.google.guava}</version>
231       </dependency>
232
233    </dependencies>
234
235    <build>
236       <finalName>${project.artifactId}</finalName>
237       <plugins>
238         <!-- jacoco-maven-plugin provides the basic report creation during unit testing, such as code-coverage, sonar, etc. -->
239          <plugin>
240             <groupId>org.jacoco</groupId>
241             <artifactId>jacoco-maven-plugin</artifactId>
242             <executions>
243                <!-- Prepares the property pointing to the JaCoCo runtime agent which
244                     is passed as VM argument when Maven the Surefire plugin is executed. -->
245                <execution>
246                   <id>pre-unit-test</id>
247                   <goals>
248                      <goal>prepare-agent</goal>
249                   </goals>
250                   <configuration>
251                      <!-- Sets the path to the file which contains the execution data. -->
252                      <destFile>${sonar.jacoco.reportPath}</destFile>
253                      <propertyName>surefireArgLine</propertyName>
254                   </configuration>
255                </execution>
256                <!-- Ensures that the code coverage report for unit tests is created
257                     after unit tests have been run. -->
258                <execution>
259                   <id>post-unit-test</id>
260                   <phase>test</phase>
261                   <goals>
262                      <goal>report</goal>
263                   </goals>
264                   <configuration>
265                      <!-- Sets the path to the file which contains the execution data. -->
266                      <dataFile>${sonar.jacoco.reportPath}</dataFile>
267                      <!-- Sets the output directory for the code coverage report. -->
268                      <outputDirectory>${jacoco.path}</outputDirectory>
269                   </configuration>
270                </execution>
271                <!-- Prepares the property pointing to the JaCoCo runtime agent which
272                     is passed as VM argument when Maven the Failsafe plugin is executed. -->
273                <execution>
274                   <id>pre-integration-test</id>
275                   <phase>pre-integration-test</phase>
276                   <goals>
277                      <goal>prepare-agent</goal>
278                   </goals>
279                   <configuration>
280                      <!-- Sets the path to the file which contains the execution data. -->
281                      <destFile>${sonar.jacoco.itReportPath}</destFile>
282                      <!-- Sets the name of the property containing the settings for JaCoCo
283                           runtime agent. -->
284                      <propertyName>failsafeArgLine</propertyName>
285                   </configuration>
286                </execution>
287                <!-- Ensures that the code coverage report for integration tests after
288                     integration tests have been run. -->
289                <execution>
290                   <id>post-integration-test</id>
291                   <phase>post-integration-test</phase>
292                   <goals>
293                      <goal>report</goal>
294                   </goals>
295                   <configuration>
296                      <!-- Sets the path to the file which contains the execution data. -->
297                      <dataFile>${sonar.jacoco.itReportPath}/</dataFile>
298                      <!-- Sets the output directory for the code coverage report. -->
299                      <outputDirectory>${jacoco.itPath}</outputDirectory>
300                   </configuration>
301                </execution>
302             </executions>
303          </plugin>
304          <!-- Checkstyle plugin - used to report on compliance with -->
305          <!-- the Google style guide. -->
306          <plugin>
307             <groupId>org.apache.maven.plugins</groupId>
308             <artifactId>maven-site-plugin</artifactId>
309             <version>3.3</version>
310             <configuration>
311                <reportPlugins>
312                   <plugin>
313                      <groupId>org.apache.maven.plugins</groupId>
314                      <artifactId>maven-checkstyle-plugin</artifactId>
315                      <version>2.17</version>
316                      <reportSets>
317                         <reportSet>
318                            <reports>
319                               <report>checkstyle</report>
320                            </reports>
321                         </reportSet>
322                      </reportSets>
323                   </plugin>
324                </reportPlugins>
325             </configuration>
326          </plugin>
327          <plugin>
328             <groupId>org.springframework.boot</groupId>
329             <artifactId>spring-boot-maven-plugin</artifactId>
330          </plugin>
331          <plugin>
332             <artifactId>maven-surefire-plugin</artifactId>
333             <version>2.21.0</version>
334             <configuration>
335                 <systemPropertyVariables>
336                     <APP_HOME>${project.basedir}</APP_HOME>
337                     <CONFIG_HOME>${project.basedir}/src/test/resources/config</CONFIG_HOME>
338                     <SERVICE_BEANS>${project.basedir}/src/test/resources/spring-beans</SERVICE_BEANS>
339                     <testShemaUnpackVersion>${shemaUnpackVersion}</testShemaUnpackVersion>
340                 </systemPropertyVariables>
341             </configuration>
342          </plugin>
343          <plugin>
344             <groupId>org.apache.maven.plugins</groupId>
345             <artifactId>maven-resources-plugin</artifactId>
346             <version>2.7</version>
347             <executions>
348                <execution>
349                   <id>copy-docker-file</id>
350                   <phase>package</phase>
351                   <goals>
352                      <goal>copy-resources</goal>
353                   </goals>
354                   <configuration>
355                      <outputDirectory>target</outputDirectory>
356                      <overwrite>true</overwrite>
357                      <resources>
358                         <resource>
359                            <directory>${basedir}/src/main/docker</directory>
360                            <filtering>true</filtering>
361                            <includes>
362                               <include>**/*</include>
363                            </includes>
364                         </resource>
365                         <resource>
366                            <directory>${basedir}</directory>
367                            <filtering>true</filtering>
368                            <includes>
369                               <include>bundleconfig-local/**</include>
370                            </includes>
371                         </resource>
372                         <resource>
373                            <directory>${basedir}/src/main/bin/</directory>
374                            <filtering>true</filtering>
375                            <includes>
376                               <include>**/*</include>
377                            </includes>
378                         </resource>
379                         <resource>
380                            <directory>${basedir}/config</directory>
381                            <filtering>true</filtering>
382                            <includes>
383                               <include>schema/**</include>
384                            </includes>
385                         </resource>
386                      </resources>
387                   </configuration>
388                </execution>
389             </executions>
390          </plugin>
391          <plugin>
392             <groupId>org.apache.maven.plugins</groupId>
393             <artifactId>maven-dependency-plugin</artifactId>
394             <executions>
395               <execution>
396                 <id>unpack</id>
397                 <phase>initialize</phase>
398                 <goals>
399                   <goal>unpack</goal>
400                 </goals>
401                 <configuration>
402                   <artifactItems>
403                     <artifactItem>
404                       <groupId>org.onap.aai.schema-service</groupId>
405                       <artifactId>aai-schema</artifactId>
406                       <version>${version.aai-schema}</version>
407                       <type>jar</type>
408                       <includes>/${shemaUnpackVersion}/oxm/</includes>
409                       <outputDirectory>${project.build.directory}/oxm</outputDirectory>
410                     </artifactItem>
411                   </artifactItems>
412                   </configuration>
413                </execution>
414             </executions>
415          </plugin>
416          <plugin>
417             <groupId>com.spotify</groupId>
418             <artifactId>docker-maven-plugin</artifactId>
419             <version>0.4.11</version>
420             <configuration>
421                <verbose>true</verbose>
422                <serverId>docker-hub</serverId>
423                <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
424                <dockerDirectory>${docker.location}</dockerDirectory>
425                <imageTags>
426                   <imageTag>latest</imageTag>
427                </imageTags>
428                <forceTags>true</forceTags>
429             </configuration>
430          </plugin>
431          <!-- license plugin -->
432          <!-- Uncomment this to add a license header to every source file
433   <plugin>
434     <groupId>com.mycila</groupId>
435     <artifactId>license-maven-plugin</artifactId>
436     <version>3.0</version>
437     <configuration>
438       <header>License.txt</header>
439       <includes>
440         <include>src/main/java/**</include>
441         <include>src/test/java/**</include>
442       </includes>
443     </configuration>
444     <executions>
445       <execution>
446         <goals>
447           <goal>format</goal>
448         </goals>
449         <phase>process-sources</phase>
450       </execution>
451     </executions>
452   </plugin> -->
453          <plugin>
454             <groupId>org.sonatype.plugins</groupId>
455             <artifactId>nexus-staging-maven-plugin</artifactId>
456             <version>1.6.7</version>
457             <extensions>true</extensions>
458             <configuration>
459                <nexusUrl>${nexusproxy}</nexusUrl>
460                <stagingProfileId>176c31dfe190a</stagingProfileId>
461                <serverId>ecomp-staging</serverId>
462             </configuration>
463          </plugin>
464          <plugin>
465             <groupId>org.apache.maven.plugins</groupId>
466             <artifactId>maven-deploy-plugin</artifactId>
467             <configuration>
468                <skip>true</skip>
469             </configuration>
470          </plugin>
471          <plugin>
472             <groupId>org.codehaus.mojo</groupId>
473             <artifactId>sonar-maven-plugin</artifactId>
474             <version>3.2</version>
475          </plugin>
476          <plugin>
477             <groupId>org.jacoco</groupId>
478             <artifactId>jacoco-maven-plugin</artifactId>
479             <version>0.7.7.201606060606</version>
480             <configuration>
481                <dumpOnExit>true</dumpOnExit>
482             </configuration>
483             <executions>
484                <execution>
485                   <id>jacoco-initialize-unit-tests</id>
486                   <goals>
487                      <goal>prepare-agent</goal>
488                   </goals>
489                   <configuration>
490                      <destFile>${project.build.directory}/coverage-reports/jacoco.exec
491                      </destFile>
492                   </configuration>
493                </execution>
494                <execution>
495                       <id>default-check</id>
496                       <goals>
497                           <goal>check</goal>
498                       </goals>
499                       <configuration>
500                          <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
501                           <rules>
502                               <!--  implementation is needed only for Maven 2  -->
503                              <rule implementation="org.jacoco.maven.RuleConfiguration">
504                                  <element>BUNDLE</element>
505                                   <limits>
506                                     <limit implementation="org.jacoco.report.check.Limit">
507                                           <counter>LINE</counter>
508                                          <value>COVEREDRATIO</value>
509                                          <minimum>${jacoco.line.coverage.limit}</minimum>
510                                      </limit>
511                                   </limits>
512                               </rule>
513                           </rules>
514                       </configuration>
515                   </execution>
516             </executions>
517          </plugin>
518
519       </plugins>
520    </build>
521
522
523    <dependencyManagement>
524       <dependencies>
525          <dependency>
526             <groupId>org.apache.camel</groupId>
527             <artifactId>camel-spring-boot-dependencies</artifactId>
528             <version>${camel-spring-boot.version}</version>
529             <type>pom</type>
530             <scope>import</scope>
531          </dependency>
532          <dependency>
533             <groupId>org.apache.httpcomponents</groupId>
534             <artifactId>httpclient</artifactId>
535             <version>4.5.5</version>
536          </dependency>
537          <dependency>
538             <groupId>org.apache.httpcomponents</groupId>
539             <artifactId>httpcore</artifactId>
540             <version>4.4.1</version>
541          </dependency>
542          <dependency>
543             <groupId>org.json</groupId>
544             <artifactId>json</artifactId>
545             <version>20131018</version>
546          </dependency>
547       </dependencies>
548    </dependencyManagement>
549    <distributionManagement>
550       <repository>
551          <id>ecomp-releases</id>
552          <name>ECOMP Release Repository</name>
553          <url>${nexusproxy}/content/repositories/releases/</url>
554       </repository>
555       <snapshotRepository>
556          <id>ecomp-snapshots</id>
557          <name>ECOMP Snapshot Repository</name>
558          <url>${nexusproxy}/content/repositories/snapshots/</url>
559       </snapshotRepository>
560    </distributionManagement>
561 </project>