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.1.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.6.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.33</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.ws</groupId>
371 <artifactId>jaxws-api</artifactId>
372 <version>2.3.1</version>
375 <groupId>javax.xml.bind</groupId>
376 <artifactId>jaxb-api</artifactId>
377 <version>2.3.0</version>
380 <groupId>org.glassfish.jersey.core</groupId>
381 <artifactId>jersey-common</artifactId>
382 <version>2.27</version>
384 <!-- Spring famework -->
386 <groupId>org.springframework.boot</groupId>
387 <artifactId>spring-boot-starter-web</artifactId>
390 <groupId>org.springframework.boot</groupId>
391 <artifactId>spring-boot-starter-json</artifactId>
396 <groupId>org.springframework.boot</groupId>
397 <artifactId>spring-boot-starter-tomcat</artifactId>
400 <groupId>org.springframework</groupId>
401 <artifactId>spring-jdbc</artifactId>
404 <groupId>org.springframework.boot</groupId>
405 <artifactId>spring-boot-starter-security</artifactId>
408 <groupId>org.springframework.boot</groupId>
409 <artifactId>spring-boot-autoconfigure</artifactId>
412 <groupId>org.springframework.boot</groupId>
413 <artifactId>spring-boot-starter-test</artifactId>
417 <groupId>com.vaadin.external.google</groupId>
418 <artifactId>android-json</artifactId>
423 <groupId>org.springframework.boot</groupId>
424 <artifactId>spring-boot-starter-data-jpa</artifactId>
426 <!-- Others dependencies -->
428 <groupId>org.onap.aaf.authz</groupId>
429 <artifactId>aaf-cadi-aaf</artifactId>
430 <version>2.1.15</version>
433 <groupId>javax.servlet</groupId>
434 <artifactId>servlet-api</artifactId>
437 <groupId>log4j</groupId>
438 <artifactId>log4j</artifactId>
443 <groupId>ch.qos.logback</groupId>
444 <artifactId>logback-core</artifactId>
445 <version>1.2.3</version>
448 <groupId>ch.qos.logback</groupId>
449 <artifactId>logback-classic</artifactId>
450 <version>1.2.3</version>
453 <groupId>commons-dbcp</groupId>
454 <artifactId>commons-dbcp</artifactId>
455 <version>1.4</version>
458 <groupId>commons-io</groupId>
459 <artifactId>commons-io</artifactId>
460 <version>2.6</version>
463 <groupId>com.googlecode.json-simple</groupId>
464 <artifactId>json-simple</artifactId>
465 <version>1.1.1</version>
468 <groupId>org.apache.commons</groupId>
469 <artifactId>commons-vfs2</artifactId>
470 <version>2.2</version>
473 <groupId>joda-time</groupId>
474 <artifactId>joda-time</artifactId>
477 <groupId>org.slf4j</groupId>
478 <artifactId>slf4j-api</artifactId>
481 <groupId>javax.ws.rs</groupId>
482 <artifactId>javax.ws.rs-api</artifactId>
483 <version>2.0</version>
486 <groupId>junit</groupId>
487 <artifactId>junit</artifactId>
490 <groupId>javax.transaction</groupId>
491 <artifactId>jta</artifactId>
492 <version>1.1</version>
495 <groupId>javax.persistence</groupId>
496 <artifactId>persistence-api</artifactId>
497 <version>1.0.2</version>
500 <groupId>org.apache.commons</groupId>
501 <artifactId>commons-csv</artifactId>
502 <version>1.3</version>
504 <!-- Other dependencies to fix nexus IQ reported vulnerabilities -->
506 <groupId>org.springframework.security</groupId>
507 <artifactId>spring-security-web</artifactId>
508 <version>5.2.3.RELEASE</version>
511 <groupId>org.codehaus.plexus</groupId>
512 <artifactId>plexus-utils</artifactId>
513 <version>3.0.24</version>
516 <groupId>org.jboss.spec.javax.ws.rs</groupId>
517 <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
518 <version>1.0.1.Final</version>
521 <groupId>com.google.guava</groupId>
522 <artifactId>guava</artifactId>
523 <version>27.0-jre</version>
526 <groupId>commons-codec</groupId>
527 <artifactId>commons-codec</artifactId>
528 <version>1.13</version>
530 <!-- Remove the MYSQL connector and replace it by Mariadb -->
532 <groupId>org.mariadb.jdbc</groupId>
533 <artifactId>mariadb-java-client</artifactId>
534 <version>2.2.1</version>
536 <!-- For SDC Controller -->
538 <groupId>org.onap.sdc.sdc-distribution-client</groupId>
539 <artifactId>sdc-distribution-client</artifactId>
540 <version>1.3.0</version>
543 <groupId>org.onap.sdc.sdc-tosca</groupId>
544 <artifactId>sdc-tosca</artifactId>
545 <version>1.5.1</version>
548 <groupId>org.yaml</groupId>
549 <artifactId>snakeyaml</artifactId>
550 <version>1.26</version>
553 <groupId>org.dom4j</groupId>
554 <artifactId>dom4j</artifactId>
555 <version>2.1.3</version>
560 <groupId>org.assertj</groupId>
561 <artifactId>assertj-core</artifactId>
562 <version>3.10.0</version>
566 <groupId>org.mockito</groupId>
567 <artifactId>mockito-core</artifactId>
568 <version>2.28.2</version>
572 <groupId>org.powermock</groupId>
573 <artifactId>powermock-api-mockito2</artifactId>
574 <version>2.0.4</version>
578 <groupId>org.powermock</groupId>
579 <artifactId>powermock-module-junit4</artifactId>
580 <version>2.0.4</version>
586 <finalName>clamp</finalName>
590 <directory>src/main/resources</directory>
591 <filtering>true</filtering>
593 <exclude>clds/aaf/**</exclude>
597 <directory>src/main/resources</directory>
598 <filtering>false</filtering>
600 <include>clds/aaf/**</include>
604 <directory>src/test/resources</directory>
606 <exclude>**/*.jks</exclude>
607 <exclude>**/*.csar</exclude>
609 <filtering>true</filtering>
612 <directory>src/test/resources/https</directory>
614 <include>**.jks</include>
616 <filtering>false</filtering>
617 <targetPath>https</targetPath>
620 <directory>src/test/resources/example/sdc</directory>
622 <include>**.csar</include>
624 <filtering>false</filtering>
625 <targetPath>example/sdc</targetPath>
629 <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise
630 they will be broken and unreadable -->
632 <directory>src/main/resources</directory>
633 <filtering>true</filtering>
635 <exclude>clds/aaf/**</exclude>
639 <directory>src/main/resources</directory>
640 <filtering>false</filtering>
642 <include>clds/aaf/**</include>
646 <directory>${ui.react.src}</directory>
648 <exclude>node_modules</exclude>
651 <include>src/**</include>
652 <include>public/**</include>
653 <include>package.json</include>
654 <include>package-lock.json</include>
656 <filtering>true</filtering>
657 <targetPath>${project.build.directory}/${ui.react.src}</targetPath>
660 <directory>${ui.react.src}</directory>
662 <include>src/**</include>
665 <exclude>**/__snapshots__/**</exclude>
666 <exclude>**/**.test.js</exclude>
668 <filtering>true</filtering>
669 <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
672 <directory>${ui.react.lib.src}</directory>
674 <include>**</include>
677 <exclude>node_modules/**</exclude>
678 <exclude>package-lock.json</exclude>
680 <filtering>true</filtering>
681 <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
687 <groupId>de.jpdigital</groupId>
688 <artifactId>hibernate52-ddl-maven-plugin</artifactId>
689 <version>2.2.0</version>
692 <groupId>javax.xml.bind</groupId>
693 <artifactId>jaxb-api</artifactId>
694 <version>2.3.0</version>
699 <phase>process-classes</phase>
705 <param>org.onap.clamp</param>
708 <param>MARIADB53</param>
710 <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory>
711 <outputFileNameSuffix>create-tables</outputFileNameSuffix>
712 <!-- <createDropStatements>true</createDropStatements> -->
713 <omitDialectFromFileName>true</omitDialectFromFileName>
719 <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
720 a list of .adoc files containing the APIs info in more structured way -->
722 <groupId>io.github.swagger2markup</groupId>
723 <artifactId>swagger2markup-maven-plugin</artifactId>
724 <version>1.3.3</version>
727 <groupId>io.github.swagger2markup</groupId>
728 <artifactId>swagger2markup-import-files-ext</artifactId>
729 <version>1.3.3</version>
732 <groupId>io.github.swagger2markup</groupId>
733 <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
734 <version>1.3.3</version>
738 <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput>
739 <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
741 <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
746 <phase>post-integration-test</phase>
748 <goal>convertSwagger2markup</goal>
754 <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
755 types, such as PDFs or HTML5 -->
757 <groupId>org.asciidoctor</groupId>
758 <artifactId>asciidoctor-maven-plugin</artifactId>
759 <version>1.5.7.1</version>
762 <groupId>org.asciidoctor</groupId>
763 <artifactId>asciidoctorj-pdf</artifactId>
764 <version>1.5.0-alpha.10.1</version>
768 <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
769 <sourceDocumentName>swagger.adoc</sourceDocumentName>
771 <doctype>book</doctype>
773 <toclevels>3</toclevels>
778 <generated>${project.build.directory}/asciidoc/generated</generated>
785 <phase>post-integration-test</phase>
787 <goal>process-asciidoc</goal>
790 <backend>html5</backend>
791 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
792 <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
797 <phase>post-integration-test</phase>
799 <goal>process-asciidoc</goal>
802 <backend>pdf</backend>
803 <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
809 <groupId>org.codehaus.groovy.maven</groupId>
810 <artifactId>gmaven-plugin</artifactId>
811 <version>1.0</version>
815 <phase>validate</phase>
820 <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
824 <id>npm-repos-selection</id>
825 <phase>validate</phase>
830 <source>${project.basedir}/src/main/script/SelectNpmRepo.groovy</source>
836 <groupId>org.apache.maven.plugins</groupId>
837 <artifactId>maven-jar-plugin</artifactId>
838 <version>3.0.2</version>
841 <id>jar-with-only-classes</id>
842 <phase>package</phase>
847 <classifier>classes</classifier>
849 <include>org/**</include>
856 <groupId>org.codehaus.mojo</groupId>
857 <artifactId>build-helper-maven-plugin</artifactId>
858 <version>3.0.0</version>
862 <goal>attach-artifact</goal>
864 <phase>package</phase>
868 <file>${project.build.directory}/clamp-classes.jar</file>
870 <classifier>classes</classifier>
876 <id>reserve-port-for-tests</id>
877 <phase>process-resources</phase>
879 <goal>reserve-network-port</goal>
883 <portName>docker.mariadb.port.host</portName>
884 <portName>docker.http-cache.port.host</portName>
885 <portName>clamp.it.tests.http-redirected</portName>
886 <portName>clamp.it.tests.https</portName>
887 <portName>clamp.it.tests.http</portName>
895 <groupId>org.springframework.boot</groupId>
896 <artifactId>spring-boot-maven-plugin</artifactId>
897 <version>${springboot.version}</version>
901 <goal>repackage</goal>
903 <phase>package</phase>
908 <groupId>org.apache.maven.plugins</groupId>
909 <artifactId>maven-surefire-plugin</artifactId>
910 <version>2.22.2</version>
912 <forkCount>1C</forkCount>
913 <reuseForks>true</reuseForks>
914 <useSystemClassLoader>false</useSystemClassLoader>
915 <argLine>${surefireArgLine}</argLine>
920 <groupId>org.apache.maven.plugins</groupId>
921 <artifactId>maven-failsafe-plugin</artifactId>
922 <version>2.22.2</version>
925 <id>integration-tests</id>
927 <goal>integration-test</goal>
931 <additionalClasspathElements>
932 <additionalClasspathElement>${project.build.directory}/classes</additionalClasspathElement>
933 </additionalClasspathElements>
935 <include>**/*ItCase.java</include>
937 <forkCount>1C</forkCount>
938 <reuseForks>true</reuseForks>
939 <useSystemClassLoader>false</useSystemClassLoader>
940 <argLine>${failsafeArgLine}</argLine>
946 <groupId>io.fabric8</groupId>
947 <artifactId>docker-maven-plugin</artifactId>
948 <version>0.31.0</version>
951 <groupId>org.apache.httpcomponents</groupId>
952 <artifactId>httpclient</artifactId>
953 <version>4.5.5</version>
957 <verbose>true</verbose>
958 <apiVersion>1.35</apiVersion>
961 <name>library/mariadb:10.3.12</name>
962 <alias>mariadb</alias>
965 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
967 <hostname>mariadb</hostname>
970 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume>
971 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
975 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
978 <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop>
982 <port>${docker.mariadb.port.host}:3306</port>
990 <name>library/python:2-slim</name>
991 <alias>python</alias>
993 <hostname>python</hostname>
996 <volume>${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app</volume>
997 <volume>${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache</volume>
1010 <port>${docker.http-cache.port.host}:8080</port>
1012 <workingDir>/usr/src/http-cache-app</workingDir>
1014 <shell>./start_http_cache.sh ${python.http.proxy.param}
1015 --python_proxyaddress=localhost:${docker.http-cache.port.host}</shell>
1023 <name>onap/clamp-backend</name>
1024 <alias>onap-clamp-backend</alias>
1029 <cleanup>true</cleanup>
1032 <tag>${project.docker.latesttagtimestamp.version}</tag>
1033 <tag>${project.docker.latesttag.version}</tag>
1035 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1037 <dockerFile>backend/Dockerfile</dockerFile>
1039 <descriptor>backend/backend-files.xml</descriptor>
1040 <name>onap-clamp-backend</name>
1045 <name>onap/clamp-frontend</name>
1046 <alias>onap-clamp-frontend</alias>
1051 <cleanup>true</cleanup>
1054 <tag>${project.docker.latesttagtimestamp.version}</tag>
1055 <tag>${project.docker.latesttag.version}</tag>
1057 <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
1059 <dockerFile>frontend/Dockerfile</dockerFile>
1061 <descriptor>frontend/frontend-files.xml</descriptor>
1062 <name>onap-clamp-frontend</name>
1071 <id>generate-images</id>
1072 <phase>install</phase>
1078 <id>push-images</id>
1079 <phase>deploy</phase>
1085 <id>docker-start-for-it</id>
1086 <phase>pre-integration-test</phase>
1092 <id>docker-stop-for-it</id>
1093 <phase>post-integration-test</phase>
1102 <groupId>org.jacoco</groupId>
1103 <artifactId>jacoco-maven-plugin</artifactId>
1104 <version>0.8.5</version>
1106 <dumpOnExit>true</dumpOnExit>
1107 <append>true</append>
1109 <include>org/onap/clamp/**</include>
1114 <id>pre-unit-test</id>
1116 <goal>prepare-agent</goal>
1119 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
1120 <propertyName>surefireArgLine</propertyName>
1121 <!-- <append>true</append> -->
1125 <id>pre-integration-test</id>
1126 <phase>pre-integration-test</phase>
1128 <goal>prepare-agent</goal>
1131 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
1132 <propertyName>failsafeArgLine</propertyName>
1133 <!-- <append>true</append> -->
1140 <phase>post-integration-test</phase>
1144 implementation="org.apache.maven.shared.model.fileset.FileSet">
1145 <directory>${project.build.directory}/coverage-reports</directory>
1147 <include>*.exec</include>
1151 <destFile>${project.build.directory}/jacoco.exec</destFile>
1160 <!-- Setting explicit path, so that we remember where it picks them up from -->
1161 <dataFile>${project.build.directory}/jacoco.exec</dataFile>
1162 <outputDirectory>${project.build.directory}/jacoco-html-xml-reports</outputDirectory>
1168 <!-- This plugin will be useful when we will have multi-modules project -->
1170 <groupId>org.codehaus.mojo</groupId>
1171 <artifactId>versions-maven-plugin</artifactId>
1172 <version>1.3.1</version>
1176 <groupId>com.github.eirslett</groupId>
1177 <artifactId>frontend-maven-plugin</artifactId>
1178 <version>1.8.0</version>
1180 <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory>
1184 <id>install_node_and_npm</id>
1186 <goal>install-node-and-npm</goal>
1188 <phase>generate-sources</phase>
1190 <nodeVersion>v12.13.0</nodeVersion>
1191 <npmVersion>6.13.0</npmVersion>
1195 <id>npm_install</id>
1199 <phase>compile</phase>
1201 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1202 <arguments>install</arguments>
1212 <skip>${maven.test.skip}</skip>
1213 <arguments>run-script test:coverage</arguments>
1214 <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
1218 <id>npm_install_lib</id>
1222 <phase>deploy</phase>
1224 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1225 <arguments>install</arguments>
1229 <id>npm_build_lib</id>
1233 <phase>deploy</phase>
1235 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1236 <arguments>run build</arguments>
1240 <id>npm_publish</id>
1244 <phase>deploy</phase>
1247 <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
1248 <arguments>publish</arguments>
1254 <groupId>org.apache.maven.plugins</groupId>
1255 <artifactId>maven-compiler-plugin</artifactId>
1256 <version>3.8.1</version>
1263 <groupId>org.sonarsource.scanner.maven</groupId>
1264 <artifactId>sonar-maven-plugin</artifactId>
1265 <version>3.7.0.1746</version>
1268 <groupId>org.codehaus.mojo</groupId>
1269 <artifactId>exec-maven-plugin</artifactId>
1270 <version>1.3.2</version>
1273 <id>libIndexCheck</id>
1274 <phase>validate</phase>
1281 <executable>bash</executable>
1283 <argument>${project.basedir}/src/main/script/checkLibIndex.sh</argument>