Build enhancements 17/64917/4
authorPiotr Jaszczyk <piotr.jaszczyk@nokia.com>
Thu, 6 Sep 2018 06:20:03 +0000 (08:20 +0200)
committerPiotr Jaszczyk <piotr.jaszczyk@nokia.com>
Thu, 6 Sep 2018 07:41:53 +0000 (09:41 +0200)
* Handling docker proxy configuration in a reasonable way
* Should skip coverage verification when skipTests was set
* Get rid of resources encoding warning
* Fix check-coverage output on Jenkins

Change-Id: If828fc41a88074931649e739c615a8b9d8db8739
Issue-ID: DCAEGEN2-755
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
hv-collector-analysis/pom.xml
hv-collector-coverage/check-coverage.sh
hv-collector-coverage/pom.xml
pom.xml

index a4d0a73..e9ffcf3 100644 (file)
   ~ ============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>
+        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>
+    <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+    </licenses>
 
-  <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
-  <artifactId>hv-collector-analysis</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
-  <description>VES HighVolume Collector :: Code analysis configuration</description>
+    <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
+    <artifactId>hv-collector-analysis</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <description>VES HighVolume Collector :: Code analysis configuration</description>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <configuration>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
\ No newline at end of file
index 7a2f4c6..956891a 100755 (executable)
@@ -3,20 +3,27 @@ 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"
+  xpath -q -e "$xpath_expr" "$JACOCO_REPORT" 2>> ${LOG_FILE}
 }
 
-missed=`coverage_from_report missed`
-covered=`coverage_from_report covered`
+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
+if [[ ${coverage} -lt ${MIN_COVERAGE_PERCENT} ]]; then
   echo "Coverage is too low. Minimum coverage: $MIN_COVERAGE_PERCENT%"
   exit 1
 fi
index 970d4b4..3145091 100644 (file)
@@ -60,7 +60,7 @@
                         </goals>
                         <configuration>
                             <excludes>
-                                <!-- Exclute Protobuf-generated classes -->
+                                <!-- Exclude Protobuf-generated classes -->
                                 <exclude>org/onap/ves/*</exclude>
                             </excludes>
                             <dataFileIncludes>
@@ -84,6 +84,7 @@
                     </execution>
                 </executions>
                 <configuration>
+                    <skip>${skipTests}</skip>
                     <executable>${project.basedir}/check-coverage.sh</executable>
                     <workingDirectory>${project.basedir}</workingDirectory>
                     <arguments>
diff --git a/pom.xml b/pom.xml
index e1c90b3..ebb3afc 100644 (file)
--- a/pom.xml
+++ b/pom.xml
     </build>
 
     <profiles>
+        <profile>
+            <id>docker-proxy</id>
+            <activation>
+                <property>
+                    <name>docker.http_proxy</name>
+                </property>
+            </activation>
+            <properties>
+                <!-- set build args as defined in https://dmp.fabric8.io/#build-buildargs -->
+                <docker.buildArg.http_proxy>${docker.http_proxy}</docker.buildArg.http_proxy>
+                <docker.buildArg.https_proxy>${docker.http_proxy}</docker.buildArg.https_proxy>
+            </properties>
+        </profile>
+
         <profile>
             <id>docker</id>
             <activation>
                                         </name>
                                         <registry>${docker-image.registry}</registry>
                                         <build>
-                                            <!--
-                                            <args>
-                                                <http_proxy>${docker.http_proxy}</http_proxy>
-                                                <https_proxy>${docker.http_proxy}</https_proxy>
-                                            </args>
-                                            -->
-                                            
                                             <dockerFileDir>${project.basedir}</dockerFileDir>
                                             <tags>
                                                 <tag>${project.version}-${maven.build.timestamp}Z</tag>