<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2016-2017 Huawei Technologies Co., Ltd.
- Modifications copyright (C) 2017 AT&T Intellectual Property
+ Copyright (c) 2016-2018 Huawei Technologies Co., Ltd.
+ Modifications copyright (C) 2017-2019 AT&T Intellectual Property
+ Modifications Copyright (C) 2020 Bell Canada.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
<name>oparent</name>
<groupId>org.onap.oparent</groupId>
<artifactId>version</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>3.3.2-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<!-- oparent tools -->
<module>checkstyle</module>
<module>license</module>
<module>oparent</module>
+ <module>oparent-python</module>
+ <module>dependencies</module>
+ <module>dependencies-clm</module>
</modules>
<properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<!-- sitePath may be overridden in the inheriting POM if desired -->
<sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
- <!-- properties for Nexus raw repo -->
+ <maven.compiler.release>11</maven.compiler.release>
+ <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
+
+ <!--
+ In the java 8 version of oparent there were two variables defined for 1.8 source and target. These are no longer
+ applicable in Java 11 but you may be referencing them in your child poms so review and update as appropriate.
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ -->
+ <!--
+ The following properties should be defined in your own ~/.m2/settings.xml based on your own build infastructure setup.
+ See the settings.xml in this directory for default settings based on the Linux Foundation ONAP infrastructure.
+
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw</onap.nexus.rawrepo.baseurl.upload>
- <onap.nexus.rawrepo.baseurl.download>
- https://nexus.onap.org/service/local/repositories/raw/content
- </onap.nexus.rawrepo.baseurl.download>
+ <onap.nexus.rawrepo.baseurl.download>https://nexus.onap.org/service/local/repositories/raw/content</onap.nexus.rawrepo.baseurl.download>
<onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
- <!-- properties for Nexus Docker registry -->
<onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
<onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
+ <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
+ <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
+ -->
</properties>
<distributionManagement>
<repository>
<pluginManagement>
<plugins>
<plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <nexusUrl>${onap.nexus.url}</nexusUrl>
- <stagingProfileId>176c31dfe190a</stagingProfileId>
- <serverId>ecomp-staging</serverId>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.0</version>
+ <configuration>
+ <release>${maven.compiler.release}</release>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>versions-maven-plugin</artifactId>
+ <version>2.7</version>
+ <configuration>
+ <generateBackupPoms>false</generateBackupPoms>
+ </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
- <version>2.10</version>
+ <version>3.4.3</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0-M1</version>
+ <version>3.0.0-M2</version>
<executions>
+ <execution>
+ <id>enforce-property</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>onap.nexus.url</property>
+ <message>You must set a onap.nexus.url property in your ~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
+ </requireProperty>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
<execution>
<id>enforce-no-snapshots</id>
<goals>
<requireReleaseDeps>
<failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
<onlyWhenRelease>true</onlyWhenRelease>
- <level>WARN</level>
+ <level>ERROR</level>
</requireReleaseDeps>
</rules>
</configuration>
</execution>
</executions>
</plugin>
+ <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
+ <plugin>
+ <groupId>org.sonarsource.scanner.maven</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>${sonar.scanner.version}</version>
+ </plugin>
+ <!--
+ Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter
+ Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order
+ Use in combination to rewrite code and imports, then checkstyle
+
+ Be sure to override ${project.parent.basedir} in order to find the XML file
+
+ 1st - your project should be inheriting from this oparent java dependency
+ 2nd - go into your project's source directory
+ 3rd - type in the following and make sure you set the path to where you have oparent cloned and its
+ onap-java-formatter.xml file
+
+ mvn formatter:format spotless:apply process-sources -Dproject.parent.basedir=TODO
+ -->
+ <plugin>
+ <groupId>net.revelc.code.formatter</groupId>
+ <artifactId>formatter-maven-plugin</artifactId>
+ <version>2.11.0</version>
+ <configuration>
+ <configFile>${project.parent.basedir}/onap-java-formatter.xml</configFile>
+ </configuration>
+ <!-- https://code.revelc.net/formatter-maven-plugin/
+ use mvn formatter:format to rewrite source files
+ use mvn formatter:validate to validate source files -->
+ </plugin>
+ <plugin>
+ <groupId>com.diffplug.spotless</groupId>
+ <artifactId>spotless-maven-plugin</artifactId>
+ <version>1.26.1</version>
+ <configuration>
+ <java>
+ <importOrder>
+ <order>com,java,javax,org</order>
+ </importOrder>
+ </java>
+ </configuration>
+ <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
+ use mvn spotless:apply to rewrite source files
+ use mvn spotless:check to validate source files -->
+ </plugin>
</plugins>
</pluginManagement>
<plugins>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>