jmh-gradle-plugin icon indicating copy to clipboard operation
jmh-gradle-plugin copied to clipboard

Dependencies in a multi-project build

Open sebersole opened this issue 6 years ago • 2 comments

I am confused about using this plugin in my particular scenario..

The main gist is that I want to define a single benchmark (a single, common subproject) and be able to run that against more than one version of the Hibernate project (as separate subprojects, one per Hibernate version). Initially I had:

root/
    hql-benchmark-common/
        src/main/java/
            BenchmarkTests.java
            HibernateVersionSuppport.java
    hql-benchmark-orm5/
        src/main/java
            HibernateVersionSupport5.java
    hql-benchmark-orm6/
        src/main/java
            HibernateVersionSupport6.java

I then cd into hql-benchmark-orm5 and attempt to run the jmh task, but in this set-up JMH is not able to find tests to run, presumably because of the src/main and src/jmh split mentioned in the plugin's readme. So I tried the following split instead:

root/
    hql-benchmark-common/
        src/jmh/java/
            BenchmarkTests.java
        src/main/java/
            HibernateVersionSuppport.java
    hql-benchmark-orm5/
        src/main/java
            HibernateVersionSupport5.java
    hql-benchmark-orm6/
        src/main/java
            HibernateVersionSupport6.java

However, it is still unable to find the tests.

Is this kind of set up support? If so, any pointers on how to set up such a project?

sebersole avatar Nov 05 '18 16:11 sebersole

Would need the same. Is @sebersole 's issue too complex? This would seem a natural thing to do for a gradle plugin?

Sanne avatar Sep 24 '19 15:09 Sanne

FWIW the only way I could get this to work was to literally copy/paste the benchmark test class(es) into each sub-project :( Fugly, but works

https://github.com/sebersole/hibernate-hql-benchmark

sebersole avatar Sep 24 '19 18:09 sebersole