4.0.0org.onap.policy.clamppolicy-clamp6.1.2-SNAPSHOTpolicy-clamp-runtime${project.artifactId}
This is the MAVEN project that builds everything for ONAP POLICY-CLAMP.
Docker engine is normally required to perfom all possible tasks (including integration tests)
It can build:
- The ONAP POLICY-CLAMP JAR that contains CLAMP back-end code.
- The DOCKER images for:
* POLICY-CLAMP backend (Java Spring)
* POLICY-CLAMP frontend (Javascript React)
It can test:
- The POLICY-CLAMP backend, JAVA unit testing
- The POLICY-CLAMP backend, JAVA integration tests (with Spring + docker mariadb database + docker policy/dcae
emulator written in python)
- The POLICY-CLAMP frontend, Javascript tests (NodeJS(NPM) + JEST and Enzyme for React)
The test coverage for dev's can be found after a "clean install" build in:
- Clamp backend: target/jacoco-dev.exec (unit tests + integration tests merged)
or separately target/coverage-reports/jacoco.exec and target/coverage-reports/jacoco-it.exec
- Clamp frontend: target/ui-react/coverage
Useful mvn commands:
- mvn clean install: Build Clamp backend JAR + unit tests + integration tests + NPM tests (+coverage for all)
- mvn clean install -DskipITs=true: Build Clamp backend JAR + unit tests + NPM tests (+coverage for all), it
does not require a DOCKER engine
- mvn clean install -DskipTests -P docker: Build Clamp backend JAR + all docker images
To start POLICY-CLAMP (Build it before):
- Use docker-compose file in ./extra/docker/clamp/docker-compose.yml
- Use the script located in ./extra/bin/start-backend.sh + start-frontend.sh
- Use your IDE to use the Jar or start NVM/NPM
yyyyMMdd'T'HHmmss'Z'${project.version}${maven.build.timestamp}jacoco${project.build.directory}/surefire-reports${project.build.directory}/jacoco-html-xml-reports/jacoco.xml
${project.version}DEBUG${project.build.directory}/${ui.react.src}/node/nodetruesrc/main,${project.build.directory}/${ui.react.src}/srcsrc/main/resources/**true${project.build.directory}/${ui.react.src}/coverage/lcov.info
src/main/resources/**,target/ui-react/src/**/*.test.js,target/ui-react/src/setupTests.js
localhost:5000nexus3.onap.org:10001truetruetruefalseui-reactui-react-libhttps://nexus3.onap.org/repository/npm.snapshot/without-testmaven.test.skiptruetruetruewithout-IT-onlyskipITstruetruetruewithout-IT-only2skipTeststruetruetruedockertruefalsefalsefalsefalseorg.springframework.bootspring-boot-dependencies${version.springboot}pomimportcom.att.eelfeelf-core${version.eelf.core}org.powermockpowermock-module-junit4org.powermockpowermock-api-mockitoorg.codehaus.janinojaninoorg.apache.tomcat.embedtomcat-embed-coreorg.apache.tomcat.embedtomcat-embed-elorg.apache.tomcat.embedtomcat-embed-websocketorg.apache.tomcattomcat-annotations-apiorg.apache.camel.springbootcamel-http-starter${version.camel}org.apache.camel.springbootcamel-spring-boot-starter${version.camel}org.apache.camel.springbootcamel-jaxb-starter${version.camel}org.apache.camel.springbootcamel-servlet-starter${version.camel}org.apache.camel.springbootcamel-gson-starter${version.camel}org.apache.camel.springbootcamel-swagger-java-starter${version.camel}javax.ws.rsjsr311-apiorg.slf4jslf4j-extorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-jsonorg.springframework.bootspring-boot-starter-tomcatorg.glassfishjakarta.elorg.springframeworkspring-jdbcorg.springframework.bootspring-boot-starter-securityorg.springframework.bootspring-boot-autoconfigureorg.springframework.bootspring-boot-starter-testtestcom.vaadin.external.googleandroid-jsonorg.springframework.bootspring-boot-starter-data-jpaorg.onap.policy.modelspolicy-models-pdp${policy.models.version}org.eclipse.jettyjetty-serverorg.glassfish.jersey.containersjersey-container-servletorg.jetbrains.kotlinkotlin-reflectorg.jetbrains.kotlinkotlin-stdliborg.jetbrains.kotlinkotlin-stdlib-commonjavax.xml.wsjaxws-apiorg.onap.aaf.authzaaf-cadi-aafjavax.servletservlet-apilog4jlog4jcommons-iocommons-iocom.googlecode.json-simplejson-simpleorg.apache.commonscommons-vfs2com.squareup.okhttpokhttporg.slf4jslf4j-apijavax.transactionjtajavax.persistencepersistence-api1.0.2commons-codeccommons-codecorg.codehaus.plexusplexus-utilsorg.jboss.spec.javax.ws.rsjboss-jaxrs-api_2.0_specorg.mariadb.jdbcmariadb-java-clientorg.onap.sdc.sdc-distribution-clientsdc-distribution-clientorg.onap.sdc.sdc-toscasdc-toscacom.fasterxml.jackson.corejackson-databindorg.yamlsnakeyamlorg.dom4jdom4jorg.junit.vintagejunit-vintage-enginetestcom.github.docker-javadocker-java-coretestcom.fasterxml.jackson.corejackson-databindcom.github.docker-javadocker-javatestpolicy-clamp-backendsrc/main/resourcestrueclds/aaf/**src/main/resourcesfalseclds/aaf/**src/test/resources**/*.jks**/*.csartruesrc/test/resources/https**.jksfalsehttpssrc/test/resources/example/sdc**.csarfalseexample/sdcsrc/main/resourcestrueclds/aaf/**src/main/resourcesfalseclds/aaf/**${ui.react.src}node_modulessrc/**public/**package.jsonpackage-lock.jsontrue${project.build.directory}/${ui.react.src}${ui.react.src}src/****/__snapshots__/****/**.test.jstrue${project.build.directory}/${ui.react.lib.src}${ui.react.lib.src}**node_modules/**package-lock.jsontrue${project.build.directory}/${ui.react.lib.src}de.jpdigitalhibernate52-ddl-maven-plugin2.2.0javax.xml.bindjaxb-api2.3.0process-classesgen-ddl
org.onap.policy.clamp
MARIADB53
${project.basedir}/extra/sql/bulkload/create-tablestrueio.github.swagger2markupswagger2markup-maven-plugin1.3.3io.github.swagger2markupswagger2markup-import-files-ext1.3.3io.github.swagger2markupswagger2markup-spring-restdocs-ext1.3.3${project.build.directory}/swagger/swagger.json${project.build.directory}/asciidoc/generatedASCIIDOCpost-integration-testconvertSwagger2markuporg.asciidoctorasciidoctor-maven-plugin1.5.7.1org.asciidoctorasciidoctorj-pdf1.5.0-alpha.10.1${project.basedir}/src/main/resources/asciidocswagger.adocbookleft3${project.build.directory}/asciidoc/generatedoutput-htmlpost-integration-testprocess-asciidochtml5${project.build.directory}/swaggeroutput-pdfpost-integration-testprocess-asciidocpdf${project.build.directory}/swaggerorg.codehaus.groovy.mavengmaven-plugin1.0docker-tagsvalidateexecutenpm-repos-selectionvalidateexecuteorg.apache.maven.pluginsmaven-jar-pluginjar-with-only-classespackagejarclassesorg/**org.codehaus.mojobuild-helper-maven-plugin3.2.0attach-artifactpackage${project.build.directory}/policy-clamp-backend-classes.jarjarclassesreserve-port-for-testsprocess-resourcesreserve-network-portdocker.mariadb.port.hostdocker.http-cache.port.hostclamp.it.tests.http-redirectedclamp.it.tests.robotframework.httpclamp.it.tests.httpsclamp.it.tests.httporg.springframework.bootspring-boot-maven-pluginrepackagepackageorg.apache.maven.pluginsmaven-surefire-plugin1Ctruefalse${surefireArgLine}org.apache.maven.pluginsmaven-failsafe-pluginintegration-testsintegration-testverify${project.build.directory}/classes
**/*ItCase.java1Ctruefalse${failsafeArgLine}io.fabric8docker-maven-pluginorg.apache.httpcomponentshttpclient4.5.5true1.35docker.io/mariadb:10.5.4mariadbstrong_pitchoumariadb${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.dport: 3306/docker-entrypoint-initdb.d/dump/backup-data-only.sh${docker.mariadb.port.host}:3306bridgedocker.io/python:2-slimpythonpython
${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app
${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache
8080direct${docker.http-cache.port.host}:8080/usr/src/http-cache-app./start_http_cache.sh ${python.http.proxy.param}
--python_proxyaddress=localhost:${docker.http-cache.port.host}
bridgeonap/policy-clamp-backendonap-policy-clamp-backendtruetruelatest${project.docker.latesttagtimestamp.version}${project.docker.latesttag.version}backend/Dockerfilebackend/backend-files.xmlonap-policy-clamp-backendonap/policy-clamp-frontendonap-policy-clamp-frontendtruetruelatest${project.docker.latesttagtimestamp.version}${project.docker.latesttag.version}frontend/Dockerfilefrontend/frontend-files.xmlonap-policy-clamp-frontendgenerate-imagesinstallbuildpush-imagesdeploypushdocker-start-for-itpre-integration-teststartdocker-stop-for-itpost-integration-teststoporg.jacocojacoco-maven-plugintruetrueorg/onap/policy/clamp/**pre-unit-testprepare-agent${project.build.directory}/coverage-reports/jacoco.execsurefireArgLinepre-integration-testpre-integration-testprepare-agent${project.build.directory}/coverage-reports/jacoco-it.execfailsafeArgLinefalsemergepost-integration-test${project.build.directory}/coverage-reports*.exec${project.build.directory}/jacoco.execreport-xmlreport${project.build.directory}/jacoco.exec${project.build.directory}/jacoco-html-xml-reportsorg.codehaus.mojoversions-maven-plugincom.github.eirslettfrontend-maven-plugin1.11.3${project.build.directory}/${ui.react.src}${repo.npm}install_node_and_npminstall-node-and-npmgenerate-sourcesv14.16.16.14.13npm_installnpmcompile${project.build.directory}/${ui.react.src}installnpm_testnpmtest${maven.test.skip}run-script test:coverage${project.build.directory}/${ui.react.src}npm_install_libnpmdeploy${project.build.directory}/${ui.react.lib.src}installnpm_build_libnpmdeploy${project.build.directory}/${ui.react.lib.src}run buildnpm_publishnpmdeploy${project.build.directory}/${ui.react.lib.src}publishorg.apache.maven.pluginsmaven-compiler-pluginorg.sonarsource.scanner.mavensonar-maven-pluginorg.codehaus.mojoexec-maven-pluginlibIndexCheckvalidateexecbash${project.basedir}/src/main/script/checkLibIndex.shorg.codehaus.mojokeytool-maven-plugin1.5add-certificate-for-dev${project.build.directory}/classes/clds/aaf/org.onap.clamp.p12China in the SpringclamptestPKCS12RSAcn=CN, ou=OU, o=O, c=C365generateKeyPairgenerate-resourcesadd-certificate-for-test${project.build.directory}/test-classes/clds/aaf/org.onap.clamp.p12China in the SpringclamptestPKCS12RSAcn=CN, ou=OU, o=O, c=C365generateKeyPairgenerate-test-resources