1 <?xml version="1.0" encoding="UTF-8"?>
3 ============LICENSE_START=======================================================
5 ================================================================================
6 Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
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
13 http://www.apache.org/licenses/LICENSE-2.0
15 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 ===================================================================
23 <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>
29 <version>4.1.2-SNAPSHOT</version>
34 <groupId>org.onap.oparent</groupId>
35 <artifactId>oparent</artifactId>
36 <version>2.0.0</version>
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)
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
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)
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
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
67 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
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>
78 <maven.compiler.source>1.8</maven.compiler.source>
79 <maven.compiler.target>1.8</maven.compiler.target>
80 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
81 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
83 <eelf.core.version>1.0.0</eelf.core.version>
84 <camel.version>2.24.0</camel.version>
85 <springboot.version>2.1.5.RELEASE</springboot.version>
87 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
88 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
89 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
90 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
91 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
92 <sonar.projectVersion>${project.version}</sonar.projectVersion>
93 <!-- Enable language to disable javascript analysis -->
94 <!-- <sonar.language>java</sonar.language> -->
95 <!-- Parameters for Javascript coverage -->
96 <sonar.sources>src/main,${project.build.directory}/${ui.react.src}/src</sonar.sources>
97 <sonar.javascript.lcov.reportPaths>${project.build.directory}/${ui.react.src}/coverage/lcov.info</sonar.javascript.lcov.reportPaths>
99 <sonar.exclusions>src/main/resources/**</sonar.exclusions>
101 <docker.push.registry>localhost:5000</docker.push.registry>
102 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
103 <docker.skip.build>true</docker.skip.build>
104 <docker.skip.push>true</docker.skip.push>
105 <docker.skip.tag>true</docker.skip.tag>
106 <skip.staging.artifacts>false</skip.staging.artifacts>
107 <python.http.proxy.param />
108 <tomcat.version>9.0.20</tomcat.version>
109 <ui.react.src>ui-react</ui.react.src>
110 <npm.publish.url>https://nexus3.onap.org/repository/npm.snapshot/</npm.publish.url>
115 <id>without-test</id>
118 <name>maven.test.skip</name>
123 <docker.skip.run>true</docker.skip.run>
124 <docker.skip>true</docker.skip>
128 <id>without-IT-only</id>
136 <docker.skip.run>true</docker.skip.run>
137 <docker.skip>true</docker.skip>
141 <id>without-IT-only2</id>
144 <name>skipTests</name>
149 <docker.skip.run>true</docker.skip.run>
150 <docker.skip>true</docker.skip>
156 <skip.staging.artifacts>true</skip.staging.artifacts>
157 <docker.skip.build>false</docker.skip.build>
158 <docker.skip.tag>false</docker.skip.tag>
159 <docker.skip.push>false</docker.skip.push>
160 <docker.skip>false</docker.skip>
165 <distributionManagement>
167 <id>ecomp-releases</id>
168 <name>Clamp Release Repository</name>
169 <url>https://nexus.onap.org/content/repositories/releases/</url>
172 <id>ecomp-snapshots</id>
173 <name>Clamp Snapshot Repository</name>
174 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
175 </snapshotRepository>
178 <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
180 </distributionManagement>
185 <name>onap-public</name>
186 <url>https://nexus.onap.org/content/repositories/public/</url>
188 <enabled>true</enabled>
191 <enabled>false</enabled>
195 <id>ecomp-releases</id>
196 <name>ONAP Release Repository</name>
197 <url>https://nexus.onap.org/content/repositories/releases/</url>
200 <id>ecomp-staging</id>
201 <name>ONAP Staging Repository</name>
202 <url>https://nexus.onap.org/content/repositories/staging/</url>
205 <id>ecomp-snapshots</id>
206 <name>ONAP Snapshot Repository</name>
207 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
209 <enabled>true</enabled>
212 <enabled>false</enabled>
217 <url>http://repo1.maven.org/maven2/</url>
223 <name>onap-public</name>
224 <url>https://nexus.onap.org/content/repositories/public/</url>
226 <enabled>true</enabled>
229 <enabled>false</enabled>
234 <url>http://repo1.maven.org/maven2/</url>
236 </pluginRepositories>
238 <dependencyManagement>
240 <!-- Spring Boot BOM -->
242 <groupId>org.springframework.boot</groupId>
243 <artifactId>spring-boot-dependencies</artifactId>
244 <version>${springboot.version}</version>
246 <scope>import</scope>
250 <groupId>org.apache.camel</groupId>
251 <artifactId>camel-spring-boot-dependencies</artifactId>
252 <version>${camel.version}</version>
254 <scope>import</scope>
257 </dependencyManagement>
261 <groupId>org.apache.xmlgraphics</groupId>
262 <artifactId>batik-svggen</artifactId>
263 <version>1.11</version>
266 <groupId>org.apache.xmlgraphics</groupId>
267 <artifactId>batik-svg-dom</artifactId>
268 <version>1.11</version>
271 <groupId>org.apache.xmlgraphics</groupId>
272 <artifactId>batik-transcoder</artifactId>
273 <version>1.11</version>
276 <groupId>com.att.eelf</groupId>
277 <artifactId>eelf-core</artifactId>
278 <version>${eelf.core.version}</version>
281 <groupId>org.codehaus.janino</groupId>
282 <artifactId>janino</artifactId>
283 <version>3.0.8</version>
286 <groupId>org.apache.tomcat.embed</groupId>
287 <artifactId>tomcat-embed-core</artifactId>
288 <version>${tomcat.version}</version>
291 <groupId>org.apache.tomcat.embed</groupId>
292 <artifactId>tomcat-embed-el</artifactId>
293 <version>${tomcat.version}</version>
296 <groupId>org.apache.tomcat.embed</groupId>
297 <artifactId>tomcat-embed-websocket</artifactId>
298 <version>${tomcat.version}</version>
301 <groupId>org.apache.tomcat</groupId>
302 <artifactId>tomcat-annotations-api</artifactId>
303 <version>${tomcat.version}</version>
307 <groupId>org.apache.camel</groupId>
308 <artifactId>camel-http4-starter</artifactId>
311 <groupId>org.apache.camel</groupId>
312 <artifactId>camel-spring-boot-starter</artifactId>
315 <groupId>org.apache.camel</groupId>
316 <artifactId>camel-jaxb-starter</artifactId>
319 <groupId>org.apache.camel</groupId>
320 <artifactId>camel-servlet-starter</artifactId>
323 <groupId>org.apache.camel</groupId>
324 <artifactId>camel-gson-starter</artifactId>
327 <groupId>org.apache.camel</groupId>
328 <artifactId>camel-swagger-java-starter</artifactId>
331 <groupId>javax.ws.rs</groupId>
332 <artifactId>jsr311-api</artifactId>
335 <groupId>org.slf4j</groupId>
336 <artifactId>slf4j-ext</artifactId>
339 <groupId>com.fasterxml.jackson.core</groupId>
340 <artifactId>jackson-databind</artifactId>
345 <groupId>javax.xml.bind</groupId>
346 <artifactId>jaxb-api</artifactId>
347 <version>2.3.0</version>
350 <groupId>org.glassfish.jersey.core</groupId>
351 <artifactId>jersey-common</artifactId>
352 <version>2.27</version>
354 <!-- Spring famework -->
356 <groupId>org.springframework.boot</groupId>
357 <artifactId>spring-boot-starter-web</artifactId>
360 <groupId>org.springframework.boot</groupId>
361 <artifactId>spring-boot-starter-json</artifactId>
366 <groupId>org.springframework.boot</groupId>
367 <artifactId>spring-boot-starter-tomcat</artifactId>
370 <groupId>org.springframework</groupId>
371 <artifactId>spring-jdbc</artifactId>
374 <groupId>org.springframework.boot</groupId>
375 <artifactId>spring-boot-starter-security</artifactId>
378 <groupId>org.springframework.boot</groupId>
379 <artifactId>spring-boot-autoconfigure</artifactId>
382 <groupId>org.springframework.boot</groupId>
383 <artifactId>spring-boot-starter-test</artifactId>
387 <groupId>com.vaadin.external.google</groupId>
388 <artifactId>android-json</artifactId>
393 <groupId>org.springframework.boot</groupId>
394 <artifactId>spring-boot-starter-data-jpa</artifactId>
396 <!-- Others dependencies -->
398 <groupId>org.onap.aaf.authz</groupId>
399 <artifactId>aaf-cadi-aaf</artifactId>
400 <version>2.1.10</version>
403 <groupId>javax.servlet</groupId>
404 <artifactId>servlet-api</artifactId>
409 <groupId>ch.qos.logback</groupId>
410 <artifactId>logback-core</artifactId>
411 <version>1.2.3</version>
414 <groupId>ch.qos.logback</groupId>
415 <artifactId>logback-classic</artifactId>
416 <version>1.2.3</version>
419 <groupId>commons-dbcp</groupId>
420 <artifactId>commons-dbcp</artifactId>
421 <version>1.4</version>
424 <groupId>commons-io</groupId>
425 <artifactId>commons-io</artifactId>
426 <version>2.6</version>
429 <groupId>com.googlecode.json-simple</groupId>
430 <artifactId>json-simple</artifactId>
431 <version>1.1.1</version>
434 <groupId>org.apache.commons</groupId>
435 <artifactId>commons-vfs2</artifactId>
436 <version>2.2</version>
439 <groupId>joda-time</groupId>
440 <artifactId>joda-time</artifactId>
443 <groupId>org.slf4j</groupId>
444 <artifactId>slf4j-api</artifactId>
447 <groupId>javax.ws.rs</groupId>
448 <artifactId>javax.ws.rs-api</artifactId>
449 <version>2.0</version>
452 <groupId>junit</groupId>
453 <artifactId>junit</artifactId>
456 <groupId>javax.transaction</groupId>
457 <artifactId>jta</artifactId>
458 <version>1.1</version>
461 <groupId>javax.persistence</groupId>
462 <artifactId>persistence-api</artifactId>
463 <version>1.0.2</version>
466 <groupId>org.onap.policy.engine</groupId>
467 <artifactId>PolicyEngineAPI</artifactId>
468 <version>1.3.3</version>
471 <groupId>com.google.guava</groupId>
472 <artifactId>guava</artifactId>
475 <artifactId>log4j</artifactId>
476 <groupId>log4j</groupId>
479 <groupId>org.slf4j</groupId>
480 <artifactId>slf4j-log4j12</artifactId>
483 <artifactId>apache-log4j-extras</artifactId>
484 <groupId>log4j</groupId>
487 <groupId>mysql</groupId>
488 <artifactId>mysql-connector-java</artifactId>
491 <groupId>commons-io</groupId>
492 <artifactId>commons-io</artifactId>
495 <artifactId>grizzly-http-server</artifactId>
496 <groupId>org.glassfish.grizzly</groupId>
499 <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
500 <artifactId>dmaapClient</artifactId>
503 <groupId>org.onap.policy.common</groupId>
504 <artifactId>integrity-monitor</artifactId>
507 <groupId>org.onap.policy.common</groupId>
508 <artifactId>integrity-audit</artifactId>
511 <groupId>com.fasterxml.jackson.core</groupId>
512 <artifactId>jackson-databind</artifactId>
515 <groupId>org.onap.aaf.cadi</groupId>
516 <artifactId>cadi-aaf</artifactId>
519 <groupId>javax.jms</groupId>
520 <artifactId>jms</artifactId>
523 <groupId>commons-fileupload</groupId>
524 <artifactId>commons-fileupload</artifactId>
527 <groupId>com.att.research.xacml</groupId>
528 <artifactId>xacml</artifactId>
533 <groupId>org.onap.policy.common</groupId>
534 <artifactId>ONAP-Logging</artifactId>
535 <version>1.2.3</version>
538 <artifactId>log4j</artifactId>
539 <groupId>log4j</groupId>
542 <groupId>org.slf4j</groupId>
543 <artifactId>slf4j-log4j12</artifactId>
546 <artifactId>apache-log4j-extras</artifactId>
547 <groupId>log4j</groupId>
552 <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
553 <artifactId>policy-yaml</artifactId>
554 <version>1.2.3</version>
557 <artifactId>log4j</artifactId>
558 <groupId>log4j</groupId>
561 <groupId>org.slf4j</groupId>
562 <artifactId>slf4j-log4j12</artifactId>
565 <artifactId>apache-log4j-extras</artifactId>
566 <groupId>log4j</groupId>
571 <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
572 <artifactId>sdc</artifactId>
573 <version>1.2.3</version>
576 <artifactId>log4j</artifactId>
577 <groupId>log4j</groupId>
580 <groupId>org.slf4j</groupId>
581 <artifactId>slf4j-log4j12</artifactId>
584 <artifactId>apache-log4j-extras</artifactId>
585 <groupId>log4j</groupId>
590 <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
591 <artifactId>aai</artifactId>
592 <version>1.2.3</version>
595 <artifactId>log4j</artifactId>
596 <groupId>log4j</groupId>
599 <groupId>org.slf4j</groupId>
600 <artifactId>slf4j-log4j12</artifactId>
603 <artifactId>apache-log4j-extras</artifactId>
604 <groupId>log4j</groupId>
609 <groupId>org.apache.commons</groupId>
610 <artifactId>commons-csv</artifactId>
611 <version>1.3</version>
613 <!-- Other dependencies to fix nexus IQ reported vulnerabilities -->
615 <groupId>org.codehaus.plexus</groupId>
616 <artifactId>plexus-utils</artifactId>
617 <version>3.0.24</version>
620 <groupId>org.jboss.spec.javax.ws.rs</groupId>
621 <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
622 <version>1.0.1.Final</version>
625 <groupId>com.google.guava</groupId>
626 <artifactId>guava</artifactId>
627 <version>27.0-jre</version>
630 <groupId>commons-codec</groupId>
631 <artifactId>commons-codec</artifactId>
632 <version>1.13</version>
634 <!-- Remove the MYSQL connector and replace it by Mariadb -->
636 <groupId>org.mariadb.jdbc</groupId>
637 <artifactId>mariadb-java-client</artifactId>
638 <version>2.2.1</version>
640 <!-- For SDC Controller -->
642 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
643 <artifactId>sdc-distribution-client</artifactId>
644 <version>1.3.0</version>
647 <groupId>org.onap.sdc.sdc-tosca</groupId>
648 <artifactId>sdc-tosca</artifactId>
649 <version>1.5.1</version>
653 <groupId>org.assertj</groupId>
654 <artifactId>assertj-core</artifactId>
655 <version>3.10.0</version>
659 <groupId>org.mockito</groupId>
660 <artifactId>mockito-core</artifactId>
661 <version>1.10.19</version>
667 <finalName>clamp</finalName>
671 <directory>src/test/resources</directory>
673 <exclude>**/*.jks</exclude>
674 <exclude>**/*.csar</exclude>
676 <filtering>true</filtering>
679 <directory>src/test/resources/https</directory>
681 <include>**.jks</include>
683 <filtering>false</filtering>
684 <targetPath>https</targetPath>
687 <directory>src/test/resources/example/sdc</directory>
689 <include>**.csar</include>
691 <filtering>false</filtering>
692 <targetPath>example/sdc</targetPath>
696 <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise
697 they will be broken and unreadable -->
699 <directory>src/main/resources</directory>
700 <filtering>true</filtering>
702 <exclude>clds/aaf/**</exclude>
706 <directory>src/main/resources</directory>
707 <filtering>false</filtering>
709 <include>clds/aaf/**</include>
713 <directory>${ui.react.src}</directory>
715 <include>src/**</include>
716 <include>public/**</include>
717 <include>package.json</include>
718 <include>package-lock.json</include>
720 <filtering>true</filtering>
721 <targetPath>${project.build.directory}/${ui.react.src}</targetPath>
727 <groupId>de.jpdigital</groupId>
728 <artifactId>hibernate52-ddl-maven-plugin</artifactId>
729 <version>2.2.0</version>
732 <groupId>javax.xml.bind</groupId>
733 <artifactId>jaxb-api</artifactId>
734 <version>2.3.0</version>
739 <phase>process-classes</phase>
745 <param>org.onap.clamp.dao.model</param>
748 <param>MARIADB53</param>
750 <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory>
751 <outputFileNameSuffix>create-tables</outputFileNameSuffix>
752 <!-- <createDropStatements>true</createDropStatements> -->
753 <omitDialectFromFileName>true</omitDialectFromFileName>
759 <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
760 a list of .adoc files containing the APIs info in more structured way -->
762 <groupId>io.github.swagger2markup</groupId>
763 <artifactId>swagger2markup-maven-plugin</artifactId>
764 <version>1.3.3</version>
767 <groupId>io.github.swagger2markup</groupId>
768 <artifactId>swagger2markup-import-files-ext</artifactId>
769 <version>1.3.3</version>
772 <groupId>io.github.swagger2markup</groupId>
773 <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
774 <version>1.3.3</version>
778 <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput>
779 <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
781 <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
786 <phase>post-integration-test</phase>
788 <goal>convertSwagger2markup</goal>
794 <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
795 types, such as PDFs or HTML5 -->
797 <groupId>org.asciidoctor</groupId>
798 <artifactId>asciidoctor-maven-plugin</artifactId>
799 <version>1.5.7.1</version>
802 <groupId>org.asciidoctor</groupId>
803 <artifactId>asciidoctorj-pdf</artifactId>
804 <version>1.5.0-alpha.10.1</version>
808 <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
809 <sourceDocumentName>swagger.adoc</sourceDocumentName>
811 <doctype>book</doctype>
813 <toclevels>3</toclevels>
818 <generated>${project.build.directory}/asciidoc/generated</generated>
825 <phase>post-integration-test</phase>
827 <goal>process-asciidoc</goal>
830 <backend>html5</backend>
831 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
832 <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
837 <phase>post-integration-test</phase>
839 <goal>process-asciidoc</goal>
842 <backend>pdf</backend>
843 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
849 <groupId>org.codehaus.groovy.maven</groupId>
850 <artifactId>gmaven-plugin</artifactId>
851 <version>1.0</version>
854 <phase>validate</phase>
859 <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
865 <groupId>org.apache.maven.plugins</groupId>
866 <artifactId>maven-jar-plugin</artifactId>
867 <version>3.0.2</version>
870 <id>jar-with-only-classes</id>
871 <phase>package</phase>
876 <classifier>classes</classifier>
878 <include>org/**</include>
885 <groupId>org.codehaus.mojo</groupId>
886 <artifactId>build-helper-maven-plugin</artifactId>
887 <version>3.0.0</version>
891 <goal>attach-artifact</goal>
893 <phase>package</phase>
897 <file>${project.build.directory}/clamp-classes.jar</file>
899 <classifier>classes</classifier>
905 <id>reserve-port-for-tests</id>
906 <phase>process-resources</phase>
908 <goal>reserve-network-port</goal>
912 <portName>docker.mariadb.port.host</portName>
913 <portName>docker.http-cache.port.host</portName>
914 <portName>clamp.it.tests.http-redirected</portName>
915 <portName>clamp.it.tests.https</portName>
916 <portName>clamp.it.tests.http</portName>
924 <groupId>org.springframework.boot</groupId>
925 <artifactId>spring-boot-maven-plugin</artifactId>
926 <!-- Temporary fix -->
927 <version>1.5.13.RELEASE</version>
928 <!-- <version>${springboot.version}</version> -->
932 <goal>repackage</goal>
934 <phase>package</phase>
939 <groupId>org.apache.maven.plugins</groupId>
940 <artifactId>maven-surefire-plugin</artifactId>
941 <version>2.22.1</version>
943 <forkCount>1C</forkCount>
944 <reuseForks>true</reuseForks>
945 <useSystemClassLoader>false</useSystemClassLoader>
946 <argLine>${surefireArgLine}</argLine>
951 <groupId>org.apache.maven.plugins</groupId>
952 <artifactId>maven-failsafe-plugin</artifactId>
953 <version>2.22.1</version>
956 <id>integration-tests</id>
958 <goal>integration-test</goal>
962 <additionalClasspathElements>
963 <additionalClasspathElement>${project.build.directory}/classes</additionalClasspathElement>
964 </additionalClasspathElements>
966 <include>**/*ItCase.java</include>
968 <forkCount>1</forkCount>
969 <reuseForks>true</reuseForks>
970 <useSystemClassLoader>false</useSystemClassLoader>
971 <argLine>${failsafeArgLine}</argLine>
977 <groupId>io.fabric8</groupId>
978 <artifactId>docker-maven-plugin</artifactId>
979 <version>0.27.2</version>
982 <groupId>org.apache.httpcomponents</groupId>
983 <artifactId>httpclient</artifactId>
984 <version>4.5.5</version>
988 <verbose>true</verbose>
989 <apiVersion>1.35</apiVersion>
992 <name>library/mariadb:10.3.12</name>
993 <alias>mariadb</alias>
996 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
998 <hostname>mariadb</hostname>
1001 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume>
1002 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
1006 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
1009 <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop>
1013 <port>${docker.mariadb.port.host}:3306</port>
1018 <name>library/python:2-slim</name>
1019 <alias>python</alias>
1021 <hostname>python</hostname>
1024 <volume>${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app</volume>
1025 <volume>${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache</volume>
1038 <port>${docker.http-cache.port.host}:8080</port>
1040 <workingDir>/usr/src/http-cache-app</workingDir>
1042 <shell>./start_http_cache.sh ${python.http.proxy.param}
1043 --python_proxyaddress=localhost:${docker.http-cache.port.host}</shell>
1048 <name>onap/clamp-backend</name>
1049 <alias>onap-clamp-backend</alias>
1054 <cleanup>true</cleanup>
1057 <tag>${project.docker.latesttagtimestamp.version}</tag>
1058 <tag>${project.docker.latesttag.version}</tag>
1060 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1062 <dockerFile>backend/Dockerfile</dockerFile>
1064 <descriptor>backend/backend-files.xml</descriptor>
1065 <name>onap-clamp-backend</name>
1070 <name>onap/clamp-frontend</name>
1071 <alias>onap-clamp-frontend</alias>
1076 <cleanup>true</cleanup>
1079 <tag>${project.docker.latesttagtimestamp.version}</tag>
1080 <tag>${project.docker.latesttag.version}</tag>
1082 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1084 <dockerFile>frontend/Dockerfile</dockerFile>
1086 <descriptor>frontend/frontend-files.xml</descriptor>
1087 <name>onap-clamp-frontend</name>
1092 <name>onap/clamp-dashboard-logstash</name>
1093 <alias>onap-clamp-dashboard-logstash</alias>
1098 <cleanup>true</cleanup>
1101 <tag>${project.docker.latesttagtimestamp.version}</tag>
1102 <tag>${project.docker.latesttag.version}</tag>
1104 <dockerFile>logstash/Dockerfile</dockerFile>
1108 <name>onap/clamp-dashboard-kibana</name>
1109 <alias>onap-clamp-dashboard-kibana</alias>
1114 <cleanup>true</cleanup>
1117 <tag>${project.docker.latesttagtimestamp.version}</tag>
1118 <tag>${project.docker.latesttag.version}</tag>
1120 <dockerFile>kibana/Dockerfile</dockerFile>
1128 <id>generate-images</id>
1129 <phase>install</phase>
1135 <id>push-images</id>
1136 <phase>deploy</phase>
1142 <id>docker-start-for-it</id>
1143 <phase>pre-integration-test</phase>
1149 <id>docker-stop-for-it</id>
1150 <phase>post-integration-test</phase>
1159 <groupId>org.jacoco</groupId>
1160 <artifactId>jacoco-maven-plugin</artifactId>
1161 <version>0.8.2</version>
1163 <dumpOnExit>true</dumpOnExit>
1164 <append>true</append>
1166 <include>org.onap.clamp.*</include>
1171 <id>pre-unit-test</id>
1173 <goal>prepare-agent</goal>
1176 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
1177 <propertyName>surefireArgLine</propertyName>
1178 <!-- <append>true</append> -->
1182 <id>pre-integration-test</id>
1183 <phase>pre-integration-test</phase>
1185 <goal>prepare-agent</goal>
1188 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
1189 <propertyName>failsafeArgLine</propertyName>
1190 <!-- <append>true</append> -->
1197 <phase>post-integration-test</phase>
1201 implementation="org.apache.maven.shared.model.fileset.FileSet">
1202 <directory>${project.build.directory}/coverage-reports</directory>
1204 <include>*.exec</include>
1208 <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
1214 <!-- This plugin will be useful when we will have multi-modules project -->
1216 <groupId>org.codehaus.mojo</groupId>
1217 <artifactId>versions-maven-plugin</artifactId>
1218 <version>1.3.1</version>
1222 <groupId>com.github.eirslett</groupId>
1223 <artifactId>frontend-maven-plugin</artifactId>
1224 <version>1.8.0</version>
1226 <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory>
1227 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1231 <id>install_node_and_npm</id>
1233 <goal>install-node-and-npm</goal>
1235 <phase>generate-sources</phase>
1237 <nodeVersion>v12.10.0</nodeVersion>
1238 <npmVersion>6.10.3</npmVersion>
1242 <id>npm_install</id>
1246 <phase>compile</phase>
1248 <arguments>install</arguments>
1258 <arguments>run-script test:coverage</arguments>
1262 <id>npm_publish</id>
1266 <phase>deploy</phase>
1269 <arguments>publish --registry ${npm.publish.url}</arguments>