f8dc8be1501ae0a1f8cd2dcbbcb3784f446f0e6d
[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
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <parent>
27         <artifactId>ajsc-archetype-parent</artifactId>
28         <groupId>com.att.ajsc</groupId>
29         <version>2.0.0</version>
30     </parent>
31     <groupId>org.onap.aai.data-router</groupId>
32     <artifactId>data-router</artifactId>
33     <version>1.2.0-SNAPSHOT</version>
34     <name>aai-data-router</name>
35
36     <properties>
37         <docker.location>${basedir}/target</docker.location>
38         <module.ajsc.namespace.name>data-router</module.ajsc.namespace.name>
39         <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
40         <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
41         <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
42
43         <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
44             property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
45             version, THIS will be used as your directory structure. If you do NOT want
46             this, simply remove the "-SNAPSHOT" from your <version> declaration at the
47             top of pom.xml -->
48         <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
49         <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
50
51         <!-- For SOA Cloud Installation -->
52         <installOwnerUser>aaiadmin</installOwnerUser>
53         <installOwnerGroup>aaiadmin</installOwnerGroup>
54         <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
55
56         <!-- Port Selection. A value of 0 will allow for dynamic port selection.
57             For local testing, you may choose to hardcode this value to something like
58             8080 -->
59         <serverPort>0</serverPort>
60         <sslport>9502</sslport>
61
62         <testRouteOffer>workstation</testRouteOffer>
63         <testEnv>DEV</testEnv>
64         <checkstyle.config.location>google_checks.xml</checkstyle.config.location>
65         <nexusproxy>https://nexus.onap.org</nexusproxy>
66                       <!-- Sonar Properties -->
67               <sonar.language>java</sonar.language>
68               <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
69               <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
70               <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
71               <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
72               <sonar.projectVersion>${project.version}</sonar.projectVersion>
73     </properties>
74
75     <dependencies>
76 <dependency>
77                         <groupId>org.powermock</groupId>
78                         <artifactId>powermock-module-junit4</artifactId>
79                         <version>1.6.2</version>
80                         <scope>test</scope>
81                 </dependency>
82                 
83                 <dependency>
84                         <groupId>org.powermock</groupId>
85                         <artifactId>powermock-api-mockito</artifactId>
86                         <version>1.6.2</version>
87                         <scope>test</scope>
88                 </dependency>
89                 
90                 <dependency>
91                         <groupId>org.powermock</groupId>
92                         <artifactId>powermock-module-javaagent</artifactId>
93                         <version>1.6.2</version>
94                         <scope>test</scope>
95                 </dependency>
96                 
97                 <dependency>
98                         <groupId>org.powermock</groupId>
99                         <artifactId>powermock-module-junit4-rule-agent</artifactId>
100                         <version>1.6.2</version>
101                         <scope>test</scope>
102                 </dependency>   
103         <dependency>
104             <groupId>dom4j</groupId>
105             <artifactId>dom4j</artifactId>
106             <version>1.6.1</version>
107             <scope>provided</scope>
108         </dependency>
109
110         <dependency>
111             <groupId>com.att.aft</groupId>
112             <artifactId>dme2</artifactId>
113             <version>3.1.200</version>
114             <scope>provided</scope>
115         </dependency>
116         <dependency>
117             <groupId>org.onap.aai.aai-common</groupId>
118             <artifactId>aai-schema</artifactId>
119             <version>1.2.1-SNAPSHOT</version>
120         </dependency>
121         <dependency>
122             <groupId>org.onap.aai.router-core</groupId>
123             <artifactId>router-core</artifactId>
124             <version>1.1.0</version>
125         </dependency>
126
127         <dependency>
128             <groupId>org.json</groupId>
129             <artifactId>json</artifactId>
130         </dependency>
131
132         <dependency>
133             <groupId>com.google.code.gson</groupId>
134             <artifactId>gson</artifactId>
135             <version>2.6.2</version>
136         </dependency>
137
138         <dependency>
139             <groupId>org.eclipse.persistence</groupId>
140             <artifactId>eclipselink</artifactId>
141             <version>2.6.2</version>
142         </dependency>
143
144         <dependency>
145                         <groupId>org.onap.aai.logging-service</groupId>
146                         <artifactId>common-logging</artifactId>
147                         <version>1.1.0</version>
148                 </dependency>
149
150         <dependency>
151             <groupId>org.onap.aai.logging-service</groupId>
152             <artifactId>logging-api</artifactId>
153             <version>1.1.0</version>
154         </dependency>
155
156         <dependency>
157             <groupId>org.onap.aai</groupId>
158             <artifactId>rest-client</artifactId>
159             <version>1.1.0</version>
160         </dependency>
161
162         <dependency>
163             <groupId>ch.qos.logback</groupId>
164             <artifactId>logback-core</artifactId>
165             <version>1.1.7</version>
166         </dependency>
167
168     </dependencies>
169
170     <build>
171         <plugins>
172             <!-- Checkstyle plugin - used to report on compliance with -->
173             <!-- the Google style guide. -->
174             <plugin>
175                 <groupId>org.apache.maven.plugins</groupId>
176                 <artifactId>maven-site-plugin</artifactId>
177                 <version>3.3</version>
178                 <configuration>
179                     <reportPlugins>
180                         <plugin>
181                             <groupId>org.apache.maven.plugins</groupId>
182                             <artifactId>maven-checkstyle-plugin</artifactId>
183                             <version>2.17</version>
184                             <reportSets>
185                                 <reportSet>
186                                     <reports>
187                                         <report>checkstyle</report>
188                                     </reports>
189                                 </reportSet>
190                             </reportSets>
191                         </plugin>
192                     </reportPlugins>
193                 </configuration>
194             </plugin>
195             <plugin>
196                 <groupId>org.apache.maven.plugins</groupId>
197                 <artifactId>maven-resources-plugin</artifactId>
198                 <version>2.7</version>
199                 <executions>
200                     <execution>
201                         <id>copy-docker-file</id>
202                         <phase>package</phase>
203                         <goals>
204                             <goal>copy-resources</goal>
205                         </goals>
206                         <configuration>
207                             <outputDirectory>target</outputDirectory>
208                             <overwrite>true</overwrite>
209                             <resources>
210                                 <resource>
211                                     <directory>${basedir}/src/main/docker</directory>
212                                     <filtering>true</filtering>
213                                     <includes>
214                                         <include>**/*</include>
215                                     </includes>
216                                 </resource>
217                                 <resource>
218                                     <directory>${basedir}/src/main/bin/</directory>
219                                 </resource>
220                             </resources>
221                         </configuration>
222                     </execution>
223                 </executions>
224             </plugin>
225             <plugin>
226                 <groupId>com.spotify</groupId>
227                 <artifactId>docker-maven-plugin</artifactId>
228                 <version>0.4.11</version>
229                 <configuration>
230                     <verbose>true</verbose>
231                     <serverId>docker-hub</serverId>
232                     <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>                              
233                     <dockerDirectory>${docker.location}</dockerDirectory>
234                     <imageTags>
235                         <imageTag>latest</imageTag>
236                     </imageTags>
237                     <forceTags>true</forceTags>
238                 </configuration>
239             </plugin>
240             <!-- license plugin -->
241             <!-- Uncomment this to add a license header to every source file 
242             <plugin>
243                 <groupId>com.mycila</groupId>
244                 <artifactId>license-maven-plugin</artifactId>
245                 <version>3.0</version>
246                 <configuration>
247                     <header>License.txt</header>
248                     <includes>
249                         <include>src/main/java/**</include>
250                         <include>src/test/java/**</include>
251                     </includes>
252                 </configuration>
253                 <executions>
254                     <execution>
255                         <goals>
256                             <goal>format</goal>
257                         </goals>
258                         <phase>process-sources</phase>
259                     </execution>
260                 </executions>
261             </plugin>
262             -->
263             <plugin>
264                 <groupId>org.sonatype.plugins</groupId>
265                 <artifactId>nexus-staging-maven-plugin</artifactId>
266                 <version>1.6.7</version>
267                 <extensions>true</extensions>
268                 <configuration>
269                     <nexusUrl>${nexusproxy}</nexusUrl>
270                     <stagingProfileId>176c31dfe190a</stagingProfileId>
271                     <serverId>ecomp-staging</serverId>
272                 </configuration>
273             </plugin>
274             <plugin>
275                 <groupId>org.apache.maven.plugins</groupId>
276                 <artifactId>maven-deploy-plugin</artifactId>
277                 <configuration>
278                     <skip>true</skip>
279                 </configuration>
280             </plugin>
281             <plugin>
282                 <groupId>org.codehaus.mojo</groupId>
283                 <artifactId>sonar-maven-plugin</artifactId>
284                 <version>3.2</version>
285             </plugin>
286             <plugin>
287                 <groupId>org.jacoco</groupId>
288                 <artifactId>jacoco-maven-plugin</artifactId>
289                 <version>0.7.7.201606060606</version>
290                 <configuration>
291                     <dumpOnExit>true</dumpOnExit>
292                 </configuration>
293                 <executions>
294                     <execution>
295                         <id>jacoco-initialize-unit-tests</id>
296                         <goals>
297                             <goal>prepare-agent</goal>
298                         </goals>
299                         <configuration>
300                             <destFile>${project.build.directory}/coverage-reports/jacoco.exec
301                             </destFile>
302                         </configuration>
303                     </execution>
304                 </executions>
305             </plugin>
306             
307         </plugins>
308     </build>
309
310     <profiles>
311         <profile>
312             <id>runAjsc</id>
313             <build>
314                 <defaultGoal>initialize</defaultGoal>
315                 <plugins>
316                     <plugin>
317                         <groupId>org.codehaus.mojo</groupId>
318                         <artifactId>exec-maven-plugin</artifactId>
319                         <version>1.3.2</version>
320                         <executions>
321                             <execution>
322                                 <phase>initialize</phase>
323                                 <goals>
324                                     <goal>java</goal>
325                                 </goals>
326                                 <configuration>
327                                     <includeProjectDependencies>false</includeProjectDependencies>
328                                     <includePluginDependencies>true</includePluginDependencies>
329                                     <executable>java</executable>
330                                     <mainClass>com.att.ajsc.runner.Runner</mainClass>
331                                     <executableDependency>
332                                         <groupId>com.att.ajsc</groupId>
333                                         <artifactId>ajsc-runner</artifactId>
334                                     </executableDependency>
335                                     <additionalClasspathElements>
336                                         <additionalClasspathElement>${basedir}/ajsc-shared-config/etc</additionalClasspathElement>
337                                     </additionalClasspathElements>
338
339                                     <environmentVariables>
340                                         <AJSC_HOME>${runAjscHome}</AJSC_HOME>
341                                     </environmentVariables>
342
343                                     <!-- Main AJSC System Properties below (necessary for proper startup) -->
344                                     <systemProperties>
345                                         <systemProperty>
346                                             <key>AJSC_HOME</key>
347                                             <value>${runAjscHome}</value>
348                                         </systemProperty>
349
350                                         <systemProperty>
351                                             <key>CONFIG_HOME</key>
352                                             <value>${basedir}/appconfig-local/</value>
353                                         </systemProperty>
354
355                                         <systemProperty>
356                                             <key>AJSC_CONF_HOME</key>
357                                             <value>${basedir}/bundleconfig-local</value>
358                                         </systemProperty>
359                                         <systemProperty>
360                                             <key>logback.configurationFile</key>
361                                             <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
362                                         </systemProperty>
363                                         <systemProperty>
364                                             <key>AJSC_SHARED_CONFIG</key>
365                                             <value>${basedir}/ajsc-shared-config</value>
366                                         </systemProperty>
367
368                                         <sysproperty>
369                                             <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
370                                             <value>${basedir}/target/commonLibs</value>
371                                         </sysproperty>
372                                         <sysproperty>
373                                             <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
374                                             <value>${basedir}/ajsc-shared-config/etc</value>
375                                         </sysproperty>
376
377                                         <systemProperty>
378                                             <key>AJSC_SERVICE_NAMESPACE</key>
379                                             <value>${module.ajsc.namespace.name}</value>
380                                         </systemProperty>
381                                         <systemProperty>
382                                             <key>AJSC_SERVICE_VERSION</key>
383                                             <value>${module.ajsc.namespace.version}</value>
384                                         </systemProperty>
385                                         <systemProperty>
386                                             <key>SOACLOUD_SERVICE_VERSION</key>
387                                             <value>${project.version}</value>
388                                         </systemProperty>
389                                         <systemProperty>
390                                             <key>server.port</key>
391                                             <value>${serverPort}</value>
392                                         </systemProperty>
393                                     </systemProperties>
394
395                                     <!-- Command Line Arguments to add to the java command. Here, you
396                                         can specify the port as well as the Context you want your service to run
397                                         in. Use context=/ to run in an unnamed Context (Root Context). The default
398                                         configuration of the AJSC is to run under the / Context. Setting the port
399                                         here can aid during the development phase of your service. However, you can
400                                         leave this argument out entirely, and the AJSC will default to using an Ephemeral
401                                         port. -->
402                                     <arguments>
403                                         <argument>context=/</argument>
404                                         <argument>port=${serverPort}</argument>
405                                         <argument>sslport=${sslport}</argument>
406                                     </arguments>
407                                 </configuration>
408                             </execution>
409                         </executions>
410                         <configuration>
411                             <executable>java</executable>
412                         </configuration>
413                         <dependencies>
414                             <dependency>
415                                 <groupId>com.att.ajsc</groupId>
416                                 <artifactId>ajsc-runner</artifactId>
417                                 <version>${ajscRuntimeVersion}</version>
418                             </dependency>
419                         </dependencies>
420                     </plugin>
421                    
422                 </plugins>
423             </build>
424         </profile>
425     </profiles>
426     <dependencyManagement>
427         <dependencies>
428             <dependency>
429                 <groupId>org.apache.httpcomponents</groupId>
430                 <artifactId>httpclient</artifactId>
431                 <version>4.5</version>
432             </dependency>
433             <dependency>
434                 <groupId>org.apache.httpcomponents</groupId>
435                 <artifactId>httpcore</artifactId>
436                 <version>4.4.1</version>
437             </dependency>
438             <dependency>
439                 <groupId>org.json</groupId>
440                 <artifactId>json</artifactId>
441                 <version>20131018</version>
442             </dependency>
443         </dependencies>
444     </dependencyManagement>
445     <distributionManagement>
446         <repository>
447             <id>ecomp-releases</id>
448             <name>ECOMP Release Repository</name>
449             <url>${nexusproxy}/content/repositories/releases/</url>
450         </repository>
451         <snapshotRepository>
452             <id>ecomp-snapshots</id>
453             <name>ECOMP Snapshot Repository</name>
454             <url>${nexusproxy}/content/repositories/snapshots/</url>
455         </snapshotRepository>
456     </distributionManagement>
457 </project>