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