aboutsummaryrefslogtreecommitdiffstats
path: root/pom.xml
diff options
context:
space:
mode:
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-05-07 15:17:52 +0100
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-05-13 09:00:52 +0100
commitf83411a86e2277adae69e780e8511913d61a0f17 (patch)
treed75f197e703270cda608c9bd0d236f7ce8c12e13 /pom.xml
parentcac5cc982413ab9593186d308eda8936e9603ad9 (diff)
Modular structure of clamp including controlloop
This commit is the first commit that puts in multi module structure while changing the existing CLAMP code as little as possible. It adds a structure where common, models, participant and runtime are direct children under clamp, and current clamp code is moved under runtime. This runtime directory will host controlloop runtime code in later commits. Issue-ID: POLICY-3215 Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech> Change-Id: I15bc8be92ed020343bff4024c4718fec462c40d7 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml1332
1 files changed, 37 insertions, 1295 deletions
diff --git a/pom.xml b/pom.xml
index dccefcafe..6f86ff513 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,1329 +1,71 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
- ONAP POLICY-CLAMP
- ================================================================================
- Copyright (C) 2017-2021 AT&T Intellectual Property. All rights
- reserved.
+ Copyright (C) 2021 Nordix Foundation.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
- ============LICENSE_END============================================
- ===================================================================
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.onap.policy</groupId>
- <artifactId>clamp</artifactId>
- <version>6.1.1-SNAPSHOT</version>
- <name>policy-clamp</name>
+ ============LICENSE_END=========================================================
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.policy.parent</groupId>
<artifactId>integration</artifactId>
- <version>3.3.0</version>
- <relativePath/>
+ <version>3.4.0-SNAPSHOT</version>
</parent>
- <description>
- This is the MAVEN project that builds everything for ONAP POLICY-CLAMP.
- Docker engine is normally requires 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
+ <groupId>org.onap.policy.clamp</groupId>
+ <artifactId>policy-clamp</artifactId>
+ <version>6.1.2-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
- 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
+ <packaging>pom</packaging>
+ <description>
+ This is the root Maven module for the policy-clamp project.
+
+ It contains the following modules:
+ - policy-clamp-common: Common code for all CLAMP modules
+ - policy-clamp-models: POJOs and other model code for REST and DMaaP messages and for persistence
+ - policy-clamp-runtime: The runtime server for CLAMP
+ - policy-clamp-participant: Modules for CLAMP control loop participants
+ o policy-clamp-participant-intermediary: A common JAR that handles participant state and DMaaP handling
+ o policy-clamp-participant-impl-cds: A standard participant for interworking with CDS
+ o policy-clamp-participant-impl-dcae: A standard participant for interworking with DCAE
+ o policy-clamp-participant-impl-kubernetes: A standard participant for Kubernetes microservices
+ o policy-clamp-participant-impl-policy: A standard participant for handling polcies for Policy Framework
+ o policy-clamp-participant-impl-simulator: A participant simulator for integration testing
</description>
<properties>
- <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
- <clamp.project.version>${project.version}</clamp.project.version>
- <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
- <eelf.core.version>1.0.0</eelf.core.version>
- <camel.version>3.7.3</camel.version>
- <springboot.version>2.4.4</springboot.version>
-
- <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
- <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
- <sonar.coverage.jacoco.xmlReportPaths>${project.build.directory}/jacoco-html-xml-reports/jacoco.xml
- </sonar.coverage.jacoco.xmlReportPaths>
- <sonar.projectVersion>${project.version}</sonar.projectVersion>
- <sonar.log.level>DEBUG</sonar.log.level>
- <sonar.nodejs.executable>${project.build.directory}/${ui.react.src}/node/node</sonar.nodejs.executable>
- <sonar.verbose>true</sonar.verbose>
- <sonar.sources>src/main,${project.build.directory}/${ui.react.src}/src</sonar.sources>
- <sonar.exclusions>src/main/resources/**</sonar.exclusions>
- <sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled>
- <sonar.javascript.lcov.reportPaths>${project.build.directory}/${ui.react.src}/coverage/lcov.info
- </sonar.javascript.lcov.reportPaths>
- <sonar.coverage.exclusions>
- src/main/resources/**,target/ui-react/src/**/*.test.js,target/ui-react/src/setupTests.js
- </sonar.coverage.exclusions>
- <docker.push.registry>localhost:5000</docker.push.registry>
- <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
- <docker.skip.build>true</docker.skip.build>
- <docker.skip.push>true</docker.skip.push>
- <docker.skip.tag>true</docker.skip.tag>
- <skip.staging.artifacts>false</skip.staging.artifacts>
- <python.http.proxy.param/>
- <tomcat.version>9.0.45</tomcat.version>
- <ui.react.src>ui-react</ui.react.src>
- <ui.react.lib.src>ui-react-lib</ui.react.lib.src>
- <npm.publish.url>https://nexus3.onap.org/repository/npm.snapshot/</npm.publish.url>
-
- <policy.models.version>2.4.0</policy.models.version>
- <policy.common.version>1.8.1</policy.common.version>
+ <policy.common.version>1.9.0-SNAPSHOT</policy.common.version>
+ <policy.models.version>2.5.0-SNAPSHOT</policy.models.version>
</properties>
- <profiles>
- <!-- BEGIN: NOT USABLE profiles, those are defined when specific flags are enabled -->
- <profile>
- <id>without-test</id>
- <activation>
- <property>
- <name>maven.test.skip</name>
- <value>true</value>
- </property>
- </activation>
- <properties>
- <docker.skip.run>true</docker.skip.run>
- <docker.skip>true</docker.skip>
- </properties>
- </profile>
- <profile>
- <id>without-IT-only</id>
- <activation>
- <property>
- <name>skipITs</name>
- <value>true</value>
- </property>
- </activation>
- <properties>
- <docker.skip.run>true</docker.skip.run>
- <docker.skip>true</docker.skip>
- </properties>
- </profile>
- <profile>
- <id>without-IT-only2</id>
- <activation>
- <property>
- <name>skipTests</name>
- <value>true</value>
- </property>
- </activation>
- <properties>
- <docker.skip.run>true</docker.skip.run>
- <docker.skip>true</docker.skip>
- </properties>
- </profile>
- <!-- END: NOT USABLE profiles, those are defined when specific flags are enabled -->
- <profile>
- <id>docker</id>
- <properties>
- <skip.staging.artifacts>true</skip.staging.artifacts>
- <docker.skip.build>false</docker.skip.build>
- <docker.skip.tag>false</docker.skip.tag>
- <docker.skip.push>false</docker.skip.push>
- <docker.skip>false</docker.skip>
- </properties>
- </profile>
- </profiles>
-
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <name>ONAP Release Repository</name>
- <url>https://nexus.onap.org/content/repositories/releases/</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <name>ONAP Snapshot Repository</name>
- <url>https://nexus.onap.org/content/repositories/snapshots/</url>
- </snapshotRepository>
- <site>
- <id>ecomp-site</id>
- <url>dav:https://nexus.onap.org/content/sites/site/org/onap/policy/clamp/${project.version}</url>
- </site>
- </distributionManagement>
-
- <repositories>
- <repository>
- <id>onap-public</id>
- <name>onap-public</name>
- <url>https://nexus.onap.org/content/repositories/public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>ecomp-releases</id>
- <name>ONAP Release Repository</name>
- <url>https://nexus.onap.org/content/repositories/releases/</url>
- </repository>
- <repository>
- <id>ecomp-staging</id>
- <name>ONAP Staging Repository</name>
- <url>https://nexus.onap.org/content/repositories/staging/</url>
- </repository>
- <repository>
- <id>ecomp-snapshots</id>
- <name>ONAP Snapshot Repository</name>
- <url>https://nexus.onap.org/content/repositories/snapshots/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>central</id>
- <url>http://repo1.maven.org/maven2/</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>onap-public</id>
- <name>onap-public</name>
- <url>https://nexus.onap.org/content/repositories/public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>central</id>
- <url>http://repo1.maven.org/maven2/</url>
- </pluginRepository>
- </pluginRepositories>
-
- <dependencyManagement>
- <dependencies>
- <!-- Spring Boot BOM -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-dependencies</artifactId>
- <version>${springboot.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <!-- Camel BOM -->
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-spring-boot-bom</artifactId>
- <version>${camel.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
+ <modules>
+ <module>common</module>
+ <module>models</module>
+ <module>runtime</module>
+ <module>participant</module>
+ </modules>
<dependencies>
<dependency>
- <groupId>com.att.eelf</groupId>
- <artifactId>eelf-core</artifactId>
- <version>${eelf.core.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-module-junit4</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.codehaus.janino</groupId>
- <artifactId>janino</artifactId>
- <version>3.0.8</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-core</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-el</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat.embed</groupId>
- <artifactId>tomcat-embed-websocket</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-annotations-api</artifactId>
- <version>${tomcat.version}</version>
- </dependency>
- <!-- For CAMEL -->
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-http-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-spring-boot-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-jaxb-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-servlet-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-gson-starter</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.springboot</groupId>
- <artifactId>camel-swagger-java-starter</artifactId>
- <exclusions>
- <exclusion>
- <groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-ext</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- Spring famework -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-json</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.glassfish</groupId>
- <artifactId>jakarta.el</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-security</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-autoconfigure</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>com.vaadin.external.google</groupId>
- <artifactId>android-json</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
- <!-- Policy dependencies mainly for the models required -->
- <dependency>
- <groupId>org.onap.policy.models</groupId>
- <artifactId>policy-models-pdp</artifactId>
- <version>${policy.models.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-reflect</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jetbrains.kotlin</groupId>
- <artifactId>kotlin-stdlib-common</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Others dependencies -->
- <!-- Jaxws is required for AAF -->
- <dependency>
- <groupId>javax.xml.ws</groupId>
- <artifactId>jaxws-api</artifactId>
- <version>2.3.1</version>
- </dependency>
- <dependency>
- <groupId>org.onap.aaf.authz</groupId>
- <artifactId>aaf-cadi-aaf</artifactId>
- <version>2.1.15</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>1.2.3</version>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.2.3</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.8.0</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.json-simple</groupId>
- <artifactId>json-simple</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-vfs2</artifactId>
- <version>2.8.0</version>
- <exclusions>
- <exclusion>
- <groupId>com.squareup.okhttp</groupId>
- <artifactId>okhttp</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>1.0.2</version>
- </dependency>
- <!-- Other dependencies to fix nexus IQ reported vulnerabilities -->
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.15</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>3.3.0</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.spec.javax.ws.rs</groupId>
- <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
- <version>1.0.1.Final</version>
- </dependency>
-
-
- <!-- Remove the MYSQL connector and replace it by Mariadb -->
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>2.7.2</version>
- </dependency>
- <!-- For SDC Controller -->
- <dependency>
- <groupId>org.onap.sdc.sdc-distribution-client</groupId>
- <artifactId>sdc-distribution-client</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.onap.sdc.sdc-tosca</groupId>
- <artifactId>sdc-tosca</artifactId>
- <version>1.5.1</version>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.yaml</groupId>
- <artifactId>snakeyaml</artifactId>
- <version>1.28</version>
- </dependency>
- <dependency>
- <groupId>org.dom4j</groupId>
- <artifactId>dom4j</artifactId>
- <version>2.1.3</version>
- </dependency>
-
- <!-- TESTING -->
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <version>5.7.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>3.10.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.github.docker-java</groupId>
- <artifactId>docker-java-core</artifactId>
- <version>3.2.7</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.github.docker-java</groupId>
- <artifactId>docker-java</artifactId>
- <version>3.2.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>utils-test</artifactId>
- <version>${policy.common.version}</version>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <finalName>policy-clamp-backend</finalName>
-
- <testResources>
- <testResource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>clds/aaf/**</exclude>
- </excludes>
- </testResource>
- <testResource>
- <directory>src/main/resources</directory>
- <filtering>false</filtering>
- <includes>
- <include>clds/aaf/**</include>
- </includes>
- </testResource>
- <testResource>
- <directory>src/test/resources</directory>
- <excludes>
- <exclude>**/*.jks</exclude>
- <exclude>**/*.csar</exclude>
- </excludes>
- <filtering>true</filtering>
- </testResource>
- <testResource>
- <directory>src/test/resources/https</directory>
- <includes>
- <include>**.jks</include>
- </includes>
- <filtering>false</filtering>
- <targetPath>https</targetPath>
- </testResource>
- <testResource>
- <directory>src/test/resources/example/sdc</directory>
- <includes>
- <include>**.csar</include>
- </includes>
- <filtering>false</filtering>
- <targetPath>example/sdc</targetPath>
- </testResource>
- </testResources>
- <resources>
- <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise
- they will be broken and unreadable -->
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>clds/aaf/**</exclude>
- </excludes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>false</filtering>
- <includes>
- <include>clds/aaf/**</include>
- </includes>
- </resource>
- <resource>
- <directory>${ui.react.src}</directory>
- <excludes>
- <exclude>node_modules</exclude>
- </excludes>
- <includes>
- <include>src/**</include>
- <include>public/**</include>
- <include>package.json</include>
- <include>package-lock.json</include>
- </includes>
- <filtering>true</filtering>
- <targetPath>${project.build.directory}/${ui.react.src}</targetPath>
- </resource>
- <resource>
- <directory>${ui.react.src}</directory>
- <includes>
- <include>src/**</include>
- </includes>
- <excludes>
- <exclude>**/__snapshots__/**</exclude>
- <exclude>**/**.test.js</exclude>
- </excludes>
- <filtering>true</filtering>
- <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
- </resource>
- <resource>
- <directory>${ui.react.lib.src}</directory>
- <includes>
- <include>**</include>
- </includes>
- <excludes>
- <exclude>node_modules/**</exclude>
- <exclude>package-lock.json</exclude>
- </excludes>
- <filtering>true</filtering>
- <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath>
- </resource>
- </resources>
-
- <plugins>
- <plugin>
- <groupId>de.jpdigital</groupId>
- <artifactId>hibernate52-ddl-maven-plugin</artifactId>
- <version>2.2.0</version>
- <dependencies>
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.3.0</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <phase>process-classes</phase>
- <goals>
- <goal>gen-ddl</goal>
- </goals>
- <configuration>
- <packages>
- <param>org.onap.policy.clamp</param>
- </packages>
- <dialects>
- <param>MARIADB53</param>
- </dialects>
- <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory>
- <outputFileNameSuffix>create-tables</outputFileNameSuffix>
- <!-- <createDropStatements>true</createDropStatements> -->
- <omitDialectFromFileName>true</omitDialectFromFileName>
- </configuration>
- </execution>
- </executions>
-
- </plugin>
- <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
- a list of .adoc files containing the APIs info in more structured way -->
- <plugin>
- <groupId>io.github.swagger2markup</groupId>
- <artifactId>swagger2markup-maven-plugin</artifactId>
- <version>1.3.3</version>
- <dependencies>
- <dependency>
- <groupId>io.github.swagger2markup</groupId>
- <artifactId>swagger2markup-import-files-ext</artifactId>
- <version>1.3.3</version>
- </dependency>
- <dependency>
- <groupId>io.github.swagger2markup</groupId>
- <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
- <version>1.3.3</version>
- </dependency>
- </dependencies>
- <configuration>
- <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput>
- <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
- <config>
- <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
- </config>
- </configuration>
- <executions>
- <execution>
- <phase>post-integration-test</phase>
- <goals>
- <goal>convertSwagger2markup</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
- types, such as PDFs or HTML5 -->
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>1.5.7.1</version>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj-pdf</artifactId>
- <version>1.5.0-alpha.10.1</version>
- </dependency>
- </dependencies>
- <configuration>
- <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
- <sourceDocumentName>swagger.adoc</sourceDocumentName>
- <attributes>
- <doctype>book</doctype>
- <toc>left</toc>
- <toclevels>3</toclevels>
- <numbered/>
- <hardbreaks/>
- <sectlinks/>
- <sectanchors/>
- <generated>${project.build.directory}/asciidoc/generated</generated>
- </attributes>
- </configuration>
-
- <executions>
- <execution>
- <id>output-html</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <backend>html5</backend>
- <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
- <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>output-pdf</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <backend>pdf</backend>
- <outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.groovy.maven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>docker-tags</id>
- <phase>validate</phase>
- <goals>
- <goal>execute</goal>
- </goals>
- <configuration>
- <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
- </configuration>
- </execution>
- <execution>
- <id>npm-repos-selection</id>
- <phase>validate</phase>
- <goals>
- <goal>execute</goal>
- </goals>
- <configuration>
- <source>${project.basedir}/src/main/script/SelectNpmRepo.groovy</source>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.2.0</version>
- <executions>
- <execution>
- <id>jar-with-only-classes</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <classifier>classes</classifier>
- <includes>
- <include>org/**</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.2.0</version>
- <executions>
- <execution>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/policy-clamp-backend-classes.jar</file>
- <type>jar</type>
- <classifier>classes</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- <execution>
- <id>reserve-port-for-tests</id>
- <phase>process-resources</phase>
- <goals>
- <goal>reserve-network-port</goal>
- </goals>
- <configuration>
- <portNames>
- <portName>docker.mariadb.port.host</portName>
- <portName>docker.http-cache.port.host</portName>
- <portName>clamp.it.tests.http-redirected</portName>
- <portName>clamp.it.tests.robotframework.http</portName>
- <portName>clamp.it.tests.https</portName>
- <portName>clamp.it.tests.http</portName>
- </portNames>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>${springboot.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>repackage</goal>
- </goals>
- <phase>package</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.2</version>
- <configuration>
- <forkCount>1C</forkCount>
- <reuseForks>true</reuseForks>
- <useSystemClassLoader>false</useSystemClassLoader>
- <argLine>${surefireArgLine}</argLine>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>2.22.2</version>
- <executions>
- <execution>
- <id>integration-tests</id>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- <configuration>
- <additionalClasspathElements>
- <additionalClasspathElement>${project.build.directory}/classes
- </additionalClasspathElement>
- </additionalClasspathElements>
- <includes>
- <include>**/*ItCase.java</include>
- </includes>
- <forkCount>1C</forkCount>
- <reuseForks>true</reuseForks>
- <useSystemClassLoader>false</useSystemClassLoader>
- <argLine>${failsafeArgLine}</argLine>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>io.fabric8</groupId>
- <artifactId>docker-maven-plugin</artifactId>
- <version>0.35.0</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.5.5</version>
- </dependency>
- </dependencies>
- <configuration>
- <verbose>true</verbose>
- <apiVersion>1.35</apiVersion>
- <images>
- <image>
- <name>docker.io/mariadb:10.5.4</name>
- <alias>mariadb</alias>
- <run>
- <env>
- <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
- </env>
- <hostname>mariadb</hostname>
- <volumes>
- <bind>
- <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume>
- <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
- </bind>
- </volumes>
- <wait>
- <log>port: 3306</log>
- <time>300000</time>
- <exec>
- <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop>
- </exec>
- </wait>
- <ports>
- <port>${docker.mariadb.port.host}:3306</port>
- </ports>
- <network>
- <mode>bridge</mode>
- </network>
- </run>
- </image>
- <image>
- <name>docker.io/python:2-slim</name>
- <alias>python</alias>
- <run>
- <hostname>python</hostname>
- <volumes>
- <bind>
- <volume>
- ${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app
- </volume>
- <volume>
- ${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache
- </volume>
- </bind>
- </volumes>
- <wait>
- <tcp>
- <ports>
- <port>8080</port>
- </ports>
- <mode>direct</mode>
- </tcp>
- <time>120000</time>
- </wait>
- <ports>
- <port>${docker.http-cache.port.host}:8080</port>
- </ports>
- <workingDir>/usr/src/http-cache-app</workingDir>
- <cmd>
- <shell>./start_http_cache.sh ${python.http.proxy.param}
- --python_proxyaddress=localhost:${docker.http-cache.port.host}
- </shell>
- </cmd>
- <network>
- <mode>bridge</mode>
- </network>
- </run>
- </image>
- <image>
- <name>onap/policy-clamp-backend</name>
- <alias>onap-policy-clamp-backend</alias>
- <run>
- <skip>true</skip>
- </run>
- <build>
- <cleanup>true</cleanup>
- <tags>
- <tag>latest</tag>
- <tag>${project.docker.latesttagtimestamp.version}</tag>
- <tag>${project.docker.latesttag.version}</tag>
- </tags>
- <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
- default -->
- <dockerFile>backend/Dockerfile</dockerFile>
- <assembly>
- <descriptor>backend/backend-files.xml</descriptor>
- <name>onap-policy-clamp-backend</name>
- </assembly>
- </build>
- </image>
- <image>
- <name>onap/policy-clamp-frontend</name>
- <alias>onap-policy-clamp-frontend</alias>
- <run>
- <skip>true</skip>
- </run>
- <build>
- <cleanup>true</cleanup>
- <tags>
- <tag>latest</tag>
- <tag>${project.docker.latesttagtimestamp.version}</tag>
- <tag>${project.docker.latesttag.version}</tag>
- </tags>
- <!-- A relative path is looked up in ${project.basedir}/src/main/docker by
- default -->
- <dockerFile>frontend/Dockerfile</dockerFile>
- <assembly>
- <descriptor>frontend/frontend-files.xml</descriptor>
- <name>onap-policy-clamp-frontend</name>
- </assembly>
- </build>
- </image>
- </images>
- </configuration>
-
- <executions>
- <execution>
- <id>generate-images</id>
- <phase>install</phase>
- <goals>
- <goal>build</goal>
- </goals>
- </execution>
- <execution>
- <id>push-images</id>
- <phase>deploy</phase>
- <goals>
- <goal>push</goal>
- </goals>
- </execution>
- <execution>
- <id>docker-start-for-it</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>start</goal>
- </goals>
- </execution>
- <execution>
- <id>docker-stop-for-it</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>stop</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.8.5</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- <append>true</append>
- <includes>
- <include>org/onap/policy/clamp/**</include>
- </includes>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <propertyName>surefireArgLine</propertyName>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <propertyName>failsafeArgLine</propertyName>
- <!-- <append>true</append> -->
- <!-- Need to overwrite the policy integration parent flag -->
- <skip>false</skip>
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet
- implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco.exec</destFile>
- </configuration>
- </execution>
- <execution>
- <id>report-xml</id>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Setting explicit path, so that we remember where it picks them up from -->
- <dataFile>${project.build.directory}/jacoco.exec</dataFile>
- <outputDirectory>${project.build.directory}/jacoco-html-xml-reports</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- This plugin will be useful when we will have multi-modules project -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>versions-maven-plugin</artifactId>
- <version>1.3.1</version>
- </plugin>
-
- <plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>1.11.3</version>
- <configuration>
- <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory>
- <npmDownloadRoot>${repo.npm}</npmDownloadRoot>
- </configuration>
- <executions>
- <execution>
- <id>install_node_and_npm</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <phase>generate-sources</phase>
- <configuration>
- <nodeVersion>v14.16.1</nodeVersion>
- <npmVersion>6.14.13</npmVersion>
- </configuration>
- </execution>
- <execution>
- <id>npm_install</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>compile</phase>
- <configuration>
- <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
- <arguments>install</arguments>
- </configuration>
- </execution>
- <execution>
- <id>npm_test</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>test</phase>
- <configuration>
- <skip>${maven.test.skip}</skip>
- <arguments>run-script test:coverage</arguments>
- <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory>
- </configuration>
- </execution>
- <execution>
- <id>npm_install_lib</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>deploy</phase>
- <configuration>
- <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
- <arguments>install</arguments>
- </configuration>
- </execution>
- <execution>
- <id>npm_build_lib</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>deploy</phase>
- <configuration>
- <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
- <arguments>run build</arguments>
- </configuration>
- </execution>
- <execution>
- <id>npm_publish</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>deploy</phase>
- <configuration>
- <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory>
- <arguments>publish</arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>11</source>
- <target>11</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.sonarsource.scanner.maven</groupId>
- <artifactId>sonar-maven-plugin</artifactId>
- <version>3.7.0.1746</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.3.2</version>
- <executions>
- <execution>
- <id>libIndexCheck</id>
- <phase>validate</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <executable>bash</executable>
- <arguments>
- <argument>${project.basedir}/src/main/script/checkLibIndex.sh</argument>
- </arguments>
- </configuration>
- </plugin>
- <!-- Plugin to generate a X509 Certificate for https tests -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>keytool-maven-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <id>add-certificate-for-dev</id>
- <configuration>
- <keystore>${project.build.directory}/classes/clds/aaf/org.onap.clamp.p12</keystore>
- <storepass>China in the Spring</storepass>
- <alias>clamptest</alias>
- <storetype>PKCS12</storetype>
- <keyalg>RSA</keyalg>
- <dname>cn=CN, ou=OU, o=O, c=C</dname>
- <validity>365</validity>
- </configuration>
- <goals>
- <goal>generateKeyPair</goal>
- </goals>
- <phase>generate-resources</phase>
- </execution>
- <execution>
- <id>add-certificate-for-test</id>
- <configuration>
- <keystore>${project.build.directory}/test-classes/clds/aaf/org.onap.clamp.p12</keystore>
- <storepass>China in the Spring</storepass>
- <alias>clamptest</alias>
- <storetype>PKCS12</storetype>
- <keyalg>RSA</keyalg>
- <dname>cn=CN, ou=OU, o=O, c=C</dname>
- <validity>365</validity>
- </configuration>
- <goals>
- <goal>generateKeyPair</goal>
- </goals>
- <phase>generate-test-resources</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>