Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
claire-villard-sonarsource opened this issue Feb 27, 2023 · 1 comment · Fixed by #137
Assignees

Comments

@claire-villard-sonarsource

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,

@markkuhn
Copy link
Contributor

markkuhn commented Mar 2, 2023

JMH should have been put in a test configuration. See #137.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants