json/yaml validation for models
[sdc.git] / catalog-fe / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2                  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
4         <modelVersion>4.0.0</modelVersion>
5         <artifactId>catalog-fe</artifactId>
6         <packaging>war</packaging>
7
8         <parent>
9                 <groupId>org.openecomp.sdc</groupId>
10                 <artifactId>sdc-main</artifactId>
11                 <version>1.3.0-SNAPSHOT</version>
12         </parent>
13
14         <dependencies>
15
16                 <dependency>
17                         <groupId>org.functionaljava</groupId>
18                         <artifactId>functionaljava</artifactId>
19                         <version>${functionaljava.version}</version>
20                         <scope>compile</scope>
21                 </dependency>
22
23                 <dependency>
24                         <groupId>org.openecomp.sdc</groupId>
25                         <artifactId>security-utils</artifactId>
26                         <version>${project.version}</version>
27                         <scope>compile</scope>
28                 </dependency>
29
30                 <dependency>
31                         <groupId>org.openecomp.sdc</groupId>
32                         <artifactId>common-app-api</artifactId>
33                         <version>${project.version}</version>
34                 </dependency>
35
36                 <!-- File changes listener -->
37                 <dependency>
38                         <groupId>ch.qos.logback</groupId>
39                         <artifactId>logback-classic</artifactId>
40                         <version>${logback.version}</version>
41                         <scope>compile</scope>
42                 </dependency>
43
44                 <dependency>
45                         <groupId>org.codehaus.groovy</groupId>
46                         <artifactId>groovy-all</artifactId>
47                         <version>${groovy.version}</version>
48                         <scope>compile</scope>
49                 </dependency>
50
51                 <dependency>
52                         <groupId>org.codehaus.janino</groupId>
53                         <artifactId>janino</artifactId>
54                         <version>${janino.version}</version>
55                         <scope>compile</scope>
56                 </dependency>
57
58                 <dependency>
59                         <groupId>org.yaml</groupId>
60                         <artifactId>snakeyaml</artifactId>
61                         <version>${snakeyaml.version}</version>
62                         <scope>compile</scope>
63                 </dependency>
64
65                 <dependency>
66                         <groupId>org.apache.commons</groupId>
67                         <artifactId>commons-jci-core</artifactId>
68                         <version>${commons-jci-core.version}</version>
69                         <scope>compile</scope>
70                 </dependency>
71
72                 <dependency>
73                         <groupId>com.google.code.gson</groupId>
74                         <artifactId>gson</artifactId>
75                         <version>${gson.version}</version>
76                         <scope>compile</scope>
77                 </dependency>
78
79                 <dependency>
80                         <groupId>org.glassfish.jersey.containers</groupId>
81                         <artifactId>jersey-container-servlet</artifactId>
82                         <version>${jersey-bom.version}</version>
83                         <scope>compile</scope>
84                 </dependency>
85
86                 <dependency>
87                         <groupId>org.glassfish.jersey.media</groupId>
88                         <artifactId>jersey-media-multipart</artifactId>
89                         <version>${jersey-bom.version}</version>
90                         <scope>compile</scope>
91                 </dependency>
92
93                 <dependency>
94                         <groupId>org.glassfish.jersey.media</groupId>
95                         <artifactId>jersey-media-moxy</artifactId>
96                         <version>${jersey-bom.version}</version>
97                         <scope>compile</scope>
98                 </dependency>
99
100                 <dependency>
101                         <groupId>javax.mail</groupId>
102                         <artifactId>javax.mail-api</artifactId>
103                         <version>1.5.2</version>
104                         <scope>compile</scope>
105                 </dependency>
106
107                 <dependency>
108                         <groupId>org.glassfish.jersey.media</groupId>
109                         <artifactId>jersey-media-json-jackson</artifactId>
110                         <version>${jersey-bom.version}</version>
111                         <scope>compile</scope>
112                 </dependency>
113
114                 <dependency>
115                         <groupId>org.glassfish.jersey.inject</groupId>
116                         <artifactId>jersey-hk2</artifactId>
117                         <version>${jersey-bom.version}</version>
118                 </dependency>
119
120                 <dependency>
121                         <groupId>com.fasterxml.jackson.core</groupId>
122                         <artifactId>jackson-core</artifactId>
123                         <version>${jackson.version}</version>
124                         <scope>compile</scope>
125                 </dependency>
126
127                 <dependency>
128                         <groupId>com.fasterxml.jackson.core</groupId>
129                         <artifactId>jackson-databind</artifactId>
130                         <version>${jackson.version}</version>
131                         <scope>compile</scope>
132                 </dependency>
133
134                 <dependency>
135                         <groupId>com.fasterxml.jackson.core</groupId>
136                         <artifactId>jackson-annotations</artifactId>
137                         <version>${jackson-annotations.version}</version>
138                         <scope>compile</scope>
139                 </dependency>
140
141                 <!-- http client -->
142                 <dependency>
143                         <groupId>org.apache.httpcomponents</groupId>
144                         <artifactId>httpclient</artifactId>
145                         <version>${httpclient.version}</version>
146                         <scope>compile</scope>
147                 </dependency>
148
149                 <dependency>
150                         <groupId>org.apache.httpcomponents</groupId>
151                         <artifactId>httpcore</artifactId>
152                         <version>${httpcore.version}</version>
153                         <scope>compile</scope>
154                 </dependency>
155
156                 <dependency>
157                         <groupId>org.apache.httpcomponents</groupId>
158                         <artifactId>httpmime</artifactId>
159                         <version>${httpclient.version}</version>
160                         <scope>compile</scope>
161                 </dependency>
162
163                 <dependency>
164                         <groupId>commons-logging</groupId>
165                         <artifactId>commons-logging</artifactId>
166                         <version>${commons-logging}</version>
167                         <scope>compile</scope>
168                 </dependency>
169
170                 <dependency>
171                         <groupId>commons-codec</groupId>
172                         <artifactId>commons-codec</artifactId>
173                         <version>${commons-codec}</version>
174                         <scope>compile</scope>
175                 </dependency>
176                 <!-- http client END -->
177
178                 <dependency>
179                         <groupId>javax.servlet</groupId>
180                         <artifactId>javax.servlet-api</artifactId>
181                         <version>${servlet-api.version}</version>
182                         <scope>provided</scope>
183                 </dependency>
184
185                 <!-- JSON and YAML Parsing -->
186                 <dependency>
187                         <groupId>com.fasterxml.jackson.dataformat</groupId>
188                         <artifactId>jackson-dataformat-yaml</artifactId>
189                         <version>${jackson.version}</version>
190                         <scope>compile</scope>
191                 </dependency>
192
193                 <!-- Jetty Proxy -->
194                 <dependency>
195                         <groupId>org.eclipse.jetty</groupId>
196                         <artifactId>jetty-proxy</artifactId>
197                         <version>${jetty.version}</version>
198                         <scope>compile</scope>
199                 </dependency>
200
201                 <dependency>
202                         <groupId>org.eclipse.jetty</groupId>
203                         <artifactId>jetty-servlets</artifactId>
204                         <version>${jetty.version}</version>
205                         <scope>compile</scope>
206                 </dependency>
207
208                 <!-- Proxy servlet -->
209                 <dependency>
210                         <groupId>com.google.guava</groupId>
211                         <artifactId>guava</artifactId>
212                         <version>${guava.version}</version>
213                         <scope>compile</scope>
214                 </dependency>
215
216                 <!-- Aspects -->
217                 <dependency>
218                         <groupId>com.jcabi</groupId>
219                         <artifactId>jcabi-aspects</artifactId>
220                         <version>${jcabi.version}</version>
221                         <scope>compile</scope>
222                 </dependency>
223                 <dependency>
224                         <groupId>org.aspectj</groupId>
225                         <artifactId>aspectjrt</artifactId>
226                         <version>${aspectjrt.version}</version>
227                         <scope>compile</scope>
228                 </dependency>
229
230                 <dependency>
231                         <groupId>org.apache.commons</groupId>
232                         <artifactId>commons-lang3</artifactId>
233                         <version>${lang3.version}</version>
234                         <scope>compile</scope>
235                 </dependency>
236
237                 <!-- Inserted for ECOMP Portal Integration -->
238                 <dependency>
239                         <groupId>org.openecomp.ecompsdkos</groupId>
240                         <artifactId>epsdk-fw</artifactId>
241                         <version>${ecomp.version}</version>
242                         <scope>compile</scope>
243                         <exclusions>
244                                 <exclusion>
245                                         <groupId>com.att.nsa</groupId>
246                                         <artifactId>cambriaClient</artifactId>
247                                 </exclusion>
248                                 <exclusion>
249                                         <artifactId>slf4j-log4j12</artifactId>
250                                         <groupId>org.slf4j</groupId>
251                                 </exclusion>
252                         </exclusions>
253                 </dependency>
254                 <!-- System metrics -->
255                 <dependency>
256                         <groupId>org.fusesource</groupId>
257                         <artifactId>sigar</artifactId>
258                         <version>${sigar.version}</version>
259                         <scope>compile</scope>
260                 </dependency>
261
262                 <!-- TEST -->
263                 <dependency>
264                         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
265                         <artifactId>jersey-test-framework-provider-bundle</artifactId>
266                         <version>${jersey-bom.version}</version>
267                         <type>pom</type>
268                         <scope>test</scope>
269                 </dependency>
270
271                 <dependency>
272                         <groupId>org.eclipse.jetty</groupId>
273                         <artifactId>jetty-servlet</artifactId>
274                         <version>${jetty.version}</version>
275                         <scope>test</scope>
276                 </dependency>
277
278                 <dependency>
279                         <groupId>org.eclipse.jetty</groupId>
280                         <artifactId>jetty-webapp</artifactId>
281                         <version>${jetty.version}</version>
282                         <scope>test</scope>
283                 </dependency>
284
285                 <dependency>
286                         <groupId>org.mockito</groupId>
287                         <artifactId>mockito-core</artifactId>
288                         <scope>test</scope>
289                 </dependency>
290
291         </dependencies>
292
293         <build>
294
295                 <finalName>${project.artifactId}-${project.version}</finalName>
296
297                 <plugins>
298                         <plugin>
299                                 <groupId>org.apache.maven.plugins</groupId>
300                                 <artifactId>maven-war-plugin</artifactId>
301                                 <configuration>
302                                         <archive>
303                                                 <manifest>
304                                                         <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
305                                                 </manifest>
306                                         </archive>
307
308                                         <webResources>
309                                                 <resource>
310                                                         <directory>src/main/resources</directory>
311                                                 </resource>
312                                         </webResources>
313                                 </configuration>
314                         </plugin>
315
316                         <plugin>
317                                 <groupId>org.eclipse.jetty</groupId>
318                                 <artifactId>jetty-maven-plugin</artifactId>
319                                 <version>${jetty.version}</version>
320                                 <configuration>
321                                         <webApp>
322                                                 <contextPath>/</contextPath>
323                                                 <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
324                                         </webApp>
325                                         <war>${project.build.directory}/${project.build.finalName}.war</war>
326                                 </configuration>
327                         </plugin>
328
329                         <plugin>
330                                 <groupId>org.apache.maven.plugins</groupId>
331                                 <artifactId>maven-deploy-plugin</artifactId>
332                                 <configuration>
333                                         <skip>true</skip>
334                                 </configuration>
335                         </plugin>
336
337                         <plugin>
338                                 <groupId>com.jcabi</groupId>
339                                 <artifactId>jcabi-maven-plugin</artifactId>
340                                 <version>${jcabi.maven.plugin.version}</version>
341                                 <executions>
342                                         <execution>
343                                                 <goals>
344                                                         <goal>ajc</goal>
345                                                 </goals>
346                                         </execution>
347                                 </executions>
348                         </plugin>
349                         <plugin>
350                                 <groupId>org.apache.maven.plugins</groupId>
351                                 <artifactId>maven-clean-plugin</artifactId>
352                                 <executions>
353                                         <execution>
354                                                 <id>clean.catalog.fe.folder</id>
355                                                 <phase>clean</phase>
356                                                 <goals>
357                                                         <goal>clean</goal>
358                                                 </goals>
359                                                 <configuration>
360                                                         <filesets>
361                                                                 <!-- FE WAR's -->
362                                                                 <fileset>
363                                                                         <directory>${project.parent.basedir}/catalog-fe/sdc-frontend/</directory>
364                                                                         <followSymlinks>false</followSymlinks>
365                                                                         <includes>
366                                                                                 <include>*.war</include>
367                                                                         </includes>
368                                                                 </fileset>
369                                                         </filesets>
370                                                 </configuration>
371                                         </execution>
372                                 </executions>
373                         </plugin>
374                         <plugin>
375                                 <groupId>com.github.sylvainlaurent.maven</groupId>
376                                 <artifactId>yaml-json-validator-maven-plugin</artifactId>
377                                 <executions>
378                                         <execution>
379                                                 <id>validate</id>
380                                                 <phase>validate</phase>
381                                                 <goals>
382                                                         <goal>validate</goal>
383                                                 </goals>
384                                                 <configuration>
385                                                         <validationSets>
386                                                                 <validationSet>
387                                                                         <includes>
388                                                                                 <include>src/main/resources/**/*.y*ml</include>
389                                                                                 <include>src/test/resources/**/*.y*ml</include>
390                                                                         </includes>
391                                                                 </validationSet>
392                                                                 <validationSet>
393                                                                         <includes>
394                                                                                 <include>src/main/resources/**/*.json</include>
395                                                                                 <include>src/test/resources/**/*.json</include>
396                                                                         </includes>
397                                                                 </validationSet>
398                                                         </validationSets>
399                                                 </configuration>
400                                         </execution>
401                                 </executions>
402                         </plugin>
403
404                 </plugins>
405
406                 <pluginManagement>
407                         <plugins>
408                                 <!--This plugin's configuration is used to store Eclipse m2e settings
409                                         only. It has no influence on the Maven build itself. -->
410                                 <plugin>
411                                         <groupId>org.eclipse.m2e</groupId>
412                                         <artifactId>lifecycle-mapping</artifactId>
413                                         <version>1.0.0</version>
414                                         <configuration>
415                                                 <lifecycleMappingMetadata>
416                                                         <pluginExecutions>
417
418                                                                 <pluginExecution>
419                                                                         <pluginExecutionFilter>
420                                                                                 <groupId>com.jcabi</groupId>
421                                                                                 <artifactId>jcabi-maven-plugin</artifactId>
422                                                                                 <versionRange>[0.0,)</versionRange>
423                                                                                 <goals>
424                                                                                         <goal>ajc</goal>
425                                                                                 </goals>
426                                                                         </pluginExecutionFilter>
427                                                                         <action>
428                                                                                 <execute />
429                                                                         </action>
430                                                                 </pluginExecution>
431
432                                                         </pluginExecutions>
433                                                 </lifecycleMappingMetadata>
434                                         </configuration>
435                                 </plugin>
436
437                                 <!-- jacbi (log injection) -->
438
439                         </plugins>
440                 </pluginManagement>
441
442         </build>
443
444         <profiles>
445                 <profile>
446                         <id>catalog</id>
447                         <activation>
448                                 <activeByDefault>false</activeByDefault>
449                         </activation>
450
451                         <build>
452                                 <finalName>${project.artifactId}-${project.version}</finalName>
453                         </build>
454                 </profile>
455                 <profile>
456                         <id>docker-staging</id>
457                         <properties>
458                                 <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
459                                 <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
460                         </properties>
461                 </profile>
462
463                 <profile>
464                         <id>docker</id>
465                         <activation>
466                                 <activeByDefault>false</activeByDefault>
467                         </activation>
468                         <properties>
469                                 <docker.username>docker</docker.username>
470                                 <docker.password>docker</docker.password>
471                         </properties>
472                         <build>
473                                 <plugins>
474                                         <plugin>
475                                                 <groupId>org.apache.maven.plugins</groupId>
476                                                 <artifactId>maven-resources-plugin</artifactId>
477                                                 <executions>
478                                                         <execution>
479                                                                 <id>copy-resources-fe</id>
480                                                                 <phase>verify</phase>
481                                                                 <goals>
482                                                                         <goal>copy-resources</goal>
483                                                                 </goals>
484                                                                 <configuration>
485                                                                         <outputDirectory>${basedir}/sdc-frontend</outputDirectory>
486                                                                         <resources>
487                                                                                 <resource>
488                                                                                         <directory>${project.parent.basedir}/catalog-fe/target</directory>
489                                                                                         <includes>
490                                                                                                 <include>catalog-fe-${project.version}.war</include>
491                                                                                         </includes>
492                                                                                 </resource>
493                                                                                 <resource>
494                                                                                         <directory>${project.parent.basedir}/openecomp-ui/target</directory>
495                                                                                         <includes>
496                                                                                                 <include>onboarding-fe-${project.version}.war</include>
497                                                                                         </includes>
498                                                                                 </resource>
499                                                                         </resources>
500                                                                 </configuration>
501                                                         </execution>
502                                                 </executions>
503                                         </plugin>
504                                         <plugin>
505                                                 <groupId>io.fabric8</groupId>
506                                                 <artifactId>docker-maven-plugin</artifactId>
507                                                 <configuration>
508                                                         <apiVersion>1.23</apiVersion>
509                                                         <registry>nexus3.onap.org:10001</registry>
510                                                         <authConfig>
511                                                                 <pull>
512                                                                         <username>${docker.username}</username>
513                                                                         <password>${docker.password}</password>
514                                                                 </pull>
515                                                         </authConfig>
516                                                         <images>
517
518                                                                 <!-- Build frontend image -->
519                                                                 <image>
520                                                                         <name>onap/sdc-frontend</name>
521                                                                         <alias>sdc-frontend</alias>
522                                                                         <build>
523                                                                                 <cleanup>try</cleanup>
524                                                                                 <dockerFileDir>${project.basedir}/sdc-frontend</dockerFileDir>
525                                                                                 <tags>
526                                                                                         <tag>${docker.tag}</tag>
527                                                                                         <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag>
528                                                                                 </tags>
529                                                                         </build>
530                                                                 </image>
531                                                         </images>
532                                                 </configuration>
533                                                 <executions>
534                                                         <execution>
535                                                                 <id>clean-images</id>
536                                                                 <phase>pre-clean</phase>
537                                                                 <goals>
538                                                                         <goal>remove</goal>
539                                                                 </goals>
540                                                                 <configuration>
541                                                                         <removeAll>true</removeAll>
542                                                                         <image>onap/sdc-frontend</image>
543                                                                 </configuration>
544                                                         </execution>
545
546                                                         <execution>
547                                                                 <id>generate-images</id>
548                                                                 <phase>install</phase>
549                                                                 <goals>
550                                                                         <goal>build</goal>
551                                                                 </goals>
552                                                         </execution>
553
554                                                         <execution>
555                                                                 <id>push-images</id>
556                                                                 <phase>deploy</phase>
557                                                                 <goals>
558                                                                         <goal>push</goal>
559                                                                 </goals>
560                                                                 <configuration>
561                                                                         <image>onap/sdc-frontend</image>
562                                                                 </configuration>
563                                                         </execution>
564                                                 </executions>
565                                         </plugin>
566                                 </plugins>
567                         </build>
568                 </profile>
569         </profiles>
570 </project>