Removal of O-Parent from Policy

Removal of O-Parent from Policy

java-only

The following steps are applicable only for java projects.

 

1 - Remove the oparent as parent tag in the primary pom.xml https://gerrit.onap.org/r/c/policy/parent/+/137695/1/pom.xml

<parent> <groupId>org.onap.oparent</groupId> <artifactId>oparent</artifactId> <!-- When changing, also change the oparent.version property --> <version>3.3.3</version> <relativePath /> </parent> <properties> <oparent.version>3.3.3</oparent.version> </properties>

 

2 - Run mvn clean install in the project where oparent was used and any other project that inherits from it.

For PF, oparent parent tag was removed from policy-parent pom.xml only. All other projects inherit from policy-parent

3 - With all the dependency missing on the mvn clean install run, add them to main pom.xml in dependencyManagement tag. Use this tag specifically to avoid cascade dependency addition.

https://gerrit.onap.org/r/c/policy/parent/+/137695/1/integration/pom.xml

4 - After all missed dependencies fixed, fix the plugins dependencies.

<properties> . . <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version> <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> <!-- Default Sonar configuration -->    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths> <!-- Note: This list should match jacoco-maven-plugin's exclusion list below --> <sonar.exclusions>org/drools/**/*,**/gen/**,**/generated-sources/**</sonar.exclusions> . . </properties> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonar.scanner.version}</version> <plugin>

 

<distributionManagement> <repository> <id>ecomp-releases</id> <url>${onap.nexus.url}/content/repositories/releases</url> </repository> <snapshotRepository> <id>ecomp-snapshots</id> <url>${onap.nexus.url}/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>

 

NOTE: policy only have unit tests for sonar; if there are distincts tests for unit and integration and they generate different reports, adjust the plugin configuration accordingly.

<properties> . . <jacoco.destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco.destFile> . . </properties> <plugins> ... <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${version.jacoco}</version> <configuration> <excludes> <exclude>org/drools/**/*</exclude> <exclude>**/gen/**</exclude> <exclude>**/generated-sources/**</exclude> </excludes> <output>file</output> </configuration> <executions> <execution> <id>pre-unit-test</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <destFile>${jacoco.destFile}</destFile> <append>true</append> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <execution> <id>post-unit-test</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${jacoco.destFile}</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> </configuration> </execution> <execution> <id>report-aggregate</id> <phase>verify</phase> <goals> <goal>report-aggregate</goal> </goals> <configuration> <includeCurrentProject>true</includeCurrentProject> </configuration> </execution> </executions> </plugin> ... </plugins>

 

<profile> <id>cve</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>10.0.2</version> <executions> <execution> <goals> <goal>aggregate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile>

 

5 - Add to project checkstyle module

Copy the module checkstyle from oparent to main project and configure as a new module

Update maven-checkstyle-plugin with the module reference. 

https://gerrit.onap.org/r/c/policy/parent/+/137695

https://gerrit.onap.org/r/c/policy/parent/+/138046

6 - Run mvn clean install and fix possible issues with plugins

7 - Run sonar scan for coverage 

docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

Login as admin and the add local project. Follow instructions on screen to attach project to the sonarqube instance.