summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2019-03-11 14:16:39 +0100
committerPiotr Jaszczyk <piotr.jaszczyk@nokia.com>2019-03-11 14:23:27 +0100
commita38f0f119181ac798f2b66ee7cfadd579da8be64 (patch)
tree1d2b3486092492d13469c8d3340de5a1bc52c487
parentf938e8a87a33f8db78115a92f5130d6296171c62 (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-xbuild/hv-collector-coverage/check-coverage.sh46
-rw-r--r--build/hv-collector-coverage/pom.xml16
-rw-r--r--sources/hv-collector-core/pom.xml4
-rw-r--r--sources/hv-collector-ct/pom.xml1
-rw-r--r--sources/hv-collector-dcae-app-simulator/pom.xml4
-rw-r--r--sources/hv-collector-domain/pom.xml4
-rw-r--r--sources/hv-collector-health-check/pom.xml4
-rw-r--r--sources/hv-collector-main/pom.xml4
-rw-r--r--sources/hv-collector-ssl/pom.xml4
-rw-r--r--sources/hv-collector-test-utils/pom.xml1
-rw-r--r--sources/hv-collector-utils/pom.xml4
-rw-r--r--sources/hv-collector-ves-message-generator/pom.xml4
-rw-r--r--sources/hv-collector-xnf-simulator/pom.xml4
-rw-r--r--sources/pom.xml168
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>