[
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)