-
-
Notifications
You must be signed in to change notification settings - Fork 778
/
pom.xml
125 lines (115 loc) · 4.91 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>byte-buddy-parent</artifactId>
<groupId>net.bytebuddy</groupId>
<version>1.7.10-SNAPSHOT</version>
</parent>
<artifactId>byte-buddy-benchmark</artifactId>
<name>Byte Buddy benchmarks</name>
<description>A benchmark of Byte Buddy using the JMH.</description>
<!--
The benchmarks of this module should be changed with care, especially in relation to recommendations for
code optimizations by IDEs or 'find bugs'. When changing the benchmarks, it is advisable to analyze the
tests' assembly code for validating what iis measured.
For running the benchmarks, build the project with the 'extras' profile and execute 'target/byte-buddy-benchmarks.jar'
from the command line. Running the benchmarks should happen on an idle machine and requires several hours of runtime.
-->
<properties>
<benchmark.mainClass>net.bytebuddy.benchmark.runner.BenchmarkRunner</benchmark.mainClass>
<!-- Newer versions require Java 7. -->
<version.jmh>1.16</version.jmh>
<version.cglib>3.2.5</version.cglib>
<version.javassist>3.22.0-GA</version.javassist>
</properties>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>byte-buddy-dep</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>${version.cglib}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${version.javassist}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${version.jmh}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${version.jmh}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Mutation testing is not adding information on benchmarking quality. -->
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${version.plugin.pitest}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- For micro-benchmarks, a static code analysis is of no value. -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${version.plugin.spotbugs}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- Shade the benchmark artifact. -->
<profile>
<id>extras</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${version.plugin.shade}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.openjdk.jmh.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>