Merge "Config to be able to route GET through datarouter"
[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     <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
95         <dependency>
96           <groupId>org.onap.aai.aai-common</groupId>
97           <artifactId>aai-schema</artifactId>
98           <version>1.1.0-SNAPSHOT</version>
99         </dependency>
100         <dependency>
101             <groupId>org.onap.aai.aai-common</groupId>
102             <artifactId>aai-utils</artifactId>
103             <version>1.1.0-SNAPSHOT</version>
104         </dependency>
105         <dependency>
106             <groupId>org.onap.aai.aai-common</groupId>
107             <artifactId>aai-core</artifactId>
108             <version>1.1.0-SNAPSHOT</version>
109             <exclusions>
110                 <exclusion>
111                     <groupId>*</groupId>
112                     <artifactId>*</artifactId>
113                 </exclusion>
114             </exclusions>
115         </dependency>
116
117         <dependency>
118              <groupId>org.onap.aai.aai-common</groupId>
119              <artifactId>aai-auth</artifactId>
120              <version>1.2.0-SNAPSHOT</version>
121         </dependency>
122
123         <dependency>
124           <groupId>org.eclipse.persistence</groupId>
125             <artifactId>eclipselink</artifactId>
126             <version>2.6.2</version>
127         </dependency>
128
129         <dependency>
130             <groupId>org.onap.aai</groupId>
131             <artifactId>rest-client</artifactId>
132             <version>1.1.0</version>
133         </dependency>
134                         <dependency>
135             <groupId>net.dongliu</groupId>
136             <artifactId>gson-java8-datatype</artifactId>
137             <version>1.0.3</version>
138         </dependency>
139         <dependency>
140             <groupId>com.jayway.jsonpath</groupId>
141             <artifactId>json-path</artifactId>
142             <version>2.2.0</version>
143         </dependency>
144                 
145                 <!-- AAI-CORE specific dependencies -->
146                 <dependency>
147                 <groupId>org.apache.tinkerpop</groupId>
148                 <artifactId>gremlin-core</artifactId> 
149                 <version>3.2.3</version>
150                 <scope>provided</scope>
151                 <exclusions>
152                     <exclusion>
153                         <groupId>org.slf4j</groupId>
154                         <artifactId>slf4j-log4j12</artifactId>
155                     </exclusion>
156                     <exclusion>
157                         <groupId>org.slf4j</groupId>
158                         <artifactId>jcl-over-slf4j</artifactId>
159                     </exclusion>
160                 </exclusions>
161      </dependency>
162
163        <dependency>
164             <groupId>org.apache.tinkerpop</groupId>
165             <artifactId>tinkergraph-gremlin</artifactId>
166             <version>3.2.3</version>
167             <scope>provided</scope>
168         </dependency>
169
170         <dependency>
171             <groupId>org.json</groupId>
172             <artifactId>json</artifactId>
173             <version>20160212</version>
174         </dependency>
175         <dependency>
176             <groupId>junit</groupId>
177             <artifactId>junit</artifactId>
178         </dependency>
179
180     </dependencies>
181
182
183     <repositories>
184       <repository>
185         <id>central</id>
186         <name>Maven 2 repository 2</name>
187         <url>http://repo2.maven.org/maven2/</url>
188       </repository>
189       <repository>
190         <id>ecomp-releases</id>
191         <name>ECOMP Release Repository</name>
192         <url>${nexusproxy}/content/repositories/releases/</url>
193       </repository>
194       <repository>
195         <id>ecomp-snapshots</id>
196         <name>ECOMP Snapshot Repository</name>
197         <url>${nexusproxy}/content/repositories/snapshots/</url>
198       </repository>
199       <repository>
200         <id>ecomp-staging</id>
201         <name>ECOMP Staging Repository</name>
202         <url>${nexusproxy}/content/repositories/staging/</url>
203       </repository>
204
205     </repositories>
206
207     <build>
208       <finalName>${project.artifactId}</finalName>
209         <plugins>
210             <plugin>
211                 <groupId>org.apache.maven.plugins</groupId>
212                 <artifactId>maven-resources-plugin</artifactId>
213                 <version>2.7</version>
214                 <executions>
215                     <execution>
216                         <id>copy-docker-file</id>
217                         <phase>package</phase>
218                         <goals>
219                             <goal>copy-resources</goal>
220                         </goals>
221                         <configuration>
222                             <outputDirectory>target</outputDirectory>
223                             <overwrite>true</overwrite>
224                             <resources>
225                                 <resource>
226                                     <directory>${basedir}/src/main/docker</directory>
227                                     <filtering>true</filtering>
228                                     <includes>
229                                         <include>**/*</include>
230                                     </includes>
231                                 </resource>
232                                 <resource>
233                                   <directory>${basedir}/src/main/bin/</directory>
234                                 </resource>
235                             </resources>
236                         </configuration>
237                     </execution>
238                 </executions>
239             </plugin>
240
241             <plugin>
242               <groupId>com.spotify</groupId>
243               <artifactId>docker-maven-plugin</artifactId>
244               <version>0.4.11</version>
245               <configuration>
246                 <verbose>true</verbose>
247                 <serverId>docker-hub</serverId>
248                 <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
249                 <dockerDirectory>${docker.location}</dockerDirectory>
250                 <imageTags>
251                   <imageTag>latest</imageTag>
252                 </imageTags>
253                 <forceTags>true</forceTags>
254               </configuration>
255             </plugin>
256
257             <!-- license plugin -->
258             <plugin>
259                 <groupId>com.mycila</groupId>
260                 <artifactId>license-maven-plugin</artifactId>
261                 <version>3.0</version>
262                 <configuration>
263                     <header>License.txt</header>
264                     <includes>
265                         <include>src/main/java/**</include>
266                     </includes>
267                 </configuration>
268                 <executions>
269                     <execution>
270                         <goals>
271                             <goal>format</goal>
272                         </goals>
273                         <phase>process-sources</phase>
274                     </execution>
275                 </executions>
276             </plugin>
277
278             <plugin>
279                 <groupId>org.apache.maven.plugins</groupId>
280                 <artifactId>maven-site-plugin</artifactId>
281                 <version>3.3</version>
282                 <configuration>
283                     <reportPlugins>
284                         <plugin>
285                             <groupId>org.apache.maven.plugins</groupId>
286                             <artifactId>maven-checkstyle-plugin</artifactId>
287                             <version>2.17</version>
288                             <reportSets>
289                                 <reportSet>
290                                     <reports>
291                                       <report>checkstyle</report>
292                                     </reports>
293                                 </reportSet>
294                             </reportSets>
295                         </plugin>
296                     </reportPlugins>
297                 </configuration>
298             </plugin>
299
300             <plugin>
301               <groupId>org.apache.maven.plugins</groupId>
302               <artifactId>maven-deploy-plugin</artifactId>
303               <configuration>
304                 <skip>true</skip>
305               </configuration>
306             </plugin>
307
308             <plugin>
309               <groupId>org.codehaus.mojo</groupId>
310               <artifactId>sonar-maven-plugin</artifactId>
311               <version>3.2</version>
312             </plugin>
313
314             <plugin>
315               <groupId>org.jacoco</groupId>
316               <artifactId>jacoco-maven-plugin</artifactId>
317               <version>0.7.7.201606060606</version>
318               <configuration>
319                 <dumpOnExit>true</dumpOnExit>
320               </configuration>
321               <executions>
322                 <execution>
323                   <id>jacoco-initialize-unit-tests</id>
324                   <goals>
325                     <goal>prepare-agent</goal>
326                   </goals>
327                   <configuration>
328                     <destFile>${project.build.directory}/coverage-reports/jacoco.exec
329                     </destFile>
330                     <!-- <append>true</append> -->
331                   </configuration>
332                 </execution>
333               </executions>
334             </plugin>
335         </plugins>
336     </build>
337
338     <profiles>
339         <profile>
340             <id>runAjsc</id>
341             <build>
342                 <defaultGoal>initialize</defaultGoal>
343                 <plugins>
344                     <plugin>
345                         <groupId>org.codehaus.mojo</groupId>
346                         <artifactId>exec-maven-plugin</artifactId>
347                         <version>1.3.2</version>
348                         <executions>
349                             <execution>
350                                 <phase>initialize</phase>
351                                 <goals>
352                                     <goal>java</goal>
353                                 </goals>
354                                 <configuration>
355                                     <includeProjectDependencies>false</includeProjectDependencies>
356                                     <includePluginDependencies>true</includePluginDependencies>
357                                     <executable>java</executable>
358                                     <mainClass>com.att.ajsc.runner.Runner</mainClass>
359                                     <executableDependency>
360                                         <groupId>com.att.ajsc</groupId>
361                                         <artifactId>ajsc-runner</artifactId>
362                                     </executableDependency>
363                                     <additionalClasspathElements>
364                                         <additionalClasspathElement>
365                                             ${basedir}/ajsc-shared-config/etc
366                                         </additionalClasspathElement>
367                                     </additionalClasspathElements>
368
369                                     <environmentVariables>
370                                         <AJSC_HOME>${runAjscHome}</AJSC_HOME>
371                                     </environmentVariables>
372
373                                     <!-- Main AJSC System Properties below (necessary for proper startup) -->
374                                     <systemProperties>
375                                         <systemProperty>
376                                             <key>AJSC_HOME</key>
377                                             <value>${runAjscHome}</value>
378                                         </systemProperty>
379                                         <systemProperty>
380                                             <key>CONFIG_HOME</key>
381                                             <value>${basedir}/appconfig-local/</value>
382                                         </systemProperty>
383                                         <systemProperty>
384                                             <key>AJSC_CONF_HOME</key>
385                                             <value>${basedir}/bundleconfig-local</value>
386                                         </systemProperty>
387                                         <systemProperty>
388                                             <key>logback.configurationFile</key>
389                                             <value>${basedir}/ajsc-shared-config/etc/logback.xml
390                                             </value>
391                                         </systemProperty>
392                                         <systemProperty>
393                                             <key>AJSC_SHARED_CONFIG</key>
394                                             <value>${basedir}/ajsc-shared-config</value>
395                                         </systemProperty>
396
397                                         <sysproperty>
398                                             <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
399                                             <value>${basedir}/target/commonLibs</value>
400                                         </sysproperty>
401                                         <sysproperty>
402                                             <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
403                                             <value>${basedir}/ajsc-shared-config/etc</value>
404                                         </sysproperty>
405
406                                         <systemProperty>
407                                             <key>AJSC_SERVICE_NAMESPACE</key>
408                                             <value>${module.ajsc.namespace.name}</value>
409                                         </systemProperty>
410                                         <systemProperty>
411                                             <key>AJSC_SERVICE_VERSION</key>
412                                             <value>${module.ajsc.namespace.version}</value>
413                                         </systemProperty>
414                                         <systemProperty>
415                                             <key>SOACLOUD_SERVICE_VERSION</key>
416                                             <value>${project.version}</value>
417                                         </systemProperty>
418                                         <systemProperty>
419                                             <key>server.port</key>
420                                             <value>${serverPort}</value>
421                                         </systemProperty>
422                                     </systemProperties>
423
424                                     <!-- Command Line Arguments to add to the java command. Here, you
425                                         can specify the port as well as the Context you want your service to run
426                                         in. Use context=/ to run in an unnamed Context (Root Context). The default
427                                         configuration of the AJSC is to run under the / Context. Setting the port
428                                         here can aid during the development phase of your service. However, you can
429                                         leave this argument out entirely, and the AJSC will default to using an Ephemeral
430                                         port. -->
431                                     <arguments>
432                                         <argument>context=/</argument>
433                                         <argument>port=${serverPort}</argument>
434                                         <argument>sslport=${sslport}</argument>
435                                     </arguments>
436                                 </configuration>
437                             </execution>
438                         </executions>
439                         <configuration>
440                             <executable>java</executable>
441                         </configuration>
442                         <dependencies>
443                             <dependency>
444                                 <groupId>com.att.ajsc</groupId>
445                                 <artifactId>ajsc-runner</artifactId>
446                                 <version>${ajscRuntimeVersion}</version>
447                             </dependency>
448                         </dependencies>
449                     </plugin>
450                 </plugins>
451             </build>
452         </profile>
453     </profiles>
454
455     <dependencyManagement>
456         <dependencies>
457             <dependency>
458                 <groupId>org.apache.httpcomponents</groupId>
459                 <artifactId>httpclient</artifactId>
460                 <version>4.5</version>
461             </dependency>
462             <dependency>
463                 <groupId>org.apache.httpcomponents</groupId>
464                 <artifactId>httpcore</artifactId>
465                 <version>4.4.1</version>
466             </dependency>
467             <dependency>
468                 <groupId>org.json</groupId>
469                 <artifactId>json</artifactId>
470                 <version>20131018</version>
471             </dependency>
472         </dependencies>
473     </dependencyManagement>
474
475     <distributionManagement>
476       <repository>
477         <id>ecomp-releases</id>
478         <name>ECOMP Release Repository</name>
479         <url>${nexusproxy}/content/repositories/releases/</url>
480       </repository>
481       <snapshotRepository>
482         <id>ecomp-snapshots</id>
483         <name>ECOMP Snapshot Repository</name>
484         <url>${nexusproxy}/content/repositories/snapshots/</url>
485       </snapshotRepository>
486       <site>
487         <id>ecomp-javadoc</id>
488         <url>dav:https://ecomp-nexus:8443/repository/aai/gizmo-javadoc/${project.version}</url>
489       </site>
490     </distributionManagement>
491 </project>