31a9178c4ebf7f53bd6f25cacea3c57e5c2c6bfc
[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.15.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.1</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.4.1-SNAPSHOT</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    </properties>
74
75    <dependencies>
76     <dependency>
77             <groupId>ch.qos.logback</groupId>
78             <artifactId>logback-core</artifactId>
79             <version>${logback.version}</version>
80         </dependency>
81         <dependency>
82             <groupId>ch.qos.logback</groupId>
83             <artifactId>logback-classic</artifactId>
84             <version>${logback.version}</version>
85         </dependency>
86         <dependency>
87             <groupId>ch.qos.logback</groupId>
88             <artifactId>logback-access</artifactId>
89             <version>${logback.version}</version>
90         </dependency>
91       <dependency>
92          <groupId>org.apache.camel</groupId>
93          <artifactId>camel-spring-boot-starter</artifactId>
94       </dependency>
95       <dependency>
96          <groupId>org.apache.camel</groupId>
97          <artifactId>camel-core</artifactId>
98          <version>${camel-spring-boot.version}</version>
99       </dependency>
100       <dependency>
101          <groupId>org.apache.camel</groupId>
102          <artifactId>camel-servlet-starter</artifactId>
103       </dependency>
104       <dependency>
105          <groupId>org.apache.camel</groupId>
106          <artifactId>camel-cxf</artifactId>
107          <version>${camel-spring-boot.version}</version>
108       </dependency>
109       <!-- Spring dependencies -->
110       <dependency>
111          <groupId>org.springframework.boot</groupId>
112          <artifactId>spring-boot-starter-web</artifactId>
113          <exclusions>
114            <exclusion>
115              <groupId>org.springframework.boot</groupId>
116              <artifactId>spring-boot-starter-tomcat</artifactId>
117            </exclusion>
118          </exclusions>
119       </dependency>
120       <dependency>
121          <groupId>org.springframework.boot</groupId>
122          <artifactId>spring-boot-starter</artifactId>
123       </dependency>
124       <dependency>
125          <groupId>org.springframework.boot</groupId>
126          <artifactId>spring-boot-starter-actuator</artifactId>
127       </dependency>
128       <dependency>
129          <groupId>javax.ws.rs</groupId>
130          <artifactId>javax.ws.rs-api</artifactId>
131          <version>2.1</version>
132       </dependency>
133       <dependency>
134          <groupId>org.powermock</groupId>
135          <artifactId>powermock-module-junit4</artifactId>
136          <version>1.6.2</version>
137          <scope>test</scope>
138       </dependency>
139
140      <dependency>
141        <groupId>org.assertj</groupId>
142        <artifactId>assertj-core</artifactId>
143        <version>3.10.0</version>
144        <scope>test</scope>
145      </dependency>
146       <dependency>
147          <groupId>org.powermock</groupId>
148          <artifactId>powermock-api-mockito</artifactId>
149          <version>1.6.2</version>
150          <scope>test</scope>
151       </dependency>
152
153       <dependency>
154          <groupId>org.powermock</groupId>
155          <artifactId>powermock-module-javaagent</artifactId>
156          <version>1.6.2</version>
157          <scope>test</scope>
158       </dependency>
159
160       <dependency>
161          <groupId>org.powermock</groupId>
162          <artifactId>powermock-module-junit4-rule-agent</artifactId>
163          <version>1.6.2</version>
164          <scope>test</scope>
165       </dependency>
166       <dependency>
167                   <groupId>org.dom4j</groupId>
168                   <artifactId>dom4j</artifactId>
169                   <scope>provided</scope>
170                   <version>2.1.1</version>
171           </dependency>
172
173       <dependency>
174          <groupId>com.att.aft</groupId>
175          <artifactId>dme2</artifactId>
176          <version>3.1.200-oss</version>
177          <scope>provided</scope>
178       </dependency>
179       <!--<dependency>-->
180          <!--<groupId>org.onap.aai.aai-common</groupId>-->
181          <!--<artifactId>aai-schema</artifactId>-->
182          <!--<version>1.3.0-SNAPSHOT</version>-->
183       <!--</dependency>-->
184       <!--<dependency>-->
185         <!--<groupId>org.onap.aai.aai-common</groupId>-->
186          <!--<artifactId>aai-schema-ingest</artifactId>-->
187          <!--<version>1.2.2</version>-->
188          <!--<exclusions>-->
189              <!--<exclusion>-->
190                  <!--<groupId>com.google.guava</groupId>-->
191                  <!--<artifactId>guava</artifactId>-->
192              <!--</exclusion>-->
193          <!--</exclusions>-->
194       <!--</dependency>-->
195       <dependency>
196          <groupId>org.onap.aai.router-core</groupId>
197          <artifactId>router-core</artifactId>
198          <version>1.4.0-SNAPSHOT</version>
199       </dependency>
200
201    
202       <dependency>
203          <groupId>org.json</groupId>
204          <artifactId>json</artifactId>
205       </dependency>
206
207       <dependency>
208          <groupId>com.google.code.gson</groupId>
209          <artifactId>gson</artifactId>
210          <version>2.6.2</version>
211       </dependency>
212
213       <dependency>
214          <groupId>org.eclipse.persistence</groupId>
215          <artifactId>eclipselink</artifactId>
216          <version>2.6.2</version>
217       </dependency>
218
219       <dependency>
220          <groupId>org.onap.aai.logging-service</groupId>
221          <artifactId>common-logging</artifactId>
222          <version>1.2.2</version>
223       </dependency>
224
225       <dependency>
226          <groupId>org.onap.aai.logging-service</groupId>
227          <artifactId>logging-api</artifactId>
228          <version>1.1.0</version>
229       </dependency>
230
231       <dependency>
232          <groupId>org.onap.aai</groupId>
233          <artifactId>rest-client</artifactId>
234          <version>1.1.0</version>
235       </dependency>
236
237     <dependency>
238         <groupId>com.google.guava</groupId>
239         <artifactId>guava</artifactId>
240         <version>${version.com.google.guava}</version>
241       </dependency>
242
243    </dependencies>
244
245    <build>
246       <finalName>${project.artifactId}</finalName>
247       <plugins>
248         <!-- jacoco-maven-plugin provides the basic report creation during unit testing, such as code-coverage, sonar, etc. -->
249          <plugin>
250             <groupId>org.jacoco</groupId>
251             <artifactId>jacoco-maven-plugin</artifactId>
252             <executions>
253                <!-- Prepares the property pointing to the JaCoCo runtime agent which
254                     is passed as VM argument when Maven the Surefire plugin is executed. -->
255                <execution>
256                   <id>pre-unit-test</id>
257                   <goals>
258                      <goal>prepare-agent</goal>
259                   </goals>
260                   <configuration>
261                      <!-- Sets the path to the file which contains the execution data. -->
262                      <destFile>${sonar.jacoco.reportPath}</destFile>
263                      <propertyName>surefireArgLine</propertyName>
264                   </configuration>
265                </execution>
266                <!-- Ensures that the code coverage report for unit tests is created
267                     after unit tests have been run. -->
268                <execution>
269                   <id>post-unit-test</id>
270                   <phase>test</phase>
271                   <goals>
272                      <goal>report</goal>
273                   </goals>
274                   <configuration>
275                      <!-- Sets the path to the file which contains the execution data. -->
276                      <dataFile>${sonar.jacoco.reportPath}</dataFile>
277                      <!-- Sets the output directory for the code coverage report. -->
278                      <outputDirectory>${jacoco.path}</outputDirectory>
279                   </configuration>
280                </execution>
281                <!-- Prepares the property pointing to the JaCoCo runtime agent which
282                     is passed as VM argument when Maven the Failsafe plugin is executed. -->
283                <execution>
284                   <id>pre-integration-test</id>
285                   <phase>pre-integration-test</phase>
286                   <goals>
287                      <goal>prepare-agent</goal>
288                   </goals>
289                   <configuration>
290                      <!-- Sets the path to the file which contains the execution data. -->
291                      <destFile>${sonar.jacoco.itReportPath}</destFile>
292                      <!-- Sets the name of the property containing the settings for JaCoCo
293                           runtime agent. -->
294                      <propertyName>failsafeArgLine</propertyName>
295                   </configuration>
296                </execution>
297                <!-- Ensures that the code coverage report for integration tests after
298                     integration tests have been run. -->
299                <execution>
300                   <id>post-integration-test</id>
301                   <phase>post-integration-test</phase>
302                   <goals>
303                      <goal>report</goal>
304                   </goals>
305                   <configuration>
306                      <!-- Sets the path to the file which contains the execution data. -->
307                      <dataFile>${sonar.jacoco.itReportPath}/</dataFile>
308                      <!-- Sets the output directory for the code coverage report. -->
309                      <outputDirectory>${jacoco.itPath}</outputDirectory>
310                   </configuration>
311                </execution>
312             </executions>
313          </plugin>
314          <!-- Checkstyle plugin - used to report on compliance with -->
315          <!-- the Google style guide. -->
316          <plugin>
317             <groupId>org.apache.maven.plugins</groupId>
318             <artifactId>maven-site-plugin</artifactId>
319             <version>3.3</version>
320             <configuration>
321                <reportPlugins>
322                   <plugin>
323                      <groupId>org.apache.maven.plugins</groupId>
324                      <artifactId>maven-checkstyle-plugin</artifactId>
325                      <version>2.17</version>
326                      <reportSets>
327                         <reportSet>
328                            <reports>
329                               <report>checkstyle</report>
330                            </reports>
331                         </reportSet>
332                      </reportSets>
333                   </plugin>
334                </reportPlugins>
335             </configuration>
336          </plugin>
337          <plugin>
338             <groupId>org.springframework.boot</groupId>
339             <artifactId>spring-boot-maven-plugin</artifactId>
340          </plugin>
341          <plugin>
342             <artifactId>maven-surefire-plugin</artifactId>
343             <version>2.21.0</version>
344             <configuration>
345                 <systemPropertyVariables>
346                     <APP_HOME>${project.basedir}</APP_HOME>
347                     <CONFIG_HOME>${project.basedir}/src/test/resources/config</CONFIG_HOME>
348                     <SERVICE_BEANS>${project.basedir}/src/test/resources/spring-beans</SERVICE_BEANS>
349                     <testShemaUnpackVersion>${shemaUnpackVersion}</testShemaUnpackVersion>
350                 </systemPropertyVariables>
351             </configuration>
352          </plugin>
353          <plugin>
354             <groupId>org.apache.maven.plugins</groupId>
355             <artifactId>maven-resources-plugin</artifactId>
356             <version>2.7</version>
357             <executions>
358                <execution>
359                   <id>copy-docker-file</id>
360                   <phase>package</phase>
361                   <goals>
362                      <goal>copy-resources</goal>
363                   </goals>
364                   <configuration>
365                      <outputDirectory>target</outputDirectory>
366                      <overwrite>true</overwrite>
367                      <resources>
368                         <resource>
369                            <directory>${basedir}/src/main/docker</directory>
370                            <filtering>true</filtering>
371                            <includes>
372                               <include>**/*</include>
373                            </includes>
374                         </resource>
375                         <resource>
376                            <directory>${basedir}</directory>
377                            <filtering>true</filtering>
378                            <includes>
379                               <include>bundleconfig-local/**</include>
380                            </includes>
381                         </resource>
382                         <resource>
383                            <directory>${basedir}/src/main/bin/</directory>
384                            <filtering>true</filtering>
385                            <includes>
386                               <include>**/*</include>
387                            </includes>
388                         </resource>
389                         <resource>
390                            <directory>${basedir}/config</directory>
391                            <filtering>true</filtering>
392                            <includes>
393                               <include>schema/**</include>
394                            </includes>
395                         </resource>
396                      </resources>
397                   </configuration>
398                </execution>
399             </executions>
400          </plugin>
401          <plugin>
402             <groupId>org.apache.maven.plugins</groupId>
403             <artifactId>maven-dependency-plugin</artifactId>
404             <executions>
405               <execution>
406                 <id>unpack</id>
407                 <phase>initialize</phase>
408                 <goals>
409                   <goal>unpack</goal>
410                 </goals>
411                 <configuration>
412                   <artifactItems>
413                     <artifactItem>
414                       <groupId>org.onap.aai.aai-common</groupId>
415                       <artifactId>aai-schema</artifactId>
416                       <version>${version.aai-schema}</version>
417                       <type>jar</type>
418                       <includes>/${shemaUnpackVersion}/oxm/</includes>
419                       <outputDirectory>${project.build.directory}/oxm</outputDirectory>
420                     </artifactItem>
421                   </artifactItems>
422                   </configuration>
423                </execution>
424             </executions>
425          </plugin>
426          <plugin>
427             <groupId>com.spotify</groupId>
428             <artifactId>docker-maven-plugin</artifactId>
429             <version>0.4.11</version>
430             <configuration>
431                <verbose>true</verbose>
432                <serverId>docker-hub</serverId>
433                <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
434                <dockerDirectory>${docker.location}</dockerDirectory>
435                <imageTags>
436                   <imageTag>latest</imageTag>
437                </imageTags>
438                <forceTags>true</forceTags>
439             </configuration>
440          </plugin>
441          <!-- license plugin -->
442          <!-- Uncomment this to add a license header to every source file
443   <plugin>
444     <groupId>com.mycila</groupId>
445     <artifactId>license-maven-plugin</artifactId>
446     <version>3.0</version>
447     <configuration>
448       <header>License.txt</header>
449       <includes>
450         <include>src/main/java/**</include>
451         <include>src/test/java/**</include>
452       </includes>
453     </configuration>
454     <executions>
455       <execution>
456         <goals>
457           <goal>format</goal>
458         </goals>
459         <phase>process-sources</phase>
460       </execution>
461     </executions>
462   </plugin> -->
463          <plugin>
464             <groupId>org.sonatype.plugins</groupId>
465             <artifactId>nexus-staging-maven-plugin</artifactId>
466             <version>1.6.7</version>
467             <extensions>true</extensions>
468             <configuration>
469                <nexusUrl>${nexusproxy}</nexusUrl>
470                <stagingProfileId>176c31dfe190a</stagingProfileId>
471                <serverId>ecomp-staging</serverId>
472             </configuration>
473          </plugin>
474          <plugin>
475             <groupId>org.apache.maven.plugins</groupId>
476             <artifactId>maven-deploy-plugin</artifactId>
477             <configuration>
478                <skip>true</skip>
479             </configuration>
480          </plugin>
481          <plugin>
482             <groupId>org.codehaus.mojo</groupId>
483             <artifactId>sonar-maven-plugin</artifactId>
484             <version>3.2</version>
485          </plugin>
486          <plugin>
487             <groupId>org.jacoco</groupId>
488             <artifactId>jacoco-maven-plugin</artifactId>
489             <version>0.7.7.201606060606</version>
490             <configuration>
491                <dumpOnExit>true</dumpOnExit>
492             </configuration>
493             <executions>
494                <execution>
495                   <id>jacoco-initialize-unit-tests</id>
496                   <goals>
497                      <goal>prepare-agent</goal>
498                   </goals>
499                   <configuration>
500                      <destFile>${project.build.directory}/coverage-reports/jacoco.exec
501                      </destFile>
502                   </configuration>
503                </execution>
504             </executions>
505          </plugin>
506
507       </plugins>
508    </build>
509
510
511    <dependencyManagement>
512       <dependencies>
513          <dependency>
514             <groupId>org.apache.camel</groupId>
515             <artifactId>camel-spring-boot-dependencies</artifactId>
516             <version>${camel-spring-boot.version}</version>
517             <type>pom</type>
518             <scope>import</scope>
519          </dependency>
520          <dependency>
521             <groupId>org.apache.httpcomponents</groupId>
522             <artifactId>httpclient</artifactId>
523             <version>4.5.5</version>
524          </dependency>
525          <dependency>
526             <groupId>org.apache.httpcomponents</groupId>
527             <artifactId>httpcore</artifactId>
528             <version>4.4.1</version>
529          </dependency>
530          <dependency>
531             <groupId>org.json</groupId>
532             <artifactId>json</artifactId>
533             <version>20131018</version>
534          </dependency>
535       </dependencies>
536    </dependencyManagement>
537    <distributionManagement>
538       <repository>
539          <id>ecomp-releases</id>
540          <name>ECOMP Release Repository</name>
541          <url>${nexusproxy}/content/repositories/releases/</url>
542       </repository>
543       <snapshotRepository>
544          <id>ecomp-snapshots</id>
545          <name>ECOMP Snapshot Repository</name>
546          <url>${nexusproxy}/content/repositories/snapshots/</url>
547       </snapshotRepository>
548    </distributionManagement>
549 </project>