diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-11 14:16:39 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-11 14:23:27 +0100 |
commit | a38f0f119181ac798f2b66ee7cfadd579da8be64 (patch) | |
tree | 1d2b3486092492d13469c8d3340de5a1bc52c487 | |
parent | f938e8a87a33f8db78115a92f5130d6296171c62 (diff) |
Assure coverage is checked for all modules
Change-Id: Ia9bb6cef9154d64cfa45455e38c9fe7603a64c74
Issue-ID: DCAEGEN2-1328
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
-rwxr-xr-x | build/hv-collector-coverage/check-coverage.sh | 46 | ||||
-rw-r--r-- | build/hv-collector-coverage/pom.xml | 16 | ||||
-rw-r--r-- | sources/hv-collector-core/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-ct/pom.xml | 1 | ||||
-rw-r--r-- | sources/hv-collector-dcae-app-simulator/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-domain/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-health-check/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-main/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-ssl/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-test-utils/pom.xml | 1 | ||||
-rw-r--r-- | sources/hv-collector-utils/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-ves-message-generator/pom.xml | 4 | ||||
-rw-r--r-- | sources/hv-collector-xnf-simulator/pom.xml | 4 | ||||
-rw-r--r-- | sources/pom.xml | 168 |
14 files changed, 142 insertions, 126 deletions
diff --git a/build/hv-collector-coverage/check-coverage.sh b/build/hv-collector-coverage/check-coverage.sh index 956891ac..cfd8f87f 100755 --- a/build/hv-collector-coverage/check-coverage.sh +++ b/build/hv-collector-coverage/check-coverage.sh @@ -3,6 +3,7 @@ set -euo pipefail JACOCO_REPORT="$1" MIN_COVERAGE_PERCENT="$2" +ROOT_SOURCES_MODULE_POM="$3" LOG_FILE=target/check-coverage.log function coverage_from_report() { @@ -10,21 +11,38 @@ function coverage_from_report() { xpath -q -e "$xpath_expr" "$JACOCO_REPORT" 2>> ${LOG_FILE} } -missed=$(coverage_from_report missed) -covered=$(coverage_from_report covered) -total=$(($missed + $covered)) -coverage=$((100 * $covered / $total)) +function check_preconditions() { + local num_deps=$(grep -c 'project\.parent\.groupId' pom.xml) + local num_submodules=$(grep -c '<module>' ${ROOT_SOURCES_MODULE_POM}) + local difference=$((${num_submodules}-${num_deps})) -if [[ $(wc -c < ${LOG_FILE}) > 0 ]]; then - echo "Warnings from xpath evaluation:" - cat ${LOG_FILE} - echo -fi + if [[ ${difference} -ne 0 ]]; then + echo "Not all modules are included in the coverage report." + echo "Verify if all submodules of hv-collector-sources module are included as a dependency to hv-collector-coverage module." + echo "Number of missing modules: ${difference}" + exit 1 + fi +} + +function check_coverage() { + local missed=$(coverage_from_report missed) + local covered=$(coverage_from_report covered) + local total=$(($missed + $covered)) + local coverage=$((100 * $covered / $total)) -echo "Coverage: $coverage% (covered/total: $covered/$total)" + if [[ $(wc -c < ${LOG_FILE}) > 0 ]]; then + echo "Warnings from xpath evaluation:" + cat ${LOG_FILE} + echo + fi -if [[ ${coverage} -lt ${MIN_COVERAGE_PERCENT} ]]; then - echo "Coverage is too low. Minimum coverage: $MIN_COVERAGE_PERCENT%" - exit 1 -fi + echo "Coverage: $coverage% (covered/total: $covered/$total)" + + if [[ ${coverage} -lt ${MIN_COVERAGE_PERCENT} ]]; then + echo "Coverage is too low. Minimum coverage: $MIN_COVERAGE_PERCENT%" + exit 1 + fi +} +check_preconditions || exit 1 +check_coverage || exit 2 diff --git a/build/hv-collector-coverage/pom.xml b/build/hv-collector-coverage/pom.xml index 9b3f257a..08fc5a22 100644 --- a/build/hv-collector-coverage/pom.xml +++ b/build/hv-collector-coverage/pom.xml @@ -90,6 +90,7 @@ <arguments> <argument>target/site/jacoco-aggregate/jacoco.xml</argument> <argument>${jacoco.minimum.coverage}</argument> + <argument>${project.parent.parent.basedir}/sources/pom.xml</argument> </arguments> </configuration> </plugin> @@ -99,6 +100,11 @@ <dependencies> <dependency> <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-commandline</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> <artifactId>hv-collector-core</artifactId> <version>${project.parent.version}</version> </dependency> @@ -129,6 +135,16 @@ </dependency> <dependency> <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-ssl</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-test-utils</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> <artifactId>hv-collector-utils</artifactId> <version>${project.parent.version}</version> </dependency> diff --git a/sources/hv-collector-core/pom.xml b/sources/hv-collector-core/pom.xml index ae781742..29e1ea94 100644 --- a/sources/hv-collector-core/pom.xml +++ b/sources/hv-collector-core/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-core</artifactId> <description>VES HighVolume Collector :: Core</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-ct/pom.xml b/sources/hv-collector-ct/pom.xml index 47b707a6..61d11392 100644 --- a/sources/hv-collector-ct/pom.xml +++ b/sources/hv-collector-ct/pom.xml @@ -43,6 +43,7 @@ <properties> <failIfMissingUnitTests>false</failIfMissingUnitTests> <failIfMissingComponentTests>true</failIfMissingComponentTests> + <skipAnalysis>true</skipAnalysis> </properties> <build> diff --git a/sources/hv-collector-dcae-app-simulator/pom.xml b/sources/hv-collector-dcae-app-simulator/pom.xml index 8f6b061a..b82c001a 100644 --- a/sources/hv-collector-dcae-app-simulator/pom.xml +++ b/sources/hv-collector-dcae-app-simulator/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-dcae-app-simulator</artifactId> <description>VES HighVolume Collector :: Dcae app simulator</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-domain/pom.xml b/sources/hv-collector-domain/pom.xml index bac42a2f..142dfb05 100644 --- a/sources/hv-collector-domain/pom.xml +++ b/sources/hv-collector-domain/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-domain</artifactId> <description>VES HighVolume Collector :: Domain</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-health-check/pom.xml b/sources/hv-collector-health-check/pom.xml index 86c9efc7..8f5c0d5e 100644 --- a/sources/hv-collector-health-check/pom.xml +++ b/sources/hv-collector-health-check/pom.xml @@ -12,10 +12,6 @@ </license> </licenses> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <parent> <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId> <artifactId>hv-collector-sources</artifactId> diff --git a/sources/hv-collector-main/pom.xml b/sources/hv-collector-main/pom.xml index d08a21e0..0fe240c5 100644 --- a/sources/hv-collector-main/pom.xml +++ b/sources/hv-collector-main/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-main</artifactId> <description>VES HighVolume Collector :: Main</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-ssl/pom.xml b/sources/hv-collector-ssl/pom.xml index 48e9be78..617265bb 100644 --- a/sources/hv-collector-ssl/pom.xml +++ b/sources/hv-collector-ssl/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-ssl</artifactId> <description>VES HighVolume Collector :: SSL</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-test-utils/pom.xml b/sources/hv-collector-test-utils/pom.xml index a755ae7b..aa18114b 100644 --- a/sources/hv-collector-test-utils/pom.xml +++ b/sources/hv-collector-test-utils/pom.xml @@ -24,6 +24,7 @@ <properties> <failIfMissingUnitTests>false</failIfMissingUnitTests> <failIfMissingComponentTests>false</failIfMissingComponentTests> + <skipAnalysis>true</skipAnalysis> </properties> <build> diff --git a/sources/hv-collector-utils/pom.xml b/sources/hv-collector-utils/pom.xml index e65cbd2f..feba8123 100644 --- a/sources/hv-collector-utils/pom.xml +++ b/sources/hv-collector-utils/pom.xml @@ -30,10 +30,6 @@ </license> </licenses> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <parent> <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId> <artifactId>hv-collector-sources</artifactId> diff --git a/sources/hv-collector-ves-message-generator/pom.xml b/sources/hv-collector-ves-message-generator/pom.xml index 7cb7d4ef..f39912de 100644 --- a/sources/hv-collector-ves-message-generator/pom.xml +++ b/sources/hv-collector-ves-message-generator/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-ves-message-generator</artifactId> <description>VES HighVolume Collector :: VES message generator</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/hv-collector-xnf-simulator/pom.xml b/sources/hv-collector-xnf-simulator/pom.xml index aae04b42..7f76acbf 100644 --- a/sources/hv-collector-xnf-simulator/pom.xml +++ b/sources/hv-collector-xnf-simulator/pom.xml @@ -40,10 +40,6 @@ <artifactId>hv-collector-xnf-simulator</artifactId> <description>VES HighVolume Collector :: XNF simulator</description> - <properties> - <skipAnalysis>false</skipAnalysis> - </properties> - <build> <plugins> <plugin> diff --git a/sources/pom.xml b/sources/pom.xml index 0775844f..30c15252 100644 --- a/sources/pom.xml +++ b/sources/pom.xml @@ -42,82 +42,98 @@ <description>VES HighVolume Collector :: Sources</description> <packaging>pom</packaging> - <build> - <plugins> - <plugin> - <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.17</version> - <dependencies> - <dependency> - <groupId>org.onap.oparent</groupId> - <artifactId>checkstyle</artifactId> - <version>1.1.1</version> - </dependency> - </dependencies> - <executions> - <execution> - <!-- To override oparent configuration different id must be used - We need to override it to include .kt files in check. --> - <id>check-license-kotlin</id> - <goals> - <goal>check</goal> - </goals> - <phase>process-sources</phase> - <configuration> - <configLocation>onap-checkstyle/check-license.xml</configLocation> - <includeResources>false</includeResources> - <includeTestSourceDirectory>true</includeTestSourceDirectory> - <includeTestResources>false</includeTestResources> - <includes>**\/*.kt</includes> - <consoleOutput>true</consoleOutput> - <!--<failOnViolation>false</failOnViolation>--> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <version>1.8</version> - <executions> - <execution> - <!-- This can be run separately with mvn antrun:run@detekt --> - <id>detekt</id> - <phase>verify</phase> - <goals> - <goal>run</goal> - </goals> - <configuration> - <target name="detekt" unless="${skipAnalysis}"> - <java taskname="detekt" dir="${basedir}" fork="true" failonerror="true" classname="io.gitlab.arturbosch.detekt.cli.Main" classpathref="maven.plugin.classpath"> - <arg value="--input"/> - <arg value="${basedir}/src/main/kotlin"/> - <arg value="--config-resource"/> - <arg value="onap-detekt-config.yml"/> - <arg value="--filters"/> - <arg value=".*/target/.*,.*/resources/.*"/> - <arg value="--report"/> - <arg value="html:${basedir}/target/detekt-report.html"/> - </java> - </target> - </configuration> - </execution> - </executions> - <dependencies> - <dependency> - <groupId>io.gitlab.arturbosch.detekt</groupId> - <artifactId>detekt-cli</artifactId> - <version>${detekt.version}</version> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>hv-collector-analysis</artifactId> - <version>1.1.0-SNAPSHOT</version> - </dependency> - </dependencies> - </plugin> - </plugins> - </build> + <properties> + <skipAnalysis>false</skipAnalysis> + </properties> + + <profiles> + <profile> + <id>analysis</id> + <activation> + <file> + <exists>src/main/kotlin</exists> + </file> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.17</version> + <dependencies> + <dependency> + <groupId>org.onap.oparent</groupId> + <artifactId>checkstyle</artifactId> + <version>1.1.1</version> + </dependency> + </dependencies> + <executions> + <execution> + <!-- To override oparent configuration different id must be used + We need to override it to include .kt files in check. --> + <id>check-license-kotlin</id> + <goals> + <goal>check</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <configLocation>onap-checkstyle/check-license.xml</configLocation> + <includeResources>false</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>false</includeTestResources> + <includes>**\/*.kt</includes> + <consoleOutput>true</consoleOutput> + <!--<failOnViolation>false</failOnViolation>--> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <!-- This can be run separately with mvn antrun:run@detekt --> + <id>detekt</id> + <phase>verify</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target name="detekt" unless="${skipAnalysis}"> + <java taskname="detekt" dir="${basedir}" fork="true" failonerror="true" + classname="io.gitlab.arturbosch.detekt.cli.Main" + classpathref="maven.plugin.classpath"> + <arg value="--input"/> + <arg value="${basedir}/src/main/kotlin"/> + <arg value="--config-resource"/> + <arg value="onap-detekt-config.yml"/> + <arg value="--filters"/> + <arg value=".*/target/.*,.*/resources/.*"/> + <arg value="--report"/> + <arg value="html:${basedir}/target/detekt-report.html"/> + </java> + </target> + </configuration> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>io.gitlab.arturbosch.detekt</groupId> + <artifactId>detekt-cli</artifactId> + <version>${detekt.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>hv-collector-analysis</artifactId> + <version>1.1.0-SNAPSHOT</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + </profile> + </profiles> <modules> <module>hv-collector-commandline</module> |