You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Divij Vaidya (Jira)" <ji...@apache.org> on 2023/07/26 18:04:00 UTC

[jira] [Resolved] (KAFKA-15235) No test coverage reports for Java due to settings for Jacoco being incompatible with Gradle 8.x

     [ https://issues.apache.org/jira/browse/KAFKA-15235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Divij Vaidya resolved KAFKA-15235.
----------------------------------
    Resolution: Fixed

> No test coverage reports for Java due to settings for Jacoco being incompatible with Gradle 8.x
> -----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-15235
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15235
>             Project: Kafka
>          Issue Type: Bug
>          Components: unit tests
>    Affects Versions: 3.6.0
>            Reporter: Eike Thaden
>            Assignee: Said BOUDJELDA
>            Priority: Major
>              Labels: buid, coverage, gradle, tools
>             Fix For: 3.6.0, 3.5.2
>
>
> On current dev branch, gradle 8.x fails while trying to generate test coverage reports as stated in the README, e.g. by running
> {code:java}
> ./gradlew clients:reportCoverage -PenableTestCoverage=true -Dorg.gradle.parallel=false{code}
>  
> The error message states:
> {code:java}
> "Could not set unknown property 'enabled' for Report html of type org.gradle.api.reporting.internal.TaskGeneratedSingleDirectoryReport"
> {code}
> In "build.gradle", the library "jacoco" which is used to generate test coverage reports for the Java code is configured in two different places with these settings:
>  
> {code:java}
> jacocoTestReport {
>     dependsOn tasks.test
>     sourceSets sourceSets.main
>     reports { 
>         html.enabled = true
>         xml.enabled = true        
>         csv.enabled = false    
>     }
> }
> {code}
>  
> With the latest version of jacoco, shipped with gradle 8.x, these config options are not compatible anymore. A correct configuration might look like like this:
>  
> {code:java}
> jacocoTestReport {
>     dependsOn tasks.test
>     sourceSets sourceSets.main
>     reports {
>         html {
>            required = true
>         }
>         xml {
>            required = true         
>         }
>         csv{
>           required = false
>         }
>     }
> }
> {code}
>  
> However, even with these settings being accepted by Gradle, I was unable to generate any test coverage report. This might be due to some OOM issues, but I tried a lots of settings including increasing the maximum heap for the JVM gradle tasks without getting this to work.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)