Onboarding build optimization incl Qual Control
Sonar fixes, incremental build enhancements and Quality control mechanism integration.
Change-Id: I118d7fc0cc50c1eddb94137310c00afaaa3aaffb
Issue-ID: SDC-1189
Signed-off-by: GAUTAMS <gautams@amdocs.com>
diff --git a/openecomp-be/pom.xml b/openecomp-be/pom.xml
index 786ef92..22c23d4 100644
--- a/openecomp-be/pom.xml
+++ b/openecomp-be/pom.xml
@@ -49,65 +49,215 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>${mvn.compiler.version}</version>
<inherited>true</inherited>
+ <executions>
+ <execution>
+ <id>default-compile</id>
+ <configuration>
+ <skipMain>${skipMainSourceCompile}</skipMain>
+ </configuration>
+ </execution>
+ <execution>
+ <id>default-testCompile</id>
+ <configuration>
+ <skip>${skipTestSourceCompile}</skip>
+ </configuration>
+ </execution>
+ </executions>
<configuration>
<source>${java.source}</source>
<target>${java.target}</target>
- <excludes>
- <exclude>**/package-info.java</exclude>
- </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.openecomp.sdc.onboarding</groupId>
+ <artifactId>artifact-copy-plugin</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>init-artifact-helper</goal>
+ <goal>copy-helper</goal>
+ <goal>calibrate-artifact-helper</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>build-data-installer</artifactId>
+ <version>${project.version}</version>
+ <targetLocation>build-data-helper</targetLocation>
+ <name>build-data-helper-${project.version}.jar</name>
+ <artifactHelper>
+ <project>${project}</project>
+ </artifactHelper>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.1.0</version>
+ <executions>
+ <execution>
+ <id>id1</id>
+ <goals>
+ <goal>get</goal>
+ </goals>
+ <phase>pre-clean</phase>
+ <configuration>
+ <artifactId>build-data-helper</artifactId>
+ </configuration>
+ </execution>
+ <execution>
+ <id>id2</id>
+ <goals>
+ <goal>get</goal>
+ </goals>
+ <phase>pre-clean</phase>
+ <configuration>
+ <artifactId>build-data-installer</artifactId>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <groupId>org.openecomp.sdc</groupId>
+ <version>${project.version}</version>
+ <skip>${skipGet}</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.openecomp.sdc.onboarding</groupId>
<artifactId>compile-helper-plugin</artifactId>
<version>${project.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>build-data-helper</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc.onboarding</groupId>
+ <artifactId>pmd-helper-plugin</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<goals>
- <goal>pre-compile-helper</goal>
- <goal>pre-test-compile-helper</goal>
- <goal>post-compile-helper</goal>
- <goal>post-test-run-helper</goal>
<goal>init-helper</goal>
+ <goal>pre-compile-helper</goal>
+ <goal>post-compile-helper</goal>
+ <goal>pre-test-compile-helper</goal>
+ <goal>post-test-run-helper</goal>
</goals>
</execution>
</executions>
<configuration>
<excludePackaging>pom</excludePackaging>
<excludeDependencies>test,runtime</excludeDependencies>
- <staleThreshold>10000</staleThreshold>
- <mainSourceLocation>${basedir}/src/main/java</mainSourceLocation>
- <testSourceLocation>${basedir}/src/test/java</testSourceLocation>
- <mainResourceLocation>${basedir}/src/main/resources</mainResourceLocation>
- <testResourceLocation>${basedir}/src/test/resources</testResourceLocation>
- <mainCompiledLocation>${project.build.directory}/classes</mainCompiledLocation>
- <testCompiledLocation>${project.build.directory}/test-classes</testCompiledLocation>
- <compiledFilesList>
- ${project.build.directory}/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
- </compiledFilesList>
- <inputSourceFilesList>
- ${project.build.directory}/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
- </inputSourceFilesList>
- <inputTestFilesList>
- ${project.build.directory}/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
- </inputTestFilesList>
- <compiledTestFilesList>
- ${project.build.directory}/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
- </compiledTestFilesList>
+ <generatedSourceLocation>${project.build.directory}/generated-sources</generatedSourceLocation>
<buildState>
- <moduleBuildDataFile>${project.build.directory}/build-data/ModuleDependencies.dat
- </moduleBuildDataFile>
- <resourceBuildDataFile>${project.build.directory}/build-data/ResourceDependencies.dat
- </resourceBuildDataFile>
<project>${project}</project>
- <buildStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/BuildState.dat
- </buildStateFilePath>
- <resourceStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/ResourceState.dat
- </resourceStateFilePath>
+ <compileStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/compileState.dat</compileStateFilePath>
</buildState>
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>${maven.pmd.plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>build-tools</artifactId>
+ <version>${build.tools.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.pmd</groupId>
+ <artifactId>pmd-core</artifactId>
+ <version>${pmd.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.pmd</groupId>
+ <artifactId>pmd-java</artifactId>
+ <version>${pmd.java.version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <skip>${skipPMD}</skip>
+ <showPmdLog>false</showPmdLog>
+ <analysisCache>false</analysisCache>
+ <analysisCacheLocation>${project.build.directory}/pmd/pmd.cache</analysisCacheLocation>
+ <failOnViolation>false</failOnViolation>
+ <printFailingErrors>false</printFailingErrors>
+ <format>csv</format>
+ <targetDirectory>${project.build.directory}/pmd</targetDirectory>
+ <includeTests>true</includeTests>
+ <linkXRef>false</linkXRef>
+ <aggregate>false</aggregate>
+ <rulesets>
+ <ruleset>/category/java/bestpractices.xml</ruleset>
+ <ruleset>/category/java/codestyle.xml</ruleset>
+ <ruleset>/category/java/design.xml</ruleset>
+ <ruleset>/category/java/errorprone.xml</ruleset>
+ <ruleset>/category/java/multithreading.xml</ruleset>
+ <ruleset>/category/java/performance.xml</ruleset>
+ <ruleset>/category/java/security.xml</ruleset>
+ </rulesets>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ <phase>integration-test</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.openecomp.sdc.onboarding</groupId>
+ <artifactId>pmd-helper-plugin</artifactId>
+ <version>${project.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>build-data-helper</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <goals>
+ <goal>init-pmd-helper</goal>
+ <goal>post-verify-helper</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludePackaging>pom</excludePackaging>
+ <pmdTargetLocation>${project.build.directory}/pmd/pmd.xml</pmdTargetLocation>
+ <pmdFailureReportLocation>${project.build.directory}/pmd.txt</pmdFailureReportLocation>
+ <pmdReportFile>${project.build.directory}/pmd/pmd.csv</pmdReportFile>
+ <persistingModuleCoordinates>org.openecomp.sdc:build-data-installer</persistingModuleCoordinates>
+ <pmdCurrentStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/pmdState.dat</pmdCurrentStateFilePath>
+ <pmdStateFile>${project.build.outputDirectory}/pmd.dat</pmdStateFile>
+ <compiledFilesList>${project.build.directory}/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst</compiledFilesList>
+ <compiledTestFilesList>${project.build.directory}/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst</compiledTestFilesList>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${mvn.jar.version}</version>
+ <configuration>
+ <archive>
+ <addMavenDescriptor>${mvnDsc}</addMavenDescriptor>
+ </archive>
+ <excludes>
+ <exclude>${emptyJAR}</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${mvn.license.version}</version>