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