diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2018-11-28 15:46:50 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2018-11-29 14:41:42 +0100 |
commit | dde383a2aa75f94c26d7949665b79cc95486a223 (patch) | |
tree | 75f3e8f564067afd0e67dbe6254183e45ca26944 /hv-collector-coverage | |
parent | 77f896523f2065b1da1be21545155a29edea5122 (diff) |
Custom detekt rule for logger usage check
Check if logger invocations don't use unoptimal invocations, eg.
concatenation `debug("a=" + a)` instead of lambda use `debug {"a=" + a}`
Unfortunately to avoid defining dependencies in many places and having
circural dependencies it was necessarry to reorganize the maven module
structure. The goal was to have `sources` module with production code and
`build` module with build-time tooling (detekt rules among them).
Issue-ID: DCAEGEN2-1002
Change-Id: I36e677b98972aaae6905d722597cbce5e863d201
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'hv-collector-coverage')
-rwxr-xr-x | hv-collector-coverage/check-coverage.sh | 30 | ||||
-rw-r--r-- | hv-collector-coverage/pom.xml | 147 |
2 files changed, 0 insertions, 177 deletions
diff --git a/hv-collector-coverage/check-coverage.sh b/hv-collector-coverage/check-coverage.sh deleted file mode 100755 index 956891ac..00000000 --- a/hv-collector-coverage/check-coverage.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -JACOCO_REPORT="$1" -MIN_COVERAGE_PERCENT="$2" -LOG_FILE=target/check-coverage.log - -function coverage_from_report() { - local xpath_expr="string(/report/counter[@type='INSTRUCTION']/@$1)" - 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)) - -if [[ $(wc -c < ${LOG_FILE}) > 0 ]]; then - echo "Warnings from xpath evaluation:" - cat ${LOG_FILE} - echo -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 - diff --git a/hv-collector-coverage/pom.xml b/hv-collector-coverage/pom.xml deleted file mode 100644 index f1e5c742..00000000 --- a/hv-collector-coverage/pom.xml +++ /dev/null @@ -1,147 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ ============LICENSE_START======================================================= - ~ dcaegen2-collectors-veshv - ~ ================================================================================ - ~ Copyright (C) 2018 NOKIA - ~ ================================================================================ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - ~ ============LICENSE_END========================================================= - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <licenses> - <license> - <name>The Apache Software License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> - </license> - </licenses> - - <parent> - <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId> - <artifactId>ves-hv-collector</artifactId> - <version>1.1.0-SNAPSHOT</version> - <relativePath>..</relativePath> - </parent> - - <artifactId>hv-collector-coverage</artifactId> - <description>VES HighVolume Collector :: Code coverage</description> - <packaging>pom</packaging> - - <properties> - <failIfMissingUnitTests>false</failIfMissingUnitTests> - <failIfMissingComponentTests>false</failIfMissingComponentTests> - </properties> - - <build> - <plugins> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <executions> - <execution> - <id>jacoco-aggregate-report</id> - <phase>verify</phase> - <goals> - <goal>report-aggregate</goal> - </goals> - <configuration> - <excludes> - <!-- Exclude Protobuf-generated classes --> - <exclude>org/onap/ves/*</exclude> - </excludes> - <dataFileIncludes> - <dataFileInclude>**/jacoco-ut.exec</dataFileInclude> - <dataFileInclude>**/jacoco-it.exec</dataFileInclude> - </dataFileIncludes> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <executions> - <execution> - <id>check-coverage</id> - <phase>verify</phase> - <goals> - <goal>exec</goal> - </goals> - </execution> - </executions> - <configuration> - <skip>${skipTests}</skip> - <executable>${project.basedir}/check-coverage.sh</executable> - <workingDirectory>${project.basedir}</workingDirectory> - <arguments> - <argument>target/site/jacoco-aggregate/jacoco.xml</argument> - <argument>${jacoco.minimum.coverage}</argument> - </arguments> - </configuration> - </plugin> - </plugins> - </build> - - <dependencies> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-core</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-ct</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-dcae-app-simulator</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-domain</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-health-check</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-main</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-utils</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-ves-message-generator</artifactId> - <version>${project.parent.version}</version> - </dependency> - <dependency> - <groupId>${project.parent.groupId}</groupId> - <artifactId>hv-collector-xnf-simulator</artifactId> - <version>${project.parent.version}</version> - </dependency> - </dependencies> - -</project>
\ No newline at end of file |