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

Vladimir Dmitrienko updated IGNITE-25812:
-----------------------------------------
    Description: 
The current implementation of the JMH Gradle plugin has the following issues:

1. The JMH Gradle plugin lacks essential JHM dependencies:
{code:java}
jmhImplementation libs.jmh.core    
jmhAnnotationProcessor libs.jmh.annotation.processor {code}
As a result, any module using this plugin must manually declare these 
dependencies.

2. The {{jmh}} source set does not have access to classes from the {{main}} 
source set. To fix this, we should explicitly add:
{code:java}
jmhImplementation(sourceSets.main.output) {code}
3. JMH-generated classes can cause unnecessary SpotBugs build failures. These 
should be excluded from the analysis. Example exclusion pattern:
{code:java}
<Class name="~.*_jmh.*"/> {code}

  was:
1. The JMH Gradle plugin lacks essential JHM dependencies:
{code:java}
jmhImplementation libs.jmh.core    
jmhAnnotationProcessor libs.jmh.annotation.processor {code}
As a result, any module using this plugin must manually declare these 
dependencies.

2. The jmh source set does not have access to classes from the {{main}} source 
set. To resolve this, we should explicitly add:
{code:java}
jmhImplementation(sourceSets.main.output) {code}
3. Additionally, JMH-generated files should be excluded from the SpotBugs scan 
because their presence causes unnecessary build failures.

Pattern example:
{code:java}
<Class name="~.*_jmh.*"/> {code}


> Add necessary JMH dependencies to jmh.gradle
> --------------------------------------------
>
>                 Key: IGNITE-25812
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25812
>             Project: Ignite
>          Issue Type: Improvement
>          Components: builds/deliveries ai3
>            Reporter: Vladimir Dmitrienko
>            Assignee: Vladimir Dmitrienko
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The current implementation of the JMH Gradle plugin has the following issues:
> 1. The JMH Gradle plugin lacks essential JHM dependencies:
> {code:java}
> jmhImplementation libs.jmh.core    
> jmhAnnotationProcessor libs.jmh.annotation.processor {code}
> As a result, any module using this plugin must manually declare these 
> dependencies.
> 2. The {{jmh}} source set does not have access to classes from the {{main}} 
> source set. To fix this, we should explicitly add:
> {code:java}
> jmhImplementation(sourceSets.main.output) {code}
> 3. JMH-generated classes can cause unnecessary SpotBugs build failures. These 
> should be excluded from the analysis. Example exclusion pattern:
> {code:java}
> <Class name="~.*_jmh.*"/> {code}



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

Reply via email to