Skip to content

Commit e73bd7d

Browse files
committed
fix: Cannot build quick perf from sources
- Replace missing flight recorder dependency with latest version - Remove unused Maven repository - Update various dependencies - Update minimum JDK version to 17 - Fix code that broke because of the updates - Update CI pipeline to use valid JDK versions Resolves #220 Signed-off-by: Esta Nagy <nagyesta@gmail.com>
1 parent dbf5f71 commit e73bd7d

File tree

42 files changed

+93
-153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+93
-153
lines changed

.github/workflows/CI.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
name: Java ${{ matrix.java }}
99
strategy:
1010
matrix:
11-
java: [8, 11, 12, 13, 14, 15, 16, 17]
11+
java: [17, 21]
1212
env:
1313
REPO_SLUG: ${{ github.repository }}
1414
BRANCH: ${{ github.head_ref }}
@@ -32,7 +32,7 @@ jobs:
3232
name: Java ${{ matrix.java }}
3333
strategy:
3434
matrix:
35-
java: [11]
35+
java: [17]
3636
env:
3737
REPO_SLUG: ${{ github.repository }}
3838
BRANCH: ${{ github.head_ref }}
@@ -56,7 +56,7 @@ jobs:
5656
name: Java ${{ matrix.java }}
5757
strategy:
5858
matrix:
59-
java: [11]
59+
java: [17]
6060
env:
6161
REPO_SLUG: ${{ github.repository }}
6262
BRANCH: ${{ github.head_ref }}
@@ -80,7 +80,7 @@ jobs:
8080
name: Java ${{ matrix.java }}
8181
strategy:
8282
matrix:
83-
java: [11]
83+
java: [17]
8484
env:
8585
REPO_SLUG: ${{ github.repository }}
8686
BRANCH: ${{ github.head_ref }}

core/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
<artifactId>quick-perf-core</artifactId>
2222

2323
<properties>
24-
<maven.compiler.source>1.7</maven.compiler.source>
25-
<maven.compiler.target>1.7</maven.compiler.target>
26-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2724
<javadoc-subpackages>org.quickperf.annotation,org.quickperf.config</javadoc-subpackages>
2825
</properties>
2926

junit4/junit4-12-jvm-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
<artifactId>quick-perf-junit4-12-jvm-test</artifactId>
2222

2323
<properties>
24-
<maven.compiler.source>1.7</maven.compiler.source>
25-
<maven.compiler.target>1.7</maven.compiler.target>
26-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2724
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2825
<gpg.skip>true</gpg.skip>
2926
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit4/junit4-13-1-jvm-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
<artifactId>quick-perf-junit4-13-1-jvm-test</artifactId>
2323

2424
<properties>
25-
<maven.compiler.source>1.7</maven.compiler.source>
26-
<maven.compiler.target>1.7</maven.compiler.target>
27-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2825
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2926
<gpg.skip>true</gpg.skip>
3027
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit4/junit4-13-2-jvm-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
<artifactId>quick-perf-junit4-13-2-jvm-test</artifactId>
2323

2424
<properties>
25-
<maven.compiler.source>1.7</maven.compiler.source>
26-
<maven.compiler.target>1.7</maven.compiler.target>
27-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2825
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2926
<gpg.skip>true</gpg.skip>
3027
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit4/junit4-13-jvm-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
<artifactId>quick-perf-junit4-13-jvm-test</artifactId>
2323

2424
<properties>
25-
<maven.compiler.source>1.7</maven.compiler.source>
26-
<maven.compiler.target>1.7</maven.compiler.target>
27-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2825
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2926
<gpg.skip>true</gpg.skip>
3027
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit4/junit4-5-jvm-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
<artifactId>quick-perf-junit4-5-jvm-test</artifactId>
2323

2424
<properties>
25-
<maven.compiler.source>1.7</maven.compiler.source>
26-
<maven.compiler.target>1.7</maven.compiler.target>
27-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2825
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2926
<gpg.skip>true</gpg.skip>
3027
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit4/junit4-runner/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
<artifactId>quick-perf-junit4</artifactId>
2222

2323
<properties>
24-
<maven.compiler.source>1.7</maven.compiler.source>
25-
<maven.compiler.target>1.7</maven.compiler.target>
26-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2724
<javadoc-sourceFileIncludes>**\/\QuickPerfJUnitRunner.java</javadoc-sourceFileIncludes>
2825
</properties>
2926

junit4/junit4-sql-test/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
<artifactId>quick-perf-junit4-sql-test</artifactId>
2222

2323
<properties>
24-
<maven.compiler.source>1.8</maven.compiler.source>
25-
<maven.compiler.target>1.8</maven.compiler.target>
26-
<dependencies.max.jdk.version>1.8</dependencies.max.jdk.version>
2724
<jar.skipIfEmpty>true</jar.skipIfEmpty>
2825
<gpg.skip>true</gpg.skip>
2926
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

junit5/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@
2323
<packaging>pom</packaging>
2424

2525
<properties>
26-
<maven.compiler.source>8</maven.compiler.source>
27-
<maven.compiler.target>8</maven.compiler.target>
28-
<dependencies.max.jdk.version>8</dependencies.max.jdk.version>
2926
<junit5.jupiter.version>5.6.2</junit5.jupiter.version>
3027
<junit5.platform.version>1.6.2</junit5.platform.version>
3128
</properties>

jvm/jfr-annotations/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@
3939
<dependency>
4040
<groupId>org.openjdk.jmc</groupId>
4141
<artifactId>flightrecorder.rules.jdk</artifactId>
42-
<version>7.1.1</version>
42+
<version>9.1.0</version>
4343
</dependency>
4444
<dependency>
4545
<groupId>org.jsoup</groupId>
4646
<artifactId>jsoup</artifactId>
47-
<version>1.11.1</version>
47+
<version>1.15.3</version>
4848
</dependency>
4949
<dependency>
5050
<groupId>junit</groupId>

jvm/jfr-annotations/src/main/java/org/quickperf/jvm/jmcrule/HtmlToPlainTextTransformer.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,16 @@
1313
package org.quickperf.jvm.jmcrule;
1414

1515
import org.jsoup.Jsoup;
16-
import org.jsoup.examples.HtmlToPlainText;
1716
import org.jsoup.nodes.Document;
1817

1918
class HtmlToPlainTextTransformer {
2019

2120
public static final HtmlToPlainTextTransformer INSTANCE = new HtmlToPlainTextTransformer();
2221

2322
public String convertHtmlToPlainText(String html) {
24-
HtmlToPlainText htmlToPlainText = new HtmlToPlainText();
2523
Document jsoupDocument = Jsoup.parse(html);
2624
jsoupDocument.select("p").prepend("<br>");
27-
return htmlToPlainText.getPlainText(jsoupDocument);
25+
return jsoupDocument.text();
2826
}
2927

3028
}

jvm/jfr-annotations/src/main/java/org/quickperf/jvm/jmcrule/JmcRuleCountMeasureExtractor.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@
1414

1515
import org.openjdk.jmc.common.item.IItemCollection;
1616
import org.openjdk.jmc.common.util.IPreferenceValueProvider;
17-
import org.openjdk.jmc.flightrecorder.rules.IRule;
18-
import org.openjdk.jmc.flightrecorder.rules.Result;
19-
import org.openjdk.jmc.flightrecorder.rules.RuleRegistry;
20-
import org.openjdk.jmc.flightrecorder.rules.Severity;
17+
import org.openjdk.jmc.flightrecorder.rules.*;
18+
2119
import org.quickperf.ExtractablePerformanceMeasure;
2220
import org.quickperf.jvm.jfr.JfrRecording;
2321
import org.quickperf.unit.Count;
@@ -39,20 +37,21 @@ private JmcRuleCountMeasureExtractor() {}
3937
public JmcRulesMeasure extractPerfMeasureFrom(JfrRecording jfrRecording) {
4038

4139
IItemCollection jfrEvents = jfrRecording.getJfrEvents();
42-
List<Result> ruleEvaluations = evaluateJmcRules(jfrEvents);
40+
List<IResult> ruleEvaluations = evaluateJmcRules(jfrEvents);
4341

4442
List<Count> jmcRules = buildJmcRuleCountsFrom(ruleEvaluations);
4543

4644
return new JmcRulesMeasure(jmcRules);
4745

4846
}
4947

