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