Skip to content

What is the reason for JMH to be declared in the implementation dependencies? #136

@claire-villard-sonarsource

Description

Dear maintainers,

The build.gradle file mentions the JMH benchmark tools in the implementation dependencies.

implementation 'org.openjdk.jmh:jmh-core:1.29'
implementation 'org.openjdk.jmh:jmh-generator-annprocess:1.29'

This causes the JMH dependencies to be included in the dependency tree of the projects using the aws-embedded-metrics-java lib, as a transitive dependency.

I would like to know what is the motivation for this benchmark tool to be included into the implementation configuration, and not some test-specific configuration, or under a profile.

My motivation for asking this question is due to the GPL license used by JMH. The project I work for has a strong requirement to exclude all GPL code from the libraries we use, directly or transitively, as we are not able to fulfill the GPL license requirements.
Excluding both dependencies in my project build.gradle file seems to work fine, but to be sure I would like to understand the motivation behind that choice.

Thanks in advance,

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions