Skip to content

Commit b453330

Browse files
lhotarisrinath-ctds
authored andcommitted
[fix][ci] Fix jacoco code coverage report aggregation (apache#22964)
(cherry picked from commit aa03c0e) (cherry picked from commit 5328417)
1 parent fe09af2 commit b453330

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

build/pulsar_ci_tool.sh

+5-4
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@ _ci_upload_coverage_files() {
389389
--transform="flags=r;s|\\(/jacoco.*\\).exec$|\\1_${testtype}_${testgroup}.exec|" \
390390
--transform="flags=r;s|\\(/tmp/jacocoDir/.*\\).exec$|\\1_${testtype}_${testgroup}.exec|" \
391391
--exclude="*/META-INF/bundled-dependencies/*" \
392+
--exclude="*/META-INF/versions/*" \
392393
$GITHUB_WORKSPACE/target/classpath_* \
393394
$(find "$GITHUB_WORKSPACE" -path "*/target/jacoco*.exec" -printf "%p\n%h/classes\n" | sort | uniq) \
394395
$([ -d /tmp/jacocoDir ] && echo "/tmp/jacocoDir" ) \
@@ -530,11 +531,11 @@ ci_create_test_coverage_report() {
530531
local classfilesArgs="--classfiles $({
531532
{
532533
for classpathEntry in $(cat $completeClasspathFile | { grep -v -f $filterArtifactsFile || true; } | sort | uniq | { grep -v -E "$excludeJarsPattern" || true; }); do
533-
if [[ -f $classpathEntry && -n "$(unzip -Z1C $classpathEntry 'META-INF/bundled-dependencies/*' 2>/dev/null)" ]]; then
534-
# file must be processed by removing META-INF/bundled-dependencies
534+
if [[ -f $classpathEntry && -n "$(unzip -Z1C $classpathEntry 'META-INF/bundled-dependencies/*' 'META-INF/versions/*' 2>/dev/null)" ]]; then
535+
# file must be processed by removing META-INF/bundled-dependencies and META-INF/versions
535536
local jartempfile=$(mktemp -t jarfile.XXXX --suffix=.jar)
536537
cp $classpathEntry $jartempfile
537-
zip -q -d $jartempfile 'META-INF/bundled-dependencies/*' &> /dev/null
538+
zip -q -d $jartempfile 'META-INF/bundled-dependencies/*' 'META-INF/versions/*' &> /dev/null
538539
echo $jartempfile
539540
else
540541
echo $classpathEntry
@@ -596,7 +597,7 @@ ci_create_inttest_coverage_report() {
596597
# remove jar file that causes duplicate classes issue
597598
rm /tmp/jacocoDir/pulsar_lib/org.apache.pulsar-bouncy-castle* || true
598599
# remove any bundled dependencies as part of .jar/.nar files
599-
find /tmp/jacocoDir/pulsar_lib '(' -name "*.jar" -or -name "*.nar" ')' -exec echo "Processing {}" \; -exec zip -q -d {} 'META-INF/bundled-dependencies/*' \; |grep -E -v "Nothing to do|^$" || true
600+
find /tmp/jacocoDir/pulsar_lib '(' -name "*.jar" -or -name "*.nar" ')' -exec echo "Processing {}" \; -exec zip -q -d {} 'META-INF/bundled-dependencies/*' 'META-INF/versions/*' \; |grep -E -v "Nothing to do|^$" || true
600601
fi
601602
# projects that aren't considered as production code and their own src/main/java source code shouldn't be analysed
602603
local excludeProjectsPattern="testmocks|testclient|buildtools"

jetcd-core-shaded/pom.xml

+11
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@
100100
<pattern>io.vertx</pattern>
101101
<shadedPattern>org.apache.pulsar.jetcd.shaded.io.vertx</shadedPattern>
102102
</relocation>
103+
<!-- relocate multi-release packages -->
104+
<relocation>
105+
<pattern>META-INF/versions/(\d+)/io/vertx/</pattern>
106+
<shadedPattern>META-INF/versions/$1/org/apache/pulsar/jetcd/shaded/io/vertx/</shadedPattern>
107+
<rawString>true</rawString>
108+
</relocation>
103109
<!-- relocate to use grpc-netty-shaded packages -->
104110
<relocation>
105111
<pattern>io.grpc.netty</pattern>
@@ -123,6 +129,11 @@
123129
</filter>
124130
</filters>
125131
<transformers>
132+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
133+
<manifestEntries>
134+
<Multi-Release>true</Multi-Release>
135+
</manifestEntries>
136+
</transformer>
126137
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
127138
<transformer implementation="org.apache.maven.plugins.shade.resource.PluginXmlResourceTransformer"/>
128139
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ flexible messaging model and an intuitive client API.</description>
298298
<git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
299299
<wagon-ssh-external.version>3.5.3</wagon-ssh-external.version>
300300
<os-maven-plugin.version>1.7.0</os-maven-plugin.version>
301-
<jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
301+
<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
302302
<spotbugs-maven-plugin.version>4.7.3.0</spotbugs-maven-plugin.version>
303303
<spotbugs.version>4.7.3</spotbugs.version>
304304
<errorprone.version>2.5.1</errorprone.version>

0 commit comments

Comments
 (0)