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