Skip to content

Commit efbebe8

Browse files
committed
strip unneeded dependencies from JMH shaded jar
1 parent 6d896ee commit efbebe8

File tree

6 files changed

+61
-31
lines changed

6 files changed

+61
-31
lines changed

jmh-suite/pom.xml

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,40 @@
3030
<groupId>${project.groupId}</groupId>
3131
<artifactId>testbed</artifactId>
3232
<version>${project.version}</version>
33+
<!-- exclude any transitive dependency. we add the relevant targets
34+
explicitly to keep the shaded benchmarks.jar small -->
3335
<exclusions>
3436
<exclusion>
35-
<groupId>org.cache2k.benchmark</groupId>
36-
<artifactId>traces</artifactId>
37+
<groupId>*</groupId>
38+
<artifactId>*</artifactId>
3739
</exclusion>
3840
</exclusions>
3941
</dependency>
4042
<dependency>
4143
<groupId>${project.groupId}</groupId>
4244
<artifactId>thirdparty</artifactId>
4345
<version>${project.version}</version>
46+
<!-- exclude any transitive dependency. we add the relevant targets
47+
explicitly to keep the shaded benchmarks.jar small -->
4448
<exclusions>
4549
<exclusion>
46-
<groupId>com.github.ben-manes.caffeine</groupId>
47-
<artifactId>simulator</artifactId>
50+
<groupId>*</groupId>
51+
<artifactId>*</artifactId>
4852
</exclusion>
4953
</exclusions>
5054
</dependency>
5155
<dependency>
5256
<groupId>${project.groupId}</groupId>
5357
<artifactId>util</artifactId>
5458
<version>${project.version}</version>
59+
<!-- exclude any transitive dependency. we add the relevant targets
60+
explicitly to keep the shaded benchmarks.jar small -->
61+
<exclusions>
62+
<exclusion>
63+
<groupId>*</groupId>
64+
<artifactId>*</artifactId>
65+
</exclusion>
66+
</exclusions>
5567
</dependency>
5668
<dependency>
5769
<groupId>org.openjdk.jmh</groupId>
@@ -64,16 +76,40 @@
6476
<version>${jmh.version}</version>
6577
<scope>provided</scope>
6678
</dependency>
79+
6780
<dependency>
6881
<groupId>org.cache2k</groupId>
6982
<artifactId>cache2k-core</artifactId>
7083
<version>${cache2k-version}</version>
7184
</dependency>
85+
<!--
7286
<dependency>
7387
<groupId>org.cache2k</groupId>
7488
<artifactId>cache2k-jcache</artifactId>
7589
<version>${cache2k-version}</version>
7690
</dependency>
91+
-->
92+
<dependency>
93+
<groupId>com.github.ben-manes.caffeine</groupId>
94+
<artifactId>caffeine</artifactId>
95+
<version>${caffeine-version}</version>
96+
</dependency>
97+
<dependency>
98+
<groupId>org.ehcache</groupId>
99+
<artifactId>ehcache</artifactId>
100+
<version>${ehcache3-version}</version>
101+
</dependency>
102+
<dependency>
103+
<groupId>javax.cache</groupId>
104+
<artifactId>cache-api</artifactId>
105+
<version>1.1.0</version>
106+
</dependency>
107+
108+
<dependency>
109+
<groupId>it.unimi.dsi</groupId>
110+
<artifactId>dsiutils</artifactId>
111+
<version>${dsiutils-version}</version>
112+
</dependency>
77113
</dependencies>
78114

79115
<build>

jmh-suite/src/main/java/org/cache2k/benchmark/jmh/MiscResultRecorderProfiler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
* #L%
2121
*/
2222

23-
import org.infinispan.util.concurrent.ConcurrentHashSet;
2423
import org.openjdk.jmh.infra.BenchmarkParams;
2524
import org.openjdk.jmh.infra.IterationParams;
2625
import org.openjdk.jmh.profile.InternalProfiler;
@@ -36,6 +35,7 @@
3635
import java.util.Collection;
3736
import java.util.concurrent.ConcurrentHashMap;
3837
import java.util.concurrent.ConcurrentMap;
38+
import java.util.concurrent.CopyOnWriteArraySet;
3939
import java.util.concurrent.TimeUnit;
4040

