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