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>5.0.0-SNAPSHOT</version>
34 <groupId>org.onap.oparent</groupId>
35 <artifactId>oparent</artifactId>
36 <version>2.1.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)
50 - The CLAMP backend, JAVA unit testing
51 - The CLAMP backend, JAVA integration tests (with Spring + docker mariadb database + docker policy/dcae emulator written in python)
52 - The CLAMP frontend, Javascrip tests (NodeJS(NPM) + JEST + Enzyme fro React)
54 The test coverage for dev's can be found after a "clean install" build in:
55 - Clamp backend: target/jacoco-dev.exec (unit tests + integration tests merged)
56 or separately target/coverage-reports/jacoco.exec and target/coverage-reports/jacoco-it.exec
57 - Clamp frontend: target/ui-react/coverage
60 - mvn clean install: Build Clamp backend JAR + unit tests + integration tests + NPM tests (+coverage for all)
61 - mvn clean install -DskipITs=true: Build Clamp backend JAR + unit tests + NPM tests (+coverage for all), it does not require a DOCKER engine
62 - mvn clean install -DskipTests -P docker: Build Clamp backend JAR + all docker images
64 To start CLAMP (Build it before):
65 - Use docker-compose file in ./extra/docker/clamp/docker-compose.yml
66 - Use the script located in ./extra/bin/start-backend.sh + start-frontend.sh
67 - Use your IDE to use the Jar or start NVM/NPM
72 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
73 <clamp.project.version>${project.version}</clamp.project.version>
74 <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp>
75 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
76 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
78 <eelf.core.version>1.0.0</eelf.core.version>
79 <camel.version>2.25.0</camel.version>
80 <springboot.version>2.2.5.RELEASE</springboot.version>
82 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
83 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
84 <sonar.coverage.jacoco.xmlReportPaths>${project.build.directory}/jacoco-html-xml-reports/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
85 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
86 <sonar.projectVersion>${project.version}</sonar.projectVersion>
87 <sonar.log.level>DEBUG</sonar.log.level>
88 <sonar.nodejs.executable>${project.build.directory}/${ui.react.src}/node/node</sonar.nodejs.executable>
89 <sonar.verbose>true</sonar.verbose>
90 <sonar.sources>src/main,${project.build.directory}/${ui.react.src}/src</sonar.sources>
91 <sonar.exclusions>src/main/resources/**</sonar.exclusions>
92 <sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled>
93 <sonar.javascript.lcov.reportPaths>${project.build.directory}/${ui.react.src}/coverage/lcov.info</sonar.javascript.lcov.reportPaths>
94 <sonar.coverage.exclusions>src/main/resources/**,target/ui-react/src/**/*.test.js,target/ui-react/src/setupTests.js</sonar.coverage.exclusions>
95 <docker.push.registry>localhost:5000</docker.push.registry>
96 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
97 <docker.skip.build>true</docker.skip.build>
98 <docker.skip.push>true</docker.skip.push>
99 <docker.skip.tag>true</docker.skip.tag>
100 <skip.staging.artifacts>false</skip.staging.artifacts>
101 <python.http.proxy.param />
102 <tomcat.version>9.0.27</tomcat.version>
103 <ui.react.src>ui-react</ui.react.src>
104 <ui.react.lib.src>ui-react-lib</ui.react.lib.src>
105 <npm.publish.url>https://nexus3.onap.org/repository/npm.snapshot/</npm.publish.url>
109 <!-- BEGIN: NOT USABLE profiles, those are defined when specific flags are enabled -->
111 <id>without-test</id>
114 <name>maven.test.skip</name>
119 <docker.skip.run>true</docker.skip.run>
120 <docker.skip>true</docker.skip>
124 <id>without-IT-only</id>
132 <docker.skip.run>true</docker.skip.run>
133 <docker.skip>true</docker.skip>
137 <id>without-IT-only2</id>
140 <name>skipTests</name>
145 <docker.skip.run>true</docker.skip.run>
146 <docker.skip>true</docker.skip>
149 <!-- END: NOT USABLE profiles, those are defined when specific flags are enabled -->
153 <skip.staging.artifacts>true</skip.staging.artifacts>
154 <docker.skip.build>false</docker.skip.build>
155 <docker.skip.tag>false</docker.skip.tag>
156 <docker.skip.push>false</docker.skip.push>
157 <docker.skip>false</docker.skip>
162 <distributionManagement>
164 <id>ecomp-releases</id>
165 <name>Clamp Release Repository</name>
166 <url>https://nexus.onap.org/content/repositories/releases/</url>
169 <id>ecomp-snapshots</id>
170 <name>Clamp Snapshot Repository</name>
171 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
172 </snapshotRepository>
175 <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
177 </distributionManagement>
182 <name>onap-public</name>
183 <url>https://nexus.onap.org/content/repositories/public/</url>
185 <enabled>true</enabled>
188 <enabled>false</enabled>
192 <id>ecomp-releases</id>
193 <name>ONAP Release Repository</name>
194 <url>https://nexus.onap.org/content/repositories/releases/</url>
197 <id>ecomp-staging</id>
198 <name>ONAP Staging Repository</name>
199 <url>https://nexus.onap.org/content/repositories/staging/</url>
202 <id>ecomp-snapshots</id>
203 <name>ONAP Snapshot Repository</name>
204 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
206 <enabled>true</enabled>
209 <enabled>false</enabled>
214 <url>http://repo1.maven.org/maven2/</url>
220 <name>onap-public</name>
221 <url>https://nexus.onap.org/content/repositories/public/</url>
223 <enabled>true</enabled>
226 <enabled>false</enabled>
231 <url>http://repo1.maven.org/maven2/</url>
233 </pluginRepositories>
235 <dependencyManagement>
237 <!-- Spring Boot BOM -->
239 <groupId>org.springframework.boot</groupId>
240 <artifactId>spring-boot-dependencies</artifactId>
241 <version>${springboot.version}</version>
243 <scope>import</scope>
247 <groupId>org.apache.camel</groupId>
248 <artifactId>camel-spring-boot-dependencies</artifactId>
249 <version>${camel.version}</version>
251 <scope>import</scope>
254 </dependencyManagement>
258 <groupId>org.apache.xmlgraphics</groupId>
259 <artifactId>batik-svggen</artifactId>
260 <version>1.11</version>
263 <groupId>xml-apis</groupId>
264 <artifactId>xml-apis</artifactId>
269 <groupId>org.apache.xmlgraphics</groupId>
270 <artifactId>batik-svg-dom</artifactId>
271 <version>1.11</version>
274 <groupId>xml-apis</groupId>
275 <artifactId>xml-apis</artifactId>
280 <groupId>org.apache.xmlgraphics</groupId>
281 <artifactId>batik-transcoder</artifactId>
282 <version>1.11</version>
285 <groupId>xml-apis</groupId>
286 <artifactId>xml-apis</artifactId>
291 <groupId>com.att.eelf</groupId>
292 <artifactId>eelf-core</artifactId>
293 <version>${eelf.core.version}</version>
296 <groupId>org.powermock</groupId>
297 <artifactId>powermock-module-junit4</artifactId>
300 <groupId>org.powermock</groupId>
301 <artifactId>powermock-api-mockito</artifactId>
306 <groupId>org.codehaus.janino</groupId>
307 <artifactId>janino</artifactId>
308 <version>3.0.8</version>
311 <groupId>org.apache.tomcat.embed</groupId>
312 <artifactId>tomcat-embed-core</artifactId>
313 <version>${tomcat.version}</version>
316 <groupId>org.apache.tomcat.embed</groupId>
317 <artifactId>tomcat-embed-el</artifactId>
318 <version>${tomcat.version}</version>
321 <groupId>org.apache.tomcat.embed</groupId>
322 <artifactId>tomcat-embed-websocket</artifactId>
323 <version>${tomcat.version}</version>
326 <groupId>org.apache.tomcat</groupId>
327 <artifactId>tomcat-annotations-api</artifactId>
328 <version>${tomcat.version}</version>
332 <groupId>org.apache.camel</groupId>
333 <artifactId>camel-http4-starter</artifactId>
336 <groupId>org.apache.camel</groupId>
337 <artifactId>camel-spring-boot-starter</artifactId>
340 <groupId>org.apache.camel</groupId>
341 <artifactId>camel-jaxb-starter</artifactId>
344 <groupId>org.apache.camel</groupId>
345 <artifactId>camel-servlet-starter</artifactId>
348 <groupId>org.apache.camel</groupId>
349 <artifactId>camel-gson-starter</artifactId>
352 <groupId>org.apache.camel</groupId>
353 <artifactId>camel-swagger-java-starter</artifactId>
356 <groupId>javax.ws.rs</groupId>
357 <artifactId>jsr311-api</artifactId>
360 <groupId>org.slf4j</groupId>
361 <artifactId>slf4j-ext</artifactId>
364 <groupId>com.fasterxml.jackson.core</groupId>
365 <artifactId>jackson-databind</artifactId>
370 <groupId>javax.xml.bind</groupId>
371 <artifactId>jaxb-api</artifactId>
372 <version>2.3.0</version>
375 <groupId>org.glassfish.jersey.core</groupId>
376 <artifactId>jersey-common</artifactId>
377 <version>2.27</version>
379 <!-- Spring famework -->
381 <groupId>org.springframework.boot</groupId>
382 <artifactId>spring-boot-starter-web</artifactId>
385 <groupId>org.springframework.boot</groupId>
386 <artifactId>spring-boot-starter-json</artifactId>
391 <groupId>org.springframework.boot</groupId>
392 <artifactId>spring-boot-starter-tomcat</artifactId>
395 <groupId>org.springframework</groupId>
396 <artifactId>spring-jdbc</artifactId>
399 <groupId>org.springframework.boot</groupId>
400 <artifactId>spring-boot-starter-security</artifactId>
403 <groupId>org.springframework.boot</groupId>
404 <artifactId>spring-boot-autoconfigure</artifactId>
407 <groupId>org.springframework.boot</groupId>
408 <artifactId>spring-boot-starter-test</artifactId>
412 <groupId>com.vaadin.external.google</groupId>
413 <artifactId>android-json</artifactId>
418 <groupId>org.springframework.boot</groupId>
419 <artifactId>spring-boot-starter-data-jpa</artifactId>
421 <!-- Others dependencies -->
423 <groupId>org.onap.aaf.authz</groupId>
424 <artifactId>aaf-cadi-aaf</artifactId>
425 <version>2.1.15</version>
428 <groupId>javax.servlet</groupId>
429 <artifactId>servlet-api</artifactId>
434 <groupId>ch.qos.logback</groupId>
435 <artifactId>logback-core</artifactId>
436 <version>1.2.3</version>
439 <groupId>ch.qos.logback</groupId>
440 <artifactId>logback-classic</artifactId>
441 <version>1.2.3</version>
444 <groupId>commons-dbcp</groupId>
445 <artifactId>commons-dbcp</artifactId>
446 <version>1.4</version>
449 <groupId>commons-io</groupId>
450 <artifactId>commons-io</artifactId>
451 <version>2.6</version>
454 <groupId>com.googlecode.json-simple</groupId>
455 <artifactId>json-simple</artifactId>
456 <version>1.1.1</version>
459 <groupId>org.apache.commons</groupId>
460 <artifactId>commons-vfs2</artifactId>
461 <version>2.2</version>
464 <groupId>joda-time</groupId>
465 <artifactId>joda-time</artifactId>
468 <groupId>org.slf4j</groupId>
469 <artifactId>slf4j-api</artifactId>
472 <groupId>javax.ws.rs</groupId>
473 <artifactId>javax.ws.rs-api</artifactId>
474 <version>2.0</version>
477 <groupId>junit</groupId>
478 <artifactId>junit</artifactId>
481 <groupId>javax.transaction</groupId>
482 <artifactId>jta</artifactId>
483 <version>1.1</version>
486 <groupId>javax.persistence</groupId>
487 <artifactId>persistence-api</artifactId>
488 <version>1.0.2</version>
491 <groupId>org.apache.commons</groupId>
492 <artifactId>commons-csv</artifactId>
493 <version>1.3</version>
495 <!-- Other dependencies to fix nexus IQ reported vulnerabilities -->
497 <groupId>org.codehaus.plexus</groupId>
498 <artifactId>plexus-utils</artifactId>
499 <version>3.0.24</version>
502 <groupId>org.jboss.spec.javax.ws.rs</groupId>
503 <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
504 <version>1.0.1.Final</version>
507 <groupId>com.google.guava</groupId>
508 <artifactId>guava</artifactId>
509 <version>27.0-jre</version>
512 <groupId>commons-codec</groupId>
513 <artifactId>commons-codec</artifactId>
514 <version>1.13</version>
516 <!-- Remove the MYSQL connector and replace it by Mariadb -->
518 <groupId>org.mariadb.jdbc</groupId>
519 <artifactId>mariadb-java-client</artifactId>
520 <version>2.2.1</version>
522 <!-- For SDC Controller -->
524 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
525 <artifactId>sdc-distribution-client</artifactId>
526 <version>1.3.0</version>
529 <groupId>org.onap.sdc.sdc-tosca</groupId>
530 <artifactId>sdc-tosca</artifactId>
531 <version>1.5.1</version>
534 <groupId>org.yaml</groupId>
535 <artifactId>snakeyaml</artifactId>
536 <version>1.26</version>
540 <groupId>org.assertj</groupId>
541 <artifactId>assertj-core</artifactId>
542 <version>3.10.0</version>
546 <groupId>org.mockito</groupId>
547 <artifactId>mockito-core</artifactId>
548 <version>2.28.2</version>
552 <groupId>org.powermock</groupId>
553 <artifactId>powermock-api-mockito2</artifactId>
554 <version>2.0.4</version>
558 <groupId>org.powermock</groupId>
559 <artifactId>powermock-module-junit4</artifactId>
560 <version>2.0.4</version>
566 <finalName>clamp</finalName>
570 <directory>src/main/resources</directory>
571 <filtering>true</filtering>
573 <exclude>clds/aaf/**</exclude>
577 <directory>src/main/resources</directory>
578 <filtering>false</filtering>
580 <include>clds/aaf/**</include>
584 <directory>src/test/resources</directory>
586 <exclude>**/*.jks</exclude>
587 <exclude>**/*.csar</exclude>
589 <filtering>true</filtering>
592 <directory>src/test/resources/https</directory>
594 <include>**.jks</include>
596 <filtering>false</filtering>
597 <targetPath>https</targetPath>
600 <directory>src/test/resources/example/sdc</directory>
602 <include>**.csar</include>
604 <filtering>false</filtering>
605 <targetPath>example/sdc</targetPath>
609 <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise
610 they will be broken and unreadable -->
612 <directory>src/main/resources</directory>
613 <filtering>true</filtering>
615 <exclude>clds/aaf/**</exclude>
619 <directory>src/main/resources</directory>
620 <filtering>false</filtering>
622 <include>clds/aaf/**</include>
626 <directory>${ui.react.src}</directory>
628 <exclude>node_modules</exclude>
631 <include>src/**</include>
632 <include>public/**</include>
633 <include>package.json</include>
634 <include>package-lock.json</include>
636 <filtering>true</filtering>
637 <targetPath>${project.build.directory}/${ui.react.src}</targetPath>
640 <directory>${ui.react.src}</directory>
642 <include>src/**</include>
645 <exclude>**/__snapshots__/**</exclude>
646 <exclude>**/**.test.js</exclude>
648 <filtering>true</filtering>
649 <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
652 <directory>${ui.react.lib.src}</directory>
654 <include>**</include>
657 <exclude>node_modules/**</exclude>
658 <exclude>package-lock.json</exclude>
660 <filtering>true</filtering>
661 <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
667 <groupId>de.jpdigital</groupId>
668 <artifactId>hibernate52-ddl-maven-plugin</artifactId>
669 <version>2.2.0</version>
672 <groupId>javax.xml.bind</groupId>
673 <artifactId>jaxb-api</artifactId>
674 <version>2.3.0</version>
679 <phase>process-classes</phase>
685 <param>org.onap.clamp</param>
688 <param>MARIADB53</param>
690 <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory>
691 <outputFileNameSuffix>create-tables</outputFileNameSuffix>
692 <!-- <createDropStatements>true</createDropStatements> -->
693 <omitDialectFromFileName>true</omitDialectFromFileName>
699 <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
700 a list of .adoc files containing the APIs info in more structured way -->
702 <groupId>io.github.swagger2markup</groupId>
703 <artifactId>swagger2markup-maven-plugin</artifactId>
704 <version>1.3.3</version>
707 <groupId>io.github.swagger2markup</groupId>
708 <artifactId>swagger2markup-import-files-ext</artifactId>
709 <version>1.3.3</version>
712 <groupId>io.github.swagger2markup</groupId>
713 <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
714 <version>1.3.3</version>
718 <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput>
719 <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
721 <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
726 <phase>post-integration-test</phase>
728 <goal>convertSwagger2markup</goal>
734 <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
735 types, such as PDFs or HTML5 -->
737 <groupId>org.asciidoctor</groupId>
738 <artifactId>asciidoctor-maven-plugin</artifactId>
739 <version>1.5.7.1</version>
742 <groupId>org.asciidoctor</groupId>
743 <artifactId>asciidoctorj-pdf</artifactId>
744 <version>1.5.0-alpha.10.1</version>
748 <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
749 <sourceDocumentName>swagger.adoc</sourceDocumentName>
751 <doctype>book</doctype>
753 <toclevels>3</toclevels>
758 <generated>${project.build.directory}/asciidoc/generated</generated>
765 <phase>post-integration-test</phase>
767 <goal>process-asciidoc</goal>
770 <backend>html5</backend>
771 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
772 <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
777 <phase>post-integration-test</phase>
779 <goal>process-asciidoc</goal>
782 <backend>pdf</backend>
783 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
789 <groupId>org.codehaus.groovy.maven</groupId>
790 <artifactId>gmaven-plugin</artifactId>
791 <version>1.0</version>
794 <phase>validate</phase>
799 <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
805 <groupId>org.codehaus.groovy.maven</groupId>
806 <artifactId>gmaven-plugin</artifactId>
807 <version>1.0</version>
810 <phase>validate</phase>
815 <source>${project.basedir}/src/main/script/SelectNpmRepo.groovy</source>
821 <groupId>org.apache.maven.plugins</groupId>
822 <artifactId>maven-jar-plugin</artifactId>
823 <version>3.0.2</version>
826 <id>jar-with-only-classes</id>
827 <phase>package</phase>
832 <classifier>classes</classifier>
834 <include>org/**</include>
841 <groupId>org.codehaus.mojo</groupId>
842 <artifactId>build-helper-maven-plugin</artifactId>
843 <version>3.0.0</version>
847 <goal>attach-artifact</goal>
849 <phase>package</phase>
853 <file>${project.build.directory}/clamp-classes.jar</file>
855 <classifier>classes</classifier>
861 <id>reserve-port-for-tests</id>
862 <phase>process-resources</phase>
864 <goal>reserve-network-port</goal>
868 <portName>docker.mariadb.port.host</portName>
869 <portName>docker.http-cache.port.host</portName>
870 <portName>clamp.it.tests.http-redirected</portName>
871 <portName>clamp.it.tests.https</portName>
872 <portName>clamp.it.tests.http</portName>
880 <groupId>org.springframework.boot</groupId>
881 <artifactId>spring-boot-maven-plugin</artifactId>
882 <version>${springboot.version}</version>
886 <goal>repackage</goal>
888 <phase>package</phase>
893 <groupId>org.apache.maven.plugins</groupId>
894 <artifactId>maven-surefire-plugin</artifactId>
895 <version>2.22.2</version>
897 <forkCount>1C</forkCount>
898 <reuseForks>true</reuseForks>
899 <useSystemClassLoader>false</useSystemClassLoader>
900 <argLine>${surefireArgLine}</argLine>
905 <groupId>org.apache.maven.plugins</groupId>
906 <artifactId>maven-failsafe-plugin</artifactId>
907 <version>2.22.2</version>
910 <id>integration-tests</id>
912 <goal>integration-test</goal>
916 <additionalClasspathElements>
917 <additionalClasspathElement>${project.build.directory}/classes</additionalClasspathElement>
918 </additionalClasspathElements>
920 <include>**/*ItCase.java</include>
922 <forkCount>1C</forkCount>
923 <reuseForks>true</reuseForks>
924 <useSystemClassLoader>false</useSystemClassLoader>
925 <argLine>${failsafeArgLine}</argLine>
931 <groupId>io.fabric8</groupId>
932 <artifactId>docker-maven-plugin</artifactId>
933 <version>0.31.0</version>
936 <groupId>org.apache.httpcomponents</groupId>
937 <artifactId>httpclient</artifactId>
938 <version>4.5.5</version>
942 <verbose>true</verbose>
943 <apiVersion>1.35</apiVersion>
946 <name>library/mariadb:10.3.12</name>
947 <alias>mariadb</alias>
950 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
952 <hostname>mariadb</hostname>
955 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume>
956 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
960 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
963 <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop>
967 <port>${docker.mariadb.port.host}:3306</port>
975 <name>library/python:2-slim</name>
976 <alias>python</alias>
978 <hostname>python</hostname>
981 <volume>${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app</volume>
982 <volume>${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache</volume>
995 <port>${docker.http-cache.port.host}:8080</port>
997 <workingDir>/usr/src/http-cache-app</workingDir>
999 <shell>./start_http_cache.sh ${python.http.proxy.param}
1000 --python_proxyaddress=localhost:${docker.http-cache.port.host}</shell>
1008 <name>onap/clamp-backend</name>
1009 <alias>onap-clamp-backend</alias>
1014 <cleanup>true</cleanup>
1017 <tag>${project.docker.latesttagtimestamp.version}</tag>
1018 <tag>${project.docker.latesttag.version}</tag>
1020 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1022 <dockerFile>backend/Dockerfile</dockerFile>
1024 <descriptor>backend/backend-files.xml</descriptor>
1025 <name>onap-clamp-backend</name>
1030 <name>onap/clamp-frontend</name>
1031 <alias>onap-clamp-frontend</alias>
1036 <cleanup>true</cleanup>
1039 <tag>${project.docker.latesttagtimestamp.version}</tag>
1040 <tag>${project.docker.latesttag.version}</tag>
1042 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1044 <dockerFile>frontend/Dockerfile</dockerFile>
1046 <descriptor>frontend/frontend-files.xml</descriptor>
1047 <name>onap-clamp-frontend</name>
1056 <id>generate-images</id>
1057 <phase>install</phase>
1063 <id>push-images</id>
1064 <phase>deploy</phase>
1070 <id>docker-start-for-it</id>
1071 <phase>pre-integration-test</phase>
1077 <id>docker-stop-for-it</id>
1078 <phase>post-integration-test</phase>
1087 <groupId>org.jacoco</groupId>
1088 <artifactId>jacoco-maven-plugin</artifactId>
1089 <version>0.8.5</version>
1091 <dumpOnExit>true</dumpOnExit>
1092 <append>true</append>
1094 <include>org/onap/clamp/**</include>
1099 <id>pre-unit-test</id>
1101 <goal>prepare-agent</goal>
1104 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
1105 <propertyName>surefireArgLine</propertyName>
1106 <!-- <append>true</append> -->
1110 <id>pre-integration-test</id>
1111 <phase>pre-integration-test</phase>
1113 <goal>prepare-agent</goal>
1116 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
1117 <propertyName>failsafeArgLine</propertyName>
1118 <!-- <append>true</append> -->
1125 <phase>post-integration-test</phase>
1129 implementation="org.apache.maven.shared.model.fileset.FileSet">
1130 <directory>${project.build.directory}/coverage-reports</directory>
1132 <include>*.exec</include>
1136 <destFile>${project.build.directory}/jacoco.exec</destFile>
1145 <!-- Setting explicit path, so that we remember where it picks them up from -->
1146 <dataFile>${project.build.directory}/jacoco.exec</dataFile>
1147 <outputDirectory>${project.build.directory}/jacoco-html-xml-reports</outputDirectory>
1153 <!-- This plugin will be useful when we will have multi-modules project -->
1155 <groupId>org.codehaus.mojo</groupId>
1156 <artifactId>versions-maven-plugin</artifactId>
1157 <version>1.3.1</version>
1161 <groupId>com.github.eirslett</groupId>
1162 <artifactId>frontend-maven-plugin</artifactId>
1163 <version>1.8.0</version>
1165 <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory>
1169 <id>install_node_and_npm</id>
1171 <goal>install-node-and-npm</goal>
1173 <phase>generate-sources</phase>
1175 <nodeVersion>v12.13.0</nodeVersion>
1176 <npmVersion>6.13.0</npmVersion>
1180 <id>npm_install</id>
1184 <phase>compile</phase>
1186 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1187 <arguments>install</arguments>
1197 <skip>${maven.test.skip}</skip>
1198 <arguments>run-script test:coverage</arguments>
1199 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1203 <id>npm_install_lib</id>
1207 <phase>deploy</phase>
1209 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1210 <arguments>install</arguments>
1214 <id>npm_build_lib</id>
1218 <phase>deploy</phase>
1220 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1221 <arguments>run build</arguments>
1225 <id>npm_publish</id>
1229 <phase>deploy</phase>
1231 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1232 <arguments>publish</arguments>
1238 <groupId>org.apache.maven.plugins</groupId>
1239 <artifactId>maven-compiler-plugin</artifactId>
1240 <version>3.8.1</version>
1247 <groupId>org.sonarsource.scanner.maven</groupId>
1248 <artifactId>sonar-maven-plugin</artifactId>
1249 <version>3.7.0.1746</version>