blob: cbb21dcb94ff5ff992772fc504c690ca15dea7ab [file] [log] [blame]
ChrisC5e9feb22017-06-21 02:38:57 -07001<?xml version="1.0" encoding="UTF-8"?>
Determe, Sebastien (sd378r)e35744d2017-08-29 04:21:41 -07002<!--
3 ============LICENSE_START=======================================================
4 ONAP CLAMP
5 ================================================================================
TedHumphrey4aedf732019-08-13 15:56:33 +00006 Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
Determe, Sebastien (sd378r)e35744d2017-08-29 04:21:41 -07007 reserved.
8 ================================================================================
9 Licensed under the Apache License, Version 2.0 (the "License");
10 you may not use this file except in compliance with the License.
11 You may obtain a copy of the License at
ChrisC6c9759e2017-08-30 01:13:58 -070012
Determe, Sebastien (sd378r)e35744d2017-08-29 04:21:41 -070013 http://www.apache.org/licenses/LICENSE-2.0
ChrisC6c9759e2017-08-30 01:13:58 -070014
Determe, Sebastien (sd378r)e35744d2017-08-29 04:21:41 -070015 Unless required by applicable law or agreed to in writing, software
16 distributed under the License is distributed on an "AS IS" BASIS,
17 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 See the License for the specific language governing permissions and
19 limitations under the License.
20 ============LICENSE_END============================================
21 ===================================================================
Determe, Sebastien (sd378r)e35744d2017-08-29 04:21:41 -070022-->
sebdet101193d2019-09-05 18:25:59 +020023<project xmlns="http://maven.apache.org/POM/4.0.0"
24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26 <modelVersion>4.0.0</modelVersion>
27 <groupId>org.onap.clamp</groupId>
28 <artifactId>clds</artifactId>
sebdetbd8a7bf2019-10-21 11:01:10 +020029 <version>4.2.0-SNAPSHOT</version>
sebdet101193d2019-09-05 18:25:59 +020030 <name>clamp</name>
ChrisC5e9feb22017-06-21 02:38:57 -070031
sebdeta5243a42019-06-13 13:48:04 +020032
sebdet101193d2019-09-05 18:25:59 +020033 <parent>
34 <groupId>org.onap.oparent</groupId>
35 <artifactId>oparent</artifactId>
36 <version>2.0.0</version>
37 </parent>
Determe, Sebastien (sd378r)a66fe452017-08-08 06:42:49 -070038
sebdet101193d2019-09-05 18:25:59 +020039 <description>
40 This is the MAVEN project that builds everything for ONAP CLAMP.
41 Docker engine is normally requires to perfom all possible tasks (including integration tests)
42
43 It can build:
44 - The ONAP CLAMP JAR that contains CLAMP back-end code.
45 - The DOCKER images for:
46 * CLAMP backend (Java Spring)
47 * CLAMP frontend (Javscript React)
48 * The dashboard - Elastic search
49 * The dashboard - Logstash
50 * The dashboard - Kibana
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070051
sebdet101193d2019-09-05 18:25:59 +020052 It can test:
53 - The CLAMP backend, JAVA unit testing
54 - The CLAMP backend, JAVA integration tests (with Spring + docker mariadb database + docker policy/dcae emulator written in python)
55 - The CLAMP frontend, Javascrip tests (NodeJS(NPM) + JEST + Enzyme fro React)
56
57 The test coverage for dev's can be found after a "clean install" build in:
58 - Clamp backend: target/jacoco-dev.exec (unit tests + integration tests merged)
59 or separately target/coverage-reports/jacoco.exec and target/coverage-reports/jacoco-it.exec
60 - Clamp frontend: target/ui-react/coverage
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070061
sebdet101193d2019-09-05 18:25:59 +020062 Useful mvn commands:
63 - mvn clean install: Build Clamp backend JAR + unit tests + integration tests + NPM tests (+coverage for all)
64 - mvn clean install -DskipITs=true: Build Clamp backend JAR + unit tests + NPM tests (+coverage for all), it does not require a DOCKER engine
65 - mvn clean install -DskipTests -P docker: Build Clamp backend JAR + all docker images
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070066
sebdet101193d2019-09-05 18:25:59 +020067 To start CLAMP (Build it before):
68 - Use docker-compose file in ./extra/docker/clamp/docker-compose.yml
69 - Use the script located in ./extra/bin/start-backend.sh + start-frontend.sh
70 - Use your IDE to use the Jar or start NVM/NPM
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070071
sebdet101193d2019-09-05 18:25:59 +020072 </description>
ChrisCae04cf32018-02-05 05:21:59 -080073
sebdet101193d2019-09-05 18:25:59 +020074 <properties>
75 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
76 <clamp.project.version>${project.version}</clamp.project.version>
77 <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp>
sebdet101193d2019-09-05 18:25:59 +020078 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
79 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070080
sebdet101193d2019-09-05 18:25:59 +020081 <eelf.core.version>1.0.0</eelf.core.version>
82 <camel.version>2.24.0</camel.version>
sebdet1b6a4282019-11-05 13:44:53 +010083 <springboot.version>2.2.0.RELEASE</springboot.version>
Determe, Sebastien (sd378r)8bf33432017-08-08 02:49:33 -070084
sebdet101193d2019-09-05 18:25:59 +020085 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
86 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
87 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
88 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
89 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
90 <sonar.projectVersion>${project.version}</sonar.projectVersion>
91 <!-- Enable language to disable javascript analysis -->
92 <!-- <sonar.language>java</sonar.language> -->
93 <!-- Parameters for Javascript coverage -->
sebdet337f3662019-09-06 18:11:51 +020094 <sonar.sources>src/main,${project.build.directory}/${ui.react.src}/src</sonar.sources>
sebdet101193d2019-09-05 18:25:59 +020095 <sonar.javascript.lcov.reportPaths>${project.build.directory}/${ui.react.src}/coverage/lcov.info</sonar.javascript.lcov.reportPaths>
Krysiak Adamcdfe48c2019-01-29 15:59:00 +010096
sebdet156d6ea2019-09-06 15:52:18 +020097 <sonar.exclusions>src/main/resources/**</sonar.exclusions>
xuegao4e2db352019-10-21 13:07:49 +020098 <sonar.coverage.exclusions>src/main/resources/**,target/ui-react/src/**/*.test.js,target/ui-react/src/setupTests.js,src/main/docker/kibana/*.py</sonar.coverage.exclusions>
sebdet101193d2019-09-05 18:25:59 +020099 <docker.push.registry>localhost:5000</docker.push.registry>
100 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
101 <docker.skip.build>true</docker.skip.build>
102 <docker.skip.push>true</docker.skip.push>
103 <docker.skip.tag>true</docker.skip.tag>
104 <skip.staging.artifacts>false</skip.staging.artifacts>
105 <python.http.proxy.param />
sebdet1b6a4282019-11-05 13:44:53 +0100106 <tomcat.version>9.0.27</tomcat.version>
sebdet101193d2019-09-05 18:25:59 +0200107 <ui.react.src>ui-react</ui.react.src>
sebdet6b214fe2019-10-24 10:37:58 +0200108 <npm.publish.url>https://nexus3.onap.org/repository/npm.release/</npm.publish.url>
sebdet101193d2019-09-05 18:25:59 +0200109 </properties>
ChrisC5e9feb22017-06-21 02:38:57 -0700110
sebdet101193d2019-09-05 18:25:59 +0200111 <profiles>
112 <profile>
113 <id>without-test</id>
114 <activation>
115 <property>
116 <name>maven.test.skip</name>
117 <value>true</value>
118 </property>
119 </activation>
120 <properties>
121 <docker.skip.run>true</docker.skip.run>
122 <docker.skip>true</docker.skip>
123 </properties>
124 </profile>
125 <profile>
126 <id>without-IT-only</id>
127 <activation>
128 <property>
129 <name>skipITs</name>
130 <value>true</value>
131 </property>
132 </activation>
133 <properties>
134 <docker.skip.run>true</docker.skip.run>
135 <docker.skip>true</docker.skip>
136 </properties>
137 </profile>
138 <profile>
139 <id>without-IT-only2</id>
140 <activation>
141 <property>
142 <name>skipTests</name>
143 <value>true</value>
144 </property>
145 </activation>
146 <properties>
147 <docker.skip.run>true</docker.skip.run>
148 <docker.skip>true</docker.skip>
149 </properties>
150 </profile>
151 <profile>
152 <id>docker</id>
153 <properties>
154 <skip.staging.artifacts>true</skip.staging.artifacts>
155 <docker.skip.build>false</docker.skip.build>
156 <docker.skip.tag>false</docker.skip.tag>
157 <docker.skip.push>false</docker.skip.push>
158 <docker.skip>false</docker.skip>
159 </properties>
160 </profile>
161 </profiles>
Determe, Sebastien (sd378r)d3428d82018-06-26 15:05:55 +0200162
sebdet101193d2019-09-05 18:25:59 +0200163 <distributionManagement>
164 <repository>
165 <id>ecomp-releases</id>
166 <name>Clamp Release Repository</name>
167 <url>https://nexus.onap.org/content/repositories/releases/</url>
168 </repository>
169 <snapshotRepository>
170 <id>ecomp-snapshots</id>
171 <name>Clamp Snapshot Repository</name>
172 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
173 </snapshotRepository>
174 <site>
175 <id>ecomp-site</id>
176 <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
177 </site>
178 </distributionManagement>
ChrisC5e9feb22017-06-21 02:38:57 -0700179
sebdet101193d2019-09-05 18:25:59 +0200180 <repositories>
181 <repository>
182 <id>onap-public</id>
183 <name>onap-public</name>
184 <url>https://nexus.onap.org/content/repositories/public/</url>
185 <releases>
186 <enabled>true</enabled>
187 </releases>
188 <snapshots>
189 <enabled>false</enabled>
190 </snapshots>
191 </repository>
192 <repository>
193 <id>ecomp-releases</id>
194 <name>ONAP Release Repository</name>
195 <url>https://nexus.onap.org/content/repositories/releases/</url>
196 </repository>
197 <repository>
198 <id>ecomp-staging</id>
199 <name>ONAP Staging Repository</name>
200 <url>https://nexus.onap.org/content/repositories/staging/</url>
201 </repository>
202 <repository>
203 <id>ecomp-snapshots</id>
204 <name>ONAP Snapshot Repository</name>
205 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
206 <snapshots>
207 <enabled>true</enabled>
208 </snapshots>
209 <releases>
210 <enabled>false</enabled>
211 </releases>
212 </repository>
213 <repository>
214 <id>central</id>
215 <url>http://repo1.maven.org/maven2/</url>
216 </repository>
217 </repositories>
218 <pluginRepositories>
219 <pluginRepository>
220 <id>onap-public</id>
221 <name>onap-public</name>
222 <url>https://nexus.onap.org/content/repositories/public/</url>
223 <releases>
224 <enabled>true</enabled>
225 </releases>
226 <snapshots>
227 <enabled>false</enabled>
228 </snapshots>
229 </pluginRepository>
230 <pluginRepository>
231 <id>central</id>
232 <url>http://repo1.maven.org/maven2/</url>
233 </pluginRepository>
234 </pluginRepositories>
ChrisC5e9feb22017-06-21 02:38:57 -0700235
sebdet101193d2019-09-05 18:25:59 +0200236 <dependencyManagement>
Determe, Sebastien (sd378r)b4f7cb62017-11-16 13:27:22 +0100237 <dependencies>
sebdet101193d2019-09-05 18:25:59 +0200238 <!-- Spring Boot BOM -->
Piotr Darosz6eb37422019-03-08 14:50:29 +0100239 <dependency>
sebdet101193d2019-09-05 18:25:59 +0200240 <groupId>org.springframework.boot</groupId>
241 <artifactId>spring-boot-dependencies</artifactId>
242 <version>${springboot.version}</version>
243 <type>pom</type>
244 <scope>import</scope>
Piotr Darosz6eb37422019-03-08 14:50:29 +0100245 </dependency>
sebdet101193d2019-09-05 18:25:59 +0200246 <!-- Camel BOM -->
Piotr Darosz6eb37422019-03-08 14:50:29 +0100247 <dependency>
sebdet101193d2019-09-05 18:25:59 +0200248 <groupId>org.apache.camel</groupId>
249 <artifactId>camel-spring-boot-dependencies</artifactId>
250 <version>${camel.version}</version>
251 <type>pom</type>
252 <scope>import</scope>
Piotr Darosz6eb37422019-03-08 14:50:29 +0100253 </dependency>
sebdet101193d2019-09-05 18:25:59 +0200254 </dependencies>
255 </dependencyManagement>
256
257 <dependencies>
258 <dependency>
259 <groupId>org.apache.xmlgraphics</groupId>
260 <artifactId>batik-svggen</artifactId>
261 <version>1.11</version>
262 </dependency>
263 <dependency>
264 <groupId>org.apache.xmlgraphics</groupId>
265 <artifactId>batik-svg-dom</artifactId>
266 <version>1.11</version>
267 </dependency>
268 <dependency>
269 <groupId>org.apache.xmlgraphics</groupId>
270 <artifactId>batik-transcoder</artifactId>
271 <version>1.11</version>
272 </dependency>
273 <dependency>
274 <groupId>com.att.eelf</groupId>
275 <artifactId>eelf-core</artifactId>
276 <version>${eelf.core.version}</version>
sebdet1b6a4282019-11-05 13:44:53 +0100277 <exclusions>
278 <exclusion>
279 <groupId>org.powermock</groupId>
280 <artifactId>powermock-module-junit4</artifactId>
281 </exclusion>
282 <exclusion>
283 <groupId>org.powermock</groupId>
284 <artifactId>powermock-api-mockito</artifactId>
285 </exclusion>
286 </exclusions>
sebdet101193d2019-09-05 18:25:59 +0200287 </dependency>
288 <dependency>
289 <groupId>org.codehaus.janino</groupId>
290 <artifactId>janino</artifactId>
291 <version>3.0.8</version>
292 </dependency>
293 <dependency>
294 <groupId>org.apache.tomcat.embed</groupId>
295 <artifactId>tomcat-embed-core</artifactId>
296 <version>${tomcat.version}</version>
297 </dependency>
298 <dependency>
299 <groupId>org.apache.tomcat.embed</groupId>
300 <artifactId>tomcat-embed-el</artifactId>
301 <version>${tomcat.version}</version>
302 </dependency>
303 <dependency>
304 <groupId>org.apache.tomcat.embed</groupId>
305 <artifactId>tomcat-embed-websocket</artifactId>
306 <version>${tomcat.version}</version>
307 </dependency>
308 <dependency>
309 <groupId>org.apache.tomcat</groupId>
310 <artifactId>tomcat-annotations-api</artifactId>
311 <version>${tomcat.version}</version>
312 </dependency>
313 <!-- For CAMEL -->
314 <dependency>
315 <groupId>org.apache.camel</groupId>
316 <artifactId>camel-http4-starter</artifactId>
317 </dependency>
318 <dependency>
319 <groupId>org.apache.camel</groupId>
320 <artifactId>camel-spring-boot-starter</artifactId>
321 </dependency>
322 <dependency>
323 <groupId>org.apache.camel</groupId>
324 <artifactId>camel-jaxb-starter</artifactId>
325 </dependency>
326 <dependency>
327 <groupId>org.apache.camel</groupId>
328 <artifactId>camel-servlet-starter</artifactId>
329 </dependency>
330 <dependency>
331 <groupId>org.apache.camel</groupId>
332 <artifactId>camel-gson-starter</artifactId>
333 </dependency>
334 <dependency>
335 <groupId>org.apache.camel</groupId>
336 <artifactId>camel-swagger-java-starter</artifactId>
337 <exclusions>
338 <exclusion>
339 <groupId>javax.ws.rs</groupId>
340 <artifactId>jsr311-api</artifactId>
341 </exclusion>
342 <exclusion>
343 <groupId>org.slf4j</groupId>
344 <artifactId>slf4j-ext</artifactId>
345 </exclusion>
346 <exclusion>
347 <groupId>com.fasterxml.jackson.core</groupId>
348 <artifactId>jackson-databind</artifactId>
349 </exclusion>
350 </exclusions>
351 </dependency>
352 <dependency>
353 <groupId>javax.xml.bind</groupId>
354 <artifactId>jaxb-api</artifactId>
355 <version>2.3.0</version>
356 </dependency>
357 <dependency>
358 <groupId>org.glassfish.jersey.core</groupId>
359 <artifactId>jersey-common</artifactId>
360 <version>2.27</version>
361 </dependency>
362 <!-- Spring famework -->
363 <dependency>
364 <groupId>org.springframework.boot</groupId>
365 <artifactId>spring-boot-starter-web</artifactId>
366 <exclusions>
367 <exclusion>
368 <groupId>org.springframework.boot</groupId>
369 <artifactId>spring-boot-starter-json</artifactId>
370 </exclusion>
371 </exclusions>
372 </dependency>
373 <dependency>
374 <groupId>org.springframework.boot</groupId>
375 <artifactId>spring-boot-starter-tomcat</artifactId>
376 </dependency>
377 <dependency>
378 <groupId>org.springframework</groupId>
379 <artifactId>spring-jdbc</artifactId>
380 </dependency>
381 <dependency>
382 <groupId>org.springframework.boot</groupId>
383 <artifactId>spring-boot-starter-security</artifactId>
384 </dependency>
385 <dependency>
386 <groupId>org.springframework.boot</groupId>
387 <artifactId>spring-boot-autoconfigure</artifactId>
388 </dependency>
389 <dependency>
390 <groupId>org.springframework.boot</groupId>
391 <artifactId>spring-boot-starter-test</artifactId>
392 <scope>test</scope>
393 <exclusions>
394 <exclusion>
395 <groupId>com.vaadin.external.google</groupId>
396 <artifactId>android-json</artifactId>
397 </exclusion>
398 </exclusions>
399 </dependency>
400 <dependency>
401 <groupId>org.springframework.boot</groupId>
402 <artifactId>spring-boot-starter-data-jpa</artifactId>
403 </dependency>
404 <!-- Others dependencies -->
405 <dependency>
406 <groupId>org.onap.aaf.authz</groupId>
407 <artifactId>aaf-cadi-aaf</artifactId>
sebdetdcc4bdc2019-10-15 14:04:00 +0200408 <version>2.1.15</version>
sebdet101193d2019-09-05 18:25:59 +0200409 <exclusions>
410 <exclusion>
411 <groupId>javax.servlet</groupId>
412 <artifactId>servlet-api</artifactId>
413 </exclusion>
414 </exclusions>
415 </dependency>
416 <dependency>
417 <groupId>ch.qos.logback</groupId>
418 <artifactId>logback-core</artifactId>
419 <version>1.2.3</version>
420 </dependency>
421 <dependency>
422 <groupId>ch.qos.logback</groupId>
423 <artifactId>logback-classic</artifactId>
424 <version>1.2.3</version>
425 </dependency>
426 <dependency>
427 <groupId>commons-dbcp</groupId>
428 <artifactId>commons-dbcp</artifactId>
429 <version>1.4</version>
430 </dependency>
431 <dependency>
432 <groupId>commons-io</groupId>
433 <artifactId>commons-io</artifactId>
434 <version>2.6</version>
435 </dependency>
436 <dependency>
437 <groupId>com.googlecode.json-simple</groupId>
438 <artifactId>json-simple</artifactId>
439 <version>1.1.1</version>
440 </dependency>
441 <dependency>
442 <groupId>org.apache.commons</groupId>
443 <artifactId>commons-vfs2</artifactId>
444 <version>2.2</version>
445 </dependency>
446 <dependency>
447 <groupId>joda-time</groupId>
448 <artifactId>joda-time</artifactId>
449 </dependency>
450 <dependency>
451 <groupId>org.slf4j</groupId>
452 <artifactId>slf4j-api</artifactId>
453 </dependency>
454 <dependency>
455 <groupId>javax.ws.rs</groupId>
456 <artifactId>javax.ws.rs-api</artifactId>
457 <version>2.0</version>
458 </dependency>
459 <dependency>
460 <groupId>junit</groupId>
461 <artifactId>junit</artifactId>
462 </dependency>
463 <dependency>
464 <groupId>javax.transaction</groupId>
465 <artifactId>jta</artifactId>
466 <version>1.1</version>
467 </dependency>
468 <dependency>
469 <groupId>javax.persistence</groupId>
470 <artifactId>persistence-api</artifactId>
471 <version>1.0.2</version>
472 </dependency>
473 <dependency>
sebdet101193d2019-09-05 18:25:59 +0200474 <groupId>org.apache.commons</groupId>
475 <artifactId>commons-csv</artifactId>
476 <version>1.3</version>
477 </dependency>
478 <!-- Other dependencies to fix nexus IQ reported vulnerabilities -->
479 <dependency>
480 <groupId>org.codehaus.plexus</groupId>
481 <artifactId>plexus-utils</artifactId>
482 <version>3.0.24</version>
483 </dependency>
484 <dependency>
485 <groupId>org.jboss.spec.javax.ws.rs</groupId>
486 <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
487 <version>1.0.1.Final</version>
488 </dependency>
489 <dependency>
490 <groupId>com.google.guava</groupId>
491 <artifactId>guava</artifactId>
492 <version>27.0-jre</version>
493 </dependency>
sebdete77e0ff2019-09-09 13:18:35 +0200494 <dependency>
495 <groupId>commons-codec</groupId>
496 <artifactId>commons-codec</artifactId>
497 <version>1.13</version>
498 </dependency>
sebdet101193d2019-09-05 18:25:59 +0200499 <!-- Remove the MYSQL connector and replace it by Mariadb -->
500 <dependency>
501 <groupId>org.mariadb.jdbc</groupId>
502 <artifactId>mariadb-java-client</artifactId>
503 <version>2.2.1</version>
504 </dependency>
505 <!-- For SDC Controller -->
506 <dependency>
507 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
508 <artifactId>sdc-distribution-client</artifactId>
509 <version>1.3.0</version>
510 </dependency>
511 <dependency>
512 <groupId>org.onap.sdc.sdc-tosca</groupId>
513 <artifactId>sdc-tosca</artifactId>
514 <version>1.5.1</version>
515 </dependency>
516 <!-- TESTING -->
517 <dependency>
518 <groupId>org.assertj</groupId>
519 <artifactId>assertj-core</artifactId>
520 <version>3.10.0</version>
521 <scope>test</scope>
522 </dependency>
523 <dependency>
524 <groupId>org.mockito</groupId>
525 <artifactId>mockito-core</artifactId>
sebdet1b6a4282019-11-05 13:44:53 +0100526 <version>2.28.2</version>
527 <scope>test</scope>
528 </dependency>
529 <dependency>
530 <groupId>org.powermock</groupId>
531 <artifactId>powermock-api-mockito2</artifactId>
532 <version>2.0.4</version>
533 <scope>test</scope>
534 </dependency>
535 <dependency>
536 <groupId>org.powermock</groupId>
537 <artifactId>powermock-module-junit4</artifactId>
538 <version>2.0.4</version>
sebdet101193d2019-09-05 18:25:59 +0200539 <scope>test</scope>
540 </dependency>
541 </dependencies>
542
543 <build>
544 <finalName>clamp</finalName>
545
546 <testResources>
547 <testResource>
548 <directory>src/test/resources</directory>
549 <excludes>
550 <exclude>**/*.jks</exclude>
551 <exclude>**/*.csar</exclude>
552 </excludes>
553 <filtering>true</filtering>
554 </testResource>
555 <testResource>
556 <directory>src/test/resources/https</directory>
557 <includes>
558 <include>**.jks</include>
559 </includes>
560 <filtering>false</filtering>
561 <targetPath>https</targetPath>
562 </testResource>
563 <testResource>
564 <directory>src/test/resources/example/sdc</directory>
565 <includes>
566 <include>**.csar</include>
567 </includes>
568 <filtering>false</filtering>
569 <targetPath>example/sdc</targetPath>
570 </testResource>
571 </testResources>
572 <resources>
573 <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise
574 they will be broken and unreadable -->
575 <resource>
576 <directory>src/main/resources</directory>
577 <filtering>true</filtering>
578 <excludes>
579 <exclude>clds/aaf/**</exclude>
580 </excludes>
581 </resource>
582 <resource>
583 <directory>src/main/resources</directory>
584 <filtering>false</filtering>
585 <includes>
586 <include>clds/aaf/**</include>
587 </includes>
588 </resource>
589 <resource>
590 <directory>${ui.react.src}</directory>
591 <includes>
592 <include>src/**</include>
593 <include>public/**</include>
594 <include>package.json</include>
595 <include>package-lock.json</include>
596 </includes>
597 <filtering>true</filtering>
598 <targetPath>${project.build.directory}/${ui.react.src}</targetPath>
599 </resource>
600 </resources>
601
602 <plugins>
603 <plugin>
604 <groupId>de.jpdigital</groupId>
605 <artifactId>hibernate52-ddl-maven-plugin</artifactId>
606 <version>2.2.0</version>
607 <dependencies>
608 <dependency>
Determe, Sebastien (sd378r)f7855162018-04-27 14:02:39 +0200609 <groupId>javax.xml.bind</groupId>
610 <artifactId>jaxb-api</artifactId>
611 <version>2.3.0</version>
sebdet101193d2019-09-05 18:25:59 +0200612 </dependency>
613 </dependencies>
614 <executions>
615 <execution>
616 <phase>process-classes</phase>
617 <goals>
618 <goal>gen-ddl</goal>
619 </goals>
sebdete4422002018-10-16 17:47:54 +0200620 <configuration>
sebdet101193d2019-09-05 18:25:59 +0200621 <packages>
622 <param>org.onap.clamp.dao.model</param>
623 </packages>
624 <dialects>
625 <param>MARIADB53</param>
626 </dialects>
627 <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory>
628 <outputFileNameSuffix>create-tables</outputFileNameSuffix>
629 <!-- <createDropStatements>true</createDropStatements> -->
630 <omitDialectFromFileName>true</omitDialectFromFileName>
sebdete4422002018-10-16 17:47:54 +0200631 </configuration>
sebdet101193d2019-09-05 18:25:59 +0200632 </execution>
633 </executions>
634
635 </plugin>
636 <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
637 a list of .adoc files containing the APIs info in more structured way -->
638 <plugin>
639 <groupId>io.github.swagger2markup</groupId>
640 <artifactId>swagger2markup-maven-plugin</artifactId>
641 <version>1.3.3</version>
642 <dependencies>
643 <dependency>
644 <groupId>io.github.swagger2markup</groupId>
645 <artifactId>swagger2markup-import-files-ext</artifactId>
646 <version>1.3.3</version>
647 </dependency>
648 <dependency>
649 <groupId>io.github.swagger2markup</groupId>
650 <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
651 <version>1.3.3</version>
652 </dependency>
653 </dependencies>
654 <configuration>
655 <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput>
656 <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
657 <config>
658 <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
659 </config>
660 </configuration>
661 <executions>
662 <execution>
663 <phase>post-integration-test</phase>
664 <goals>
665 <goal>convertSwagger2markup</goal>
666 </goals>
667 </execution>
668 </executions>
669 </plugin>
670
671 <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
672 types, such as PDFs or HTML5 -->
673 <plugin>
674 <groupId>org.asciidoctor</groupId>
675 <artifactId>asciidoctor-maven-plugin</artifactId>
676 <version>1.5.7.1</version>
677 <dependencies>
678 <dependency>
679 <groupId>org.asciidoctor</groupId>
680 <artifactId>asciidoctorj-pdf</artifactId>
681 <version>1.5.0-alpha.10.1</version>
682 </dependency>
683 </dependencies>
684 <configuration>
685 <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
686 <sourceDocumentName>swagger.adoc</sourceDocumentName>
687 <attributes>
688 <doctype>book</doctype>
689 <toc>left</toc>
690 <toclevels>3</toclevels>
691 <numbered />
692 <hardbreaks />
693 <sectlinks />
694 <sectanchors />
695 <generated>${project.build.directory}/asciidoc/generated</generated>
696 </attributes>
697 </configuration>
698
699 <executions>
700 <execution>
701 <id>output-html</id>
702 <phase>post-integration-test</phase>
703 <goals>
704 <goal>process-asciidoc</goal>
705 </goals>
706 <configuration>
707 <backend>html5</backend>
708 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
709 <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
710 </configuration>
711 </execution>
712 <execution>
713 <id>output-pdf</id>
714 <phase>post-integration-test</phase>
715 <goals>
716 <goal>process-asciidoc</goal>
717 </goals>
718 <configuration>
719 <backend>pdf</backend>
720 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
721 </configuration>
722 </execution>
723 </executions>
724 </plugin>
725 <plugin>
726 <groupId>org.codehaus.groovy.maven</groupId>
727 <artifactId>gmaven-plugin</artifactId>
728 <version>1.0</version>
729 <executions>
730 <execution>
731 <phase>validate</phase>
732 <goals>
733 <goal>execute</goal>
734 </goals>
735 <configuration>
736 <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
737 </configuration>
738 </execution>
739 </executions>
740 </plugin>
741 <plugin>
sebdetc6622c42019-11-05 18:28:05 +0100742 <groupId>org.codehaus.groovy.maven</groupId>
743 <artifactId>gmaven-plugin</artifactId>
744 <version>1.0</version>
745 <executions>
746 <execution>
747 <phase>validate</phase>
748 <goals>
749 <goal>execute</goal>
750 </goals>
751 <configuration>
752 <source>${project.basedir}/src/main/script/SelectNpmRepo.groovy</source>
753 </configuration>
754 </execution>
755 </executions>
756 </plugin>
757 <plugin>
sebdet101193d2019-09-05 18:25:59 +0200758 <groupId>org.apache.maven.plugins</groupId>
759 <artifactId>maven-jar-plugin</artifactId>
760 <version>3.0.2</version>
761 <executions>
762 <execution>
763 <id>jar-with-only-classes</id>
764 <phase>package</phase>
765 <goals>
766 <goal>jar</goal>
767 </goals>
768 <configuration>
769 <classifier>classes</classifier>
770 <includes>
771 <include>org/**</include>
772 </includes>
773 </configuration>
774 </execution>
775 </executions>
776 </plugin>
777 <plugin>
778 <groupId>org.codehaus.mojo</groupId>
779 <artifactId>build-helper-maven-plugin</artifactId>
780 <version>3.0.0</version>
781 <executions>
782 <execution>
783 <goals>
784 <goal>attach-artifact</goal>
785 </goals>
786 <phase>package</phase>
787 <configuration>
788 <artifacts>
789 <artifact>
790 <file>${project.build.directory}/clamp-classes.jar</file>
791 <type>jar</type>
792 <classifier>classes</classifier>
793 </artifact>
794 </artifacts>
795 </configuration>
796 </execution>
797 <execution>
798 <id>reserve-port-for-tests</id>
799 <phase>process-resources</phase>
800 <goals>
801 <goal>reserve-network-port</goal>
802 </goals>
803 <configuration>
804 <portNames>
805 <portName>docker.mariadb.port.host</portName>
806 <portName>docker.http-cache.port.host</portName>
807 <portName>clamp.it.tests.http-redirected</portName>
808 <portName>clamp.it.tests.https</portName>
809 <portName>clamp.it.tests.http</portName>
810 </portNames>
811 </configuration>
812 </execution>
813 </executions>
814 </plugin>
815
816 <plugin>
817 <groupId>org.springframework.boot</groupId>
818 <artifactId>spring-boot-maven-plugin</artifactId>
819 <!-- Temporary fix -->
820 <version>1.5.13.RELEASE</version>
821 <!-- <version>${springboot.version}</version> -->
822 <executions>
823 <execution>
824 <goals>
825 <goal>repackage</goal>
826 </goals>
827 <phase>package</phase>
828 </execution>
829 </executions>
830 </plugin>
831 <plugin>
832 <groupId>org.apache.maven.plugins</groupId>
833 <artifactId>maven-surefire-plugin</artifactId>
sebdet1b6a4282019-11-05 13:44:53 +0100834 <version>2.22.2</version>
sebdet101193d2019-09-05 18:25:59 +0200835 <configuration>
836 <forkCount>1C</forkCount>
837 <reuseForks>true</reuseForks>
838 <useSystemClassLoader>false</useSystemClassLoader>
839 <argLine>${surefireArgLine}</argLine>
840 </configuration>
841 </plugin>
842
843 <plugin>
844 <groupId>org.apache.maven.plugins</groupId>
845 <artifactId>maven-failsafe-plugin</artifactId>
sebdet1b6a4282019-11-05 13:44:53 +0100846 <version>2.22.2</version>
sebdet101193d2019-09-05 18:25:59 +0200847 <executions>
848 <execution>
849 <id>integration-tests</id>
850 <goals>
851 <goal>integration-test</goal>
852 <goal>verify</goal>
853 </goals>
854 <configuration>
855 <additionalClasspathElements>
856 <additionalClasspathElement>${project.build.directory}/classes</additionalClasspathElement>
857 </additionalClasspathElements>
858 <includes>
859 <include>**/*ItCase.java</include>
860 </includes>
861 <forkCount>1</forkCount>
862 <reuseForks>true</reuseForks>
863 <useSystemClassLoader>false</useSystemClassLoader>
864 <argLine>${failsafeArgLine}</argLine>
865 </configuration>
866 </execution>
867 </executions>
sebdet101193d2019-09-05 18:25:59 +0200868 </plugin>
869 <plugin>
870 <groupId>io.fabric8</groupId>
871 <artifactId>docker-maven-plugin</artifactId>
sebdet1b6a4282019-11-05 13:44:53 +0100872 <version>0.31.0</version>
sebdet101193d2019-09-05 18:25:59 +0200873 <dependencies>
874 <dependency>
875 <groupId>org.apache.httpcomponents</groupId>
876 <artifactId>httpclient</artifactId>
877 <version>4.5.5</version>
878 </dependency>
879 </dependencies>
880 <configuration>
881 <verbose>true</verbose>
882 <apiVersion>1.35</apiVersion>
883 <images>
884 <image>
885 <name>library/mariadb:10.3.12</name>
886 <alias>mariadb</alias>
887 <run>
888 <env>
889 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
890 </env>
891 <hostname>mariadb</hostname>
892 <volumes>
893 <bind>
sebdetfdfde212019-09-12 10:59:15 +0200894 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume>
sebdet101193d2019-09-05 18:25:59 +0200895 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
896 </bind>
897 </volumes>
898 <wait>
899 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
900 <time>600000</time>
sebdetfdfde212019-09-12 10:59:15 +0200901 <exec>
902 <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop>
903 </exec>
sebdet101193d2019-09-05 18:25:59 +0200904 </wait>
905 <ports>
906 <port>${docker.mariadb.port.host}:3306</port>
907 </ports>
sebdet1b6a4282019-11-05 13:44:53 +0100908 <network>
909 <mode>bridge</mode>
910 </network>
sebdet101193d2019-09-05 18:25:59 +0200911 </run>
912 </image>
913 <image>
914 <name>library/python:2-slim</name>
915 <alias>python</alias>
916 <run>
917 <hostname>python</hostname>
918 <volumes>
919 <bind>
920 <volume>${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app</volume>
921 <volume>${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache</volume>
922 </bind>
923 </volumes>
924 <wait>
925 <tcp>
926 <ports>
927 <port>8080</port>
928 </ports>
929 <mode>direct</mode>
930 </tcp>
931 <time>120000</time>
932 </wait>
933 <ports>
934 <port>${docker.http-cache.port.host}:8080</port>
935 </ports>
936 <workingDir>/usr/src/http-cache-app</workingDir>
937 <cmd>
938 <shell>./start_http_cache.sh ${python.http.proxy.param}
939 --python_proxyaddress=localhost:${docker.http-cache.port.host}</shell>
940 </cmd>
sebdet1b6a4282019-11-05 13:44:53 +0100941 <network>
942 <mode>bridge</mode>
943 </network>
sebdet101193d2019-09-05 18:25:59 +0200944 </run>
945 </image>
946 <image>
947 <name>onap/clamp-backend</name>
948 <alias>onap-clamp-backend</alias>
949 <run>
950 <skip>true</skip>
951 </run>
952 <build>
953 <cleanup>true</cleanup>
954 <tags>
955 <tag>latest</tag>
956 <tag>${project.docker.latesttagtimestamp.version}</tag>
957 <tag>${project.docker.latesttag.version}</tag>
958 </tags>
959 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
960 default -->
961 <dockerFile>backend/Dockerfile</dockerFile>
962 <assembly>
963 <descriptor>backend/backend-files.xml</descriptor>
964 <name>onap-clamp-backend</name>
965 </assembly>
966 </build>
967 </image>
968 <image>
969 <name>onap/clamp-frontend</name>
970 <alias>onap-clamp-frontend</alias>
971 <run>
972 <skip>true</skip>
973 </run>
974 <build>
975 <cleanup>true</cleanup>
976 <tags>
977 <tag>latest</tag>
978 <tag>${project.docker.latesttagtimestamp.version}</tag>
979 <tag>${project.docker.latesttag.version}</tag>
980 </tags>
981 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
982 default -->
983 <dockerFile>frontend/Dockerfile</dockerFile>
984 <assembly>
985 <descriptor>frontend/frontend-files.xml</descriptor>
986 <name>onap-clamp-frontend</name>
987 </assembly>
988 </build>
989 </image>
990 <image>
sebdet101193d2019-09-05 18:25:59 +0200991 <name>onap/clamp-dashboard-logstash</name>
992 <alias>onap-clamp-dashboard-logstash</alias>
993 <run>
994 <skip>true</skip>
995 </run>
996 <build>
997 <cleanup>true</cleanup>
998 <tags>
999 <tag>latest</tag>
1000 <tag>${project.docker.latesttagtimestamp.version}</tag>
1001 <tag>${project.docker.latesttag.version}</tag>
1002 </tags>
1003 <dockerFile>logstash/Dockerfile</dockerFile>
1004 </build>
1005 </image>
1006 <image>
1007 <name>onap/clamp-dashboard-kibana</name>
1008 <alias>onap-clamp-dashboard-kibana</alias>
1009 <run>
1010 <skip>true</skip>
1011 </run>
1012 <build>
1013 <cleanup>true</cleanup>
1014 <tags>
1015 <tag>latest</tag>
1016 <tag>${project.docker.latesttagtimestamp.version}</tag>
1017 <tag>${project.docker.latesttag.version}</tag>
1018 </tags>
1019 <dockerFile>kibana/Dockerfile</dockerFile>
1020 </build>
1021 </image>
1022 </images>
1023 </configuration>
1024
1025 <executions>
1026 <execution>
1027 <id>generate-images</id>
1028 <phase>install</phase>
1029 <goals>
1030 <goal>build</goal>
1031 </goals>
1032 </execution>
1033 <execution>
1034 <id>push-images</id>
1035 <phase>deploy</phase>
1036 <goals>
1037 <goal>push</goal>
1038 </goals>
1039 </execution>
1040 <execution>
1041 <id>docker-start-for-it</id>
1042 <phase>pre-integration-test</phase>
1043 <goals>
1044 <goal>start</goal>
1045 </goals>
1046 </execution>
1047 <execution>
1048 <id>docker-stop-for-it</id>
1049 <phase>post-integration-test</phase>
1050 <goals>
1051 <goal>stop</goal>
1052 </goals>
1053 </execution>
1054 </executions>
1055 </plugin>
1056
1057 <plugin>
1058 <groupId>org.jacoco</groupId>
1059 <artifactId>jacoco-maven-plugin</artifactId>
sebdet1b6a4282019-11-05 13:44:53 +01001060 <version>0.8.5</version>
sebdet101193d2019-09-05 18:25:59 +02001061 <configuration>
1062 <dumpOnExit>true</dumpOnExit>
1063 <append>true</append>
1064 <includes>
1065 <include>org.onap.clamp.*</include>
1066 </includes>
1067 </configuration>
1068 <executions>
1069 <execution>
1070 <id>pre-unit-test</id>
1071 <goals>
1072 <goal>prepare-agent</goal>
1073 </goals>
1074 <configuration>
1075 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
1076 <propertyName>surefireArgLine</propertyName>
1077 <!-- <append>true</append> -->
1078 </configuration>
1079 </execution>
1080 <execution>
1081 <id>pre-integration-test</id>
1082 <phase>pre-integration-test</phase>
1083 <goals>
1084 <goal>prepare-agent</goal>
1085 </goals>
1086 <configuration>
1087 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
1088 <propertyName>failsafeArgLine</propertyName>
1089 <!-- <append>true</append> -->
1090 </configuration>
1091 </execution>
1092 <execution>
1093 <goals>
1094 <goal>merge</goal>
1095 </goals>
1096 <phase>post-integration-test</phase>
1097 <configuration>
1098 <fileSets>
1099 <fileSet
1100 implementation="org.apache.maven.shared.model.fileset.FileSet">
1101 <directory>${project.build.directory}/coverage-reports</directory>
1102 <includes>
1103 <include>*.exec</include>
1104 </includes>
1105 </fileSet>
1106 </fileSets>
1107 <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
1108 </configuration>
1109 </execution>
1110 </executions>
1111 </plugin>
1112
1113 <!-- This plugin will be useful when we will have multi-modules project -->
1114 <plugin>
1115 <groupId>org.codehaus.mojo</groupId>
1116 <artifactId>versions-maven-plugin</artifactId>
1117 <version>1.3.1</version>
1118 </plugin>
1119
1120 <plugin>
1121 <groupId>com.github.eirslett</groupId>
1122 <artifactId>frontend-maven-plugin</artifactId>
1123 <version>1.8.0</version>
1124 <configuration>
1125 <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory>
1126 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1127 </configuration>
1128 <executions>
1129 <execution>
1130 <id>install_node_and_npm</id>
1131 <goals>
1132 <goal>install-node-and-npm</goal>
1133 </goals>
1134 <phase>generate-sources</phase>
1135 <configuration>
sebdet81f5cab2019-11-06 11:40:46 +01001136 <nodeVersion>v12.13.0</nodeVersion>
1137 <npmVersion>6.13.0</npmVersion>
sebdet101193d2019-09-05 18:25:59 +02001138 </configuration>
1139 </execution>
1140 <execution>
1141 <id>npm_install</id>
1142 <goals>
1143 <goal>npm</goal>
1144 </goals>
1145 <phase>compile</phase>
1146 <configuration>
sebdet996071f2019-10-25 13:25:57 +02001147 <arguments>install</arguments>
sebdet101193d2019-09-05 18:25:59 +02001148 </configuration>
1149 </execution>
1150 <execution>
1151 <id>npm_test</id>
1152 <goals>
1153 <goal>npm</goal>
1154 </goals>
1155 <phase>test</phase>
1156 <configuration>
1157 <arguments>run-script test:coverage</arguments>
1158 </configuration>
1159 </execution>
1160 <execution>
1161 <id>npm_publish</id>
1162 <goals>
1163 <goal>npm</goal>
1164 </goals>
1165 <phase>deploy</phase>
1166 <configuration>
sebdet4c272742019-10-23 14:40:31 +02001167 <arguments>run-script publish</arguments>
sebdet101193d2019-09-05 18:25:59 +02001168 </configuration>
1169 </execution>
1170 </executions>
1171 </plugin>
sebdet1b6a4282019-11-05 13:44:53 +01001172 <plugin>
1173 <groupId>org.apache.maven.plugins</groupId>
1174 <artifactId>maven-compiler-plugin</artifactId>
1175 <version>3.8.1</version>
1176 <configuration>
1177 <source>13</source>
1178 <target>13</target>
1179 </configuration>
1180 </plugin>
sebdet101193d2019-09-05 18:25:59 +02001181 </plugins>
1182 </build>
ChrisC5e9feb22017-06-21 02:38:57 -07001183</project>