4141
/**
@@ -51,7 +51,7 @@ public class MiscResultRecorderProfiler implements InternalProfiler {
5151
* Collection of multiple results per metric, possibly multiple for an iteration,
5252
* e.g. reported by threads
5353
*/
54-
static final ConcurrentHashSet<Result<?>> resultSet = new ConcurrentHashSet<>();
54+
static final Collection<Result<?>> resultSet = new CopyOnWriteArraySet<>();
5555
/**
5656
* Collection of a single result per metric
5757
*/

pom.xml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
<properties>
2929
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3030
<cache2k-version>2.2.1.Final</cache2k-version>
31+
<ehcache3-version>3.9.6</ehcache3-version>
32+
<caffeine-version>3.0.4</caffeine-version>
33+
<dsiutils-version>2.6.0</dsiutils-version>
3134
</properties>
3235

3336
<modules>
@@ -40,17 +43,6 @@
4043
</modules>
4144

4245
<dependencies>
43-
<dependency>
44-
<groupId>junit</groupId>
45-
<artifactId>junit</artifactId>
46-
<version>4.12</version>
47-
</dependency>
48-
<dependency>
49-
<groupId>org.hamcrest</groupId>
50-
<artifactId>hamcrest-library</artifactId>
51-
<version>1.2.1</version>
52-
<scope>test</scope>
53-
</dependency>
5446
</dependencies>
5547

5648
<profiles>

testbed/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,17 @@
6565
<artifactId>jackson-databind</artifactId>
6666
<version>2.1.3</version>
6767
</dependency>
68+
<dependency>
69+
<groupId>junit</groupId>
70+
<artifactId>junit</artifactId>
71+
<version>4.12</version>
72+
</dependency>
73+
<dependency>
74+
<groupId>org.hamcrest</groupId>
75+
<artifactId>hamcrest-library</artifactId>
76+
<version>1.2.1</version>
77+
<scope>test</scope>
78+
</dependency>
6879

6980
</dependencies>
7081

thirdparty/pom.xml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@
1313

1414
<name>Benchmarks: third party products.</name>
1515

16-
<properties>
17-
<caffeine.version>3.0.4</caffeine.version>
18-
</properties>
19-
2016
<dependencies>
2117
<dependency>
2218
<groupId>${project.groupId}</groupId>
@@ -38,15 +34,10 @@
3834
<artifactId>guava</artifactId>
3935
<version>26.0-jre</version>
4036
</dependency>
41-
<dependency>
42-
<groupId>org.infinispan</groupId>
43-
<artifactId>infinispan-core</artifactId>
44-
<version>7.1.0.CR2</version>
45-
</dependency>
4637
<dependency>
4738
<groupId>org.ehcache</groupId>
4839
<artifactId>ehcache</artifactId>
49-
<version>3.9.6</version>
40+
<version>${ehcache3-version}</version>
5041
</dependency>
5142
<dependency>
5243
<groupId>javax.cache</groupId>
@@ -56,17 +47,17 @@
5647
<dependency>
5748
<groupId>com.github.ben-manes.caffeine</groupId>
5849
<artifactId>caffeine</artifactId>
59-
<version>${caffeine.version}</version>
50+
<version>${caffeine-version}</version>
6051
</dependency>
6152
<dependency>
6253
<groupId>com.github.ben-manes.caffeine</groupId>
6354
<artifactId>jcache</artifactId>
64-
<version>${caffeine.version}</version>
55+
<version>${caffeine-version}</version>
6556
</dependency>
6657
<dependency>
6758
<groupId>com.github.ben-manes.caffeine</groupId>
6859
<artifactId>simulator</artifactId>
69-
<version>${caffeine.version}</version>
60+
<version>${caffeine-version}</version>
7061
<exclusions>
7162
<exclusion>
7263
<groupId>org.cache2k</groupId>

util/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<dependency>
1717
<groupId>it.unimi.dsi</groupId>
1818
<artifactId>dsiutils</artifactId>
19-
<version>2.6.0</version>
19+
<version>${dsiutils-version}</version>
2020
</dependency>
2121
<dependency>
2222
<groupId>org.apache.commons</groupId>

0 commit comments

Comments
 (0)