aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore1
-rw-r--r--checkstyle/pom.xml8
-rw-r--r--cps-bom/pom.xml8
-rw-r--r--cps-dependencies/pom.xml8
-rw-r--r--cps-ncmp-rest/pom.xml2
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java5
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/utils/AlternateIdMatcherSpec.groovy14
-rw-r--r--cps-parent/pom.xml64
-rw-r--r--cps-path-parser/pom.xml26
-rw-r--r--cps-rest/pom.xml5
-rw-r--r--cps-ri/src/main/resources/changelog/changelog-master.yaml2
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/23-yang-resource-index.yaml31
-rw-r--r--docs/cm-notification-subscriptions.rst20
-rw-r--r--docs/schemas/dmidataavc/avc-event-schema-1.0.0.json88
-rw-r--r--integration-test/pom.xml25
-rwxr-xr-xk6-tests/setup.sh7
-rw-r--r--pom.xml17
-rw-r--r--spotbugs/pom.xml8
18 files changed, 255 insertions, 84 deletions
diff --git a/.gitignore b/.gitignore
index 5f77b3b0a6..a721cb4489 100755
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
*.war
*.log
*.log.zip
+*.*~
cps-ncmp-rest-stub/dependency-reduced-pom.xml
cps-application/archunit_store
diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
index 893af40162..ca5068f0da 100644
--- a/checkstyle/pom.xml
+++ b/checkstyle/pom.xml
@@ -54,7 +54,7 @@
</profiles>
<properties>
- <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
<sonar.skip>true</sonar.skip>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
@@ -66,7 +66,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
+ <version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
@@ -106,12 +106,12 @@
<repository>
<id>ecomp-releases</id>
<name>ECOMP Release Repository</name>
- <url>${nexusproxy}${releaseNexusPath}</url>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<name>ECOMP Snapshot Repository</name>
- <url>${nexusproxy}${snapshotNexusPath}</url>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
</snapshotRepository>
</distributionManagement>
</project> \ No newline at end of file
diff --git a/cps-bom/pom.xml b/cps-bom/pom.xml
index 6521830f2a..57de09b6f2 100644
--- a/cps-bom/pom.xml
+++ b/cps-bom/pom.xml
@@ -31,7 +31,7 @@
<description>This artifact contains dependencyManagement declarations of all published CPS components.</description>
<properties>
- <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
<sonar.skip>true</sonar.skip>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
@@ -43,7 +43,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
+ <version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
@@ -53,12 +53,12 @@
<repository>
<id>ecomp-releases</id>
<name>ECOMP Release Repository</name>
- <url>${nexusproxy}${releaseNexusPath}</url>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<name>ECOMP Snapshot Repository</name>
- <url>${nexusproxy}${snapshotNexusPath}</url>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
</snapshotRepository>
</distributionManagement>
diff --git a/cps-dependencies/pom.xml b/cps-dependencies/pom.xml
index a95e5f42b0..ad1828ec5c 100644
--- a/cps-dependencies/pom.xml
+++ b/cps-dependencies/pom.xml
@@ -35,7 +35,7 @@
<properties>
<groovy.version>3.0.18</groovy.version>
- <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
<sonar.skip>true</sonar.skip>
@@ -51,7 +51,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
+ <version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
@@ -61,12 +61,12 @@
<repository>
<id>ecomp-releases</id>
<name>ECOMP Release Repository</name>
- <url>${nexusproxy}${releaseNexusPath}</url>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<name>ECOMP Snapshot Repository</name>
- <url>${nexusproxy}${snapshotNexusPath}</url>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
</snapshotRepository>
</distributionManagement>
diff --git a/cps-ncmp-rest/pom.xml b/cps-ncmp-rest/pom.xml
index 681d1e52b4..a7b2b76cef 100644
--- a/cps-ncmp-rest/pom.xml
+++ b/cps-ncmp-rest/pom.xml
@@ -35,7 +35,7 @@
<properties>
<minimum-coverage>0.99</minimum-coverage>
- <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
+ <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
</properties>
<dependencies>
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java
index c526dfb297..9facd630a2 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/utils/AlternateIdMatcher.java
@@ -38,14 +38,15 @@ public class AlternateIdMatcher {
/**
* Get data node that matches longest alternate id by removing elements (as defined by the separator string)
- * from right to left.
+ * from right to left. If alternate id contains a hash then all elements after that hash are ignored.
*
* @param alternateId alternate ID
* @param separator a string that separates each element from the next.
* @return data node
*/
public DataNode getCmHandleDataNodeByLongestMatchingAlternateId(final String alternateId, final String separator) {
- String bestMatch = alternateId;
+ final String[] splitPath = alternateId.split("#", 2);
+ String bestMatch = splitPath[0];
while (StringUtils.isNotEmpty(bestMatch)) {
try {
return inventoryPersistence.getCmHandleDataNodeByAlternateId(bestMatch);
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/utils/AlternateIdMatcherSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/utils/AlternateIdMatcherSpec.groovy
index a497b4554a..bd1faa2705 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/utils/AlternateIdMatcherSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/utils/AlternateIdMatcherSpec.groovy
@@ -42,11 +42,15 @@ class AlternateIdMatcherSpec extends Specification {
expect: 'querying for alternate id a matching result found'
assert objectUnderTest.getCmHandleDataNodeByLongestMatchingAlternateId(targetAlternateId, '/') != null
where: 'the following parameters are used'
- scenario | targetAlternateId
- 'exact match' | '/a/b'
- 'parent match' | '/a/b/c'
- 'grand parent match' | '/a/b/c/d'
- 'trailing separator match' | '/a/b/'
+ scenario | targetAlternateId
+ 'exact match' | '/a/b'
+ 'parent match' | '/a/b/c'
+ 'grand parent match' | '/a/b/c/d'
+ 'trailing separator match' | '/a/b/'
+ 'trailing hash' | '/a/b#q'
+ 'trailing hash parent match' | '/a/b/c#q'
+ 'trailing hash grand parent match' | '/a/b/c/d#q'
+ 'trailing separator then hash match' | '/a/b/#q'
}
def 'Attempt to find longest alternate id match without any matches.'() {
diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml
index 6776008acf..12103ed108 100644
--- a/cps-parent/pom.xml
+++ b/cps-parent/pom.xml
@@ -33,7 +33,7 @@
<properties>
<!-- Set UTF-8 encoding for consistent builds across platforms -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Application Configuration -->
<app>org.onap.cps.Application</app>
@@ -43,7 +43,7 @@
<!-- Global properties for version management -->
<bug.pattern.version>1.5.0</bug.pattern.version>
<dependency.check.version>9.2.0</dependency.check.version>
- <git.commit.id.version>9.0.0</git.commit.id.version>
+ <git.commit.id.version>9.0.1</git.commit.id.version>
<gmavenplus.plugin.version>4.0.1</gmavenplus.plugin.version>
<jacoco.version>0.8.11</jacoco.version>
<java.version>17</java.version>
@@ -51,14 +51,16 @@
<maven.checkstyle.plugin.version>3.3.1</maven.checkstyle.plugin.version>
<maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version>
<maven.compiler.release>17</maven.compiler.release>
+ <maven.failsafe.plugin.version>3.5.2</maven.failsafe.plugin.version>
+ <maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
<maven.site.plugin.version>4.0.0-M13</maven.site.plugin.version>
- <maven.surefire.plugin.version>3.2.5</maven.surefire.plugin.version>
+ <maven.surefire.plugin.version>3.3.1</maven.surefire.plugin.version>
<postgres.version>42.5.1</postgres.version>
<slf4j.simple.version>2.0.6</slf4j.simple.version>
<sonar.version>4.0.0.4121</sonar.version>
<spotbugs.plugin.version>4.8.6.4</spotbugs.plugin.version>
<spotbugs.version>4.8.6</spotbugs.version>
- <spring.boot.maven.plugin.version>3.2.4</spring.boot.maven.plugin.version>
+ <spring.boot.maven.plugin.version>3.3.1</spring.boot.maven.plugin.version>
<swagger.codegen.version>1.2.1</swagger.codegen.version>
<!-- Reporting paths and coverage -->
@@ -69,8 +71,26 @@
<sonar.coverage.jacoco.xmlReportPaths>
../jacoco-report/target/site/jacoco-aggregate/jacoco.xml
</sonar.coverage.jacoco.xmlReportPaths>
+
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+ <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
+ <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
</properties>
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>ECOMP Release Repository</name>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>ECOMP Snapshot Repository</name>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
<!-- Dependency Management, Profiles, Build, and Plugins -->
<dependencyManagement>
@@ -134,6 +154,36 @@
</plugins>
</build>
</profile>
+ <!-- Performance tests are run with maven-failsafe-plugin using a separate profile, so they will
+ not affect Jacoco coverage. Heap size is set here to ensure consistent test environment. -->
+ <profile>
+ <id>include-performance</id>
+ <properties>
+ <failsafeArgLine>-Xms512m -Xmx512m</failsafeArgLine>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${maven.failsafe.plugin.version}</version>
+ <configuration>
+ <includes>
+ <include>**/*PerfTest.java</include>
+ </includes>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<build>
@@ -444,6 +494,7 @@
<goal>report</goal>
</goals>
<configuration>
+ <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
<!-- Sets the path to the file which contains the execution data. -->
<dataFile>${jacoco.execFile}</dataFile>
<!-- Sets the output directory for the code coverage report. -->
@@ -473,6 +524,11 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.2</version>
+ </plugin>
</plugins>
</build>
</project> \ No newline at end of file
diff --git a/cps-path-parser/pom.xml b/cps-path-parser/pom.xml
index 57b1e6b247..b876c48810 100644
--- a/cps-path-parser/pom.xml
+++ b/cps-path-parser/pom.xml
@@ -82,30 +82,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>%regex[.*PerfTest.*]</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>include-performance</id>
- </profile>
- </profiles>
-
</project>
diff --git a/cps-rest/pom.xml b/cps-rest/pom.xml
index 71395c2f0d..f270a58f06 100644
--- a/cps-rest/pom.xml
+++ b/cps-rest/pom.xml
@@ -31,6 +31,10 @@
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
+ <properties>
+ <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
+ </properties>
+
<artifactId>cps-rest</artifactId>
<dependencies>
@@ -177,6 +181,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
+ <version>${maven-resources-plugin.version}</version>
<executions>
<execution>
<id>copy-resources</id>
diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
index 5909ef149b..2011655c37 100644
--- a/cps-ri/src/main/resources/changelog/changelog-master.yaml
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -20,3 +20,5 @@ databaseChangeLog:
file: changelog/db/changes/01-createCPSTables.yaml
- include:
file: changelog/db/changes/22-fragment-id-sequence.yaml
+ - include:
+ file: changelog/db/changes/23-yang-resource-index.yaml
diff --git a/cps-ri/src/main/resources/changelog/db/changes/23-yang-resource-index.yaml b/cps-ri/src/main/resources/changelog/db/changes/23-yang-resource-index.yaml
new file mode 100644
index 0000000000..0dff471dc1
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/23-yang-resource-index.yaml
@@ -0,0 +1,31 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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
+#
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+ - changeSet:
+ author: cps
+ id: 23
+ changes:
+ - createIndex:
+ columns:
+ - column:
+ name: module_name
+ - column:
+ name: revision
+ indexName: IDX_YANG_RESOURCE_MODULE_NAME_AND_REVISION
+ tableName: yang_resource
diff --git a/docs/cm-notification-subscriptions.rst b/docs/cm-notification-subscriptions.rst
index 14e871addc..e1d1c2f800 100644
--- a/docs/cm-notification-subscriptions.rst
+++ b/docs/cm-notification-subscriptions.rst
@@ -6,14 +6,14 @@
.. _cmNotificationSubscriptions:
-CM Data Subscriptions
-#####################
+CM Data Subscriptions and Notifications
+#######################################
.. toctree::
:maxdepth: 1
-Introduction
-============
+CM Data Subscriptions
+=====================
CM Subscriptions are created to subscribe to notifications for CM related changes that happened in the network based on predicates.
Predicates can be used to filter on CM Handle (id), Datastore and Xpath.
@@ -44,5 +44,17 @@ The response for the involved subscription participants for the Create and Delet
**Note.** The Cm Subscription feature relies on the DMI Plugin support for applying the subscriptions. This support is currently not implemented in the ONAP DMI Plugin.
+CM Data Notifications
+=====================
+CM Notifications are triggered by any change in the network, provided the client has already set up a CM Subscription to receive such notifications. Once the events are generated, they are processed by NCMP and forwarded to the client in the same format.
+
+**Note.** Currently, CM Notifications are sent regardless of the CM Subscriptions. Notifications controlled by CM Subscription have not yet been delivered.
+
+The CM Notification Event follows the structure outlined in the schema below:
+
+:download:`CM Data Notification Event Schema <schemas/dmidataavc/avc-event-schema-1.0.0.json>`
+
+**Note.** NCMP uses the CM Notification event key from the source topic to forward notifications to the client, ensuring that the order of notifications within a topic partition is maintained during forwarding.
+**Note.** If the notification key from the source topic is null, NCMP cannot guarantee the order of events within a topic partition when forwarding.
diff --git a/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json b/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json
new file mode 100644
index 0000000000..474520d142
--- /dev/null
+++ b/docs/schemas/dmidataavc/avc-event-schema-1.0.0.json
@@ -0,0 +1,88 @@
+{
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "$id": "urn:cps:org.onap.cps.ncmp.events:avc-event-schema:1.0.0",
+ "$ref": "#/definitions/AvcEvent",
+ "definitions": {
+ "Edit": {
+ "additionalProperties": false,
+ "properties": {
+ "edit-id": {
+ "type": "string"
+ },
+ "operation": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object",
+ "existingJavaType": "java.lang.Object"
+ }
+ },
+ "required": [
+ "edit-id",
+ "operation",
+ "target"
+ ]
+ },
+ "AvcEvent": {
+ "description": "The payload for AVC event.",
+ "type": "object",
+ "javaType": "org.onap.cps.ncmp.events.avc1_0_0.AvcEvent",
+ "properties": {
+ "data": {
+ "description": "The AVC event content compliant with RFC8641 format",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "push-change-update": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "datastore-changes": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "ietf-yang-patch:yang-patch": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "patch-id": {
+ "type": "string"
+ },
+ "edit": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Edit"
+ }
+ }
+ },
+ "required": [
+ "patch-id",
+ "edit"
+ ]
+ }
+ },
+ "required": [
+ "ietf-yang-patch:yang-patch"
+ ]
+ }
+ },
+ "required": [
+ "datastore-changes"
+ ]
+ }
+ },
+ "required": [
+ "push-change-update"
+ ]
+ }
+ },
+ "required": [
+ "data"
+ ],
+ "additionalProperties": false
+ }
+ }
+} \ No newline at end of file
diff --git a/integration-test/pom.xml b/integration-test/pom.xml
index b39c1987bf..7ac9460f5e 100644
--- a/integration-test/pom.xml
+++ b/integration-test/pom.xml
@@ -113,29 +113,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <profiles>
- <!-- Performance tests are run with maven-failsafe-plugin using a separate profile, so they will
- not affect Jacoco coverage. Heap size is set here to ensure consistent test environment. -->
- <profile>
- <id>include-performance</id>
- <properties>
- <failsafeArgLine>-Xms512m -Xmx512m</failsafeArgLine>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <configuration>
- <includes>
- <include>**/*PerfTest.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
diff --git a/k6-tests/setup.sh b/k6-tests/setup.sh
index c2cdc206be..a4508e180d 100755
--- a/k6-tests/setup.sh
+++ b/k6-tests/setup.sh
@@ -15,7 +15,7 @@
# limitations under the License.
#
-docker-compose -f ../docker-compose/docker-compose.yml --profile dmi-stub up -d
+docker-compose -f ../docker-compose/docker-compose.yml --profile dmi-stub up --quiet-pull -d
echo "Waiting for CPS to start..."
READY_MESSAGE="Inventory Model updated successfully"
@@ -28,3 +28,8 @@ for CONTAINER_ID in $CONTAINER_IDS; do
echo "Checking logs for container: $CONTAINER_ID"
docker logs "$CONTAINER_ID" -f | grep -m 1 "$READY_MESSAGE" >/dev/null && echo "CPS is ready in container: $CONTAINER_ID" || true
done
+
+# Output build information including git commit info
+echo "Build information:"
+curl http://localhost:8883/actuator/info
+echo
diff --git a/pom.xml b/pom.xml
index 27a9a216ae..f95573edc1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,10 @@
<properties>
<maven.deploy.skip>false</maven.deploy.skip>
<maven.install.skip>false</maven.install.skip>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+ <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
+ <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
</properties>
<modules>
@@ -64,6 +68,19 @@
<module>policy-executor-stub</module>
</modules>
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>ECOMP Release Repository</name>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>ECOMP Snapshot Repository</name>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
+ </snapshotRepository>
+ </distributionManagement>
+
<build>
<plugins>
<plugin>
diff --git a/spotbugs/pom.xml b/spotbugs/pom.xml
index 293612e46b..f2b4175f58 100644
--- a/spotbugs/pom.xml
+++ b/spotbugs/pom.xml
@@ -28,7 +28,7 @@
<version>3.5.5-SNAPSHOT</version>
<properties>
- <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
</properties>
@@ -39,7 +39,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
+ <version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
@@ -49,12 +49,12 @@
<repository>
<id>ecomp-releases</id>
<name>ECOMP Release Repository</name>
- <url>${nexusproxy}${releaseNexusPath}</url>
+ <url>${onap.nexus.url}${releaseNexusPath}</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<name>ECOMP Snapshot Repository</name>
- <url>${nexusproxy}${snapshotNexusPath}</url>
+ <url>${onap.nexus.url}${snapshotNexusPath}</url>
</snapshotRepository>
</distributionManagement>
</project> \ No newline at end of file