50-
private List<Result> evaluateJmcRules(IItemCollection jfrEvents) {
51-
List<Result> ruleEvaluations = new ArrayList<>();
48+
private List<IResult> evaluateJmcRules(IItemCollection jfrEvents) {
49+
List<IResult> ruleEvaluations = new ArrayList<>();
5250
for (IRule rule : RuleRegistry.getRules()) {
53-
RunnableFuture<Result> future = rule.evaluate(jfrEvents, IPreferenceValueProvider.DEFAULT_VALUES);
51+
RunnableFuture<IResult> future = rule.createEvaluation(jfrEvents,
52+
IPreferenceValueProvider.DEFAULT_VALUES, new ResultProvider());
5453
future.run();
55-
Result result;
54+
IResult result;
5655
try {
5756
result = future.get();
5857
} catch (InterruptedException | ExecutionException e) {
@@ -63,9 +62,9 @@ private List<Result> evaluateJmcRules(IItemCollection jfrEvents) {
6362
return ruleEvaluations;
6463
}
6564

66-
private List<Count> buildJmcRuleCountsFrom(List<Result> ruleEvaluations) {
65+
private List<Count> buildJmcRuleCountsFrom(List<IResult> ruleEvaluations) {
6766
List<Count> jmcRules = new ArrayList<>();
68-
for (Result ruleEvaluation : ruleEvaluations) {
67+
for (IResult ruleEvaluation : ruleEvaluations) {
6968
Count ruleScore = buildJmcRuleCountFrom(ruleEvaluation);
7069
if(!ruleToExclude(ruleScore)) {
7170
jmcRules.add(ruleScore);
@@ -82,15 +81,15 @@ private boolean ruleToExclude(Count ruleScore) {
8281
|| ruleDescription.contains("Rule: Metaspace Live Set Trend");
8382
}
8483

85-
private Count buildJmcRuleCountFrom(Result result) {
84+
private Count buildJmcRuleCountFrom(IResult result) {
8685
StringWriter stringWriter = new StringWriter();
8786

8887
PrintWriter printWriter = new PrintWriter(stringWriter);
8988
printWriter.println("Rule: " + result.getRule().getName());
90-
printWriter.println("Severity: " + Severity.get(result.getScore()));
91-
long score = (long) result.getScore();
89+
printWriter.println("Severity: " + result.getSeverity());
90+
long score = (long) result.getSeverity().getLimit();
9291
printWriter.println("Score: " + score);
93-
String longDescriptionAsHtml = result.getLongDescription();
92+
String longDescriptionAsHtml = result.getExplanation();
9493
String textDesc = HtmlToPlainTextTransformer.INSTANCE.convertHtmlToPlainText(longDescriptionAsHtml);
9594
printWriter.println("Message: " + textDesc);
9695

jvm/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@
2323
<packaging>pom</packaging>
2424

2525
<properties>
26-
<maven.compiler.source>1.7</maven.compiler.source>
27-
<maven.compiler.target>1.7</maven.compiler.target>
28-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
2926
</properties>
3027

3128
<modules>

pom.xml

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@
1010
~ Copyright 2019-2022 the original author or authors.
1111
-->
1212

13-
<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">
13+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
14+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
1415
<modelVersion>4.0.0</modelVersion>
1516

16-
<description>QuickPerf is a testing library for Java providing annotations to quickly evaluate some performance properties.</description>
17+
<description>QuickPerf is a testing library for Java providing annotations to quickly evaluate some performance
18+
properties.
19+
</description>
1720

1821
<url>https://github.com/quick-perf/quickperf</url>
1922

@@ -42,19 +45,24 @@
4245
<properties>
4346
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4447
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
45-
<dependencies.max.jdk.version>1.7</dependencies.max.jdk.version>
46-
<junit4.test.version>4.12</junit4.test.version>
47-
<mockito.core.version>2.25.0</mockito.core.version>
48-
<h2.version>1.4.198</h2.version>
49-
<commons-dbcp.version>1.4</commons-dbcp.version>
50-
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
51-
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
52-
<logback-classic.version>1.1.0</logback-classic.version>
53-
<jcl-over-slf4j.version>1.7.25</jcl-over-slf4j.version>
54-
<javadoc-subpackages />
48+
<dependencies.max.jdk.version>17</dependencies.max.jdk.version>
49+
<maven.compiler.source>17</maven.compiler.source>
50+
<maven.compiler.target>17</maven.compiler.target>
51+
<junit4.test.version>4.13.2</junit4.test.version>
52+
<mockito.core.version>5.17.0</mockito.core.version>
53+
<h2.version>2.3.232</h2.version>
54+
<commons-dbcp.version>2.13.0</commons-dbcp.version>
55+
<maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
56+
<maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version>
57+
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
58+
<logback-classic.version>1.5.18</logback-classic.version>
59+
<jcl-over-slf4j.version>2.0.17</jcl-over-slf4j.version>
60+
<flightrecorder-rules-jdk.version>9.1.0</flightrecorder-rules-jdk.version>
61+
<javadoc-subpackages/>
5562
<javadoc-sourceFileIncludes>**\/\*.java</javadoc-sourceFileIncludes>
5663
<project.build.outputTimestamp>2023-11-21T21:44:04Z</project.build.outputTimestamp>
5764
<jar.skipIfEmpty>true</jar.skipIfEmpty>
65+
<testng.version>7.5.1</testng.version>
5866
</properties>
5967

6068
<dependencies>
@@ -66,6 +74,16 @@
6674
</dependency>
6775
</dependencies>
6876

77+
<dependencyManagement>
78+
<dependencies>
79+
<dependency>
80+
<groupId>org.openjdk.jmc</groupId>
81+
<artifactId>flightrecorder.rules.jdk</artifactId>
82+
<version>${flightrecorder-rules-jdk.version}</version>
83+
</dependency>
84+
</dependencies>
85+
</dependencyManagement>
86+
6987
<build>
7088
<pluginManagement>
7189
<plugins>
@@ -112,8 +130,9 @@
112130
</configuration>
113131
</plugin>
114132
<plugin>
133+
<groupId>org.apache.maven.plugins</groupId>
115134
<artifactId>maven-enforcer-plugin</artifactId>
116-
<version>1.4.1</version>
135+
<version>${maven-enforcer-plugin.version}</version>
117136
<executions>
118137
<execution>
119138
<id>enforce-bytecode-version</id>
@@ -122,7 +141,7 @@
122141
</goals>
123142
<configuration>
124143
<rules>
125-
<banCircularDependencies />
144+
<banCircularDependencies/>
126145
<enforceBytecodeVersion>
127146
<maxJdkVersion>${dependencies.max.jdk.version}</maxJdkVersion>
128147
<ignoreClasses>
@@ -138,7 +157,7 @@
138157
<dependency>
139158
<groupId>org.codehaus.mojo</groupId>
140159
<artifactId>extra-enforcer-rules</artifactId>
141-
<version>1.2</version>
160+
<version>1.9.0</version>
142161
</dependency>
143162
</dependencies>
144163
</plugin>
@@ -260,7 +279,8 @@
260279
<artifactId>maven-release-plugin</artifactId>
261280
<version>3.0.0-M1</version>
262281
<configuration>
263-
<allowTimestampedSnapshots>true</allowTimestampedSnapshots> <!--Because of junit4-spring-base-tests-->
282+
<allowTimestampedSnapshots>true
283+
</allowTimestampedSnapshots> <!--Because of junit4-spring-base-tests-->
264284
<autoVersionSubmodules>true</autoVersionSubmodules>
265285
<useReleaseProfile>false</useReleaseProfile>
266286
<releaseProfiles>release</releaseProfiles>
@@ -292,14 +312,6 @@
292312
<enabled>false</enabled>
293313
</snapshots>
294314
</repository>
295-
<repository>
296-
<id>AdoptOpenJDK</id>
297-
<name>AdoptOpenJDK</name>
298-
<url>https://adoptopenjdk.jfrog.io/adoptopenjdk/jmc-libs</url>
299-
<snapshots>
300-
<enabled>false</enabled>
301-
</snapshots>
302-
</repository>
303315
</repositories>
304316

305317
<developers>

spring/junit4-spring-base-tests/pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
<artifactId>quick-perf-junit4-spring-base-tests</artifactId>
2222

2323
<properties>
24-
<maven.compiler.source>1.7</maven.compiler.source>
25-
<maven.compiler.target>1.7</maven.compiler.target>
2624
<maven.deploy.skip>true</maven.deploy.skip>
2725
<gpg.skip>true</gpg.skip>
2826
<skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>

0 commit comments

Comments
 (0)