Skip to content

Commit 54249ab

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 - Update build actions Resolves #220 Signed-off-by: Esta Nagy <nagyesta@gmail.com>
1 parent dbf5f71 commit 54249ab

File tree

42 files changed

+109
-165
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

+109
-165
lines changed

.github/workflows/CI.yml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,19 @@ 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 }}
1515
steps:
16-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@v4
1717
- name: Set up JDK ${{ matrix.java }}
18-
uses: actions/setup-java@v1
18+
uses: actions/setup-java@v4
1919
with:
2020
java-version: ${{ matrix.java }}
21+
distribution: temurin
2122
- name: Cache Maven dependencies
22-
uses: actions/cache@v2
23+
uses: actions/cache@v4
2324
with:
2425
path: ~/.m2
2526
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
@@ -32,18 +33,19 @@ jobs:
3233
name: Java ${{ matrix.java }}
3334
strategy:
3435
matrix:
35-
java: [11]
36+
java: [17]
3637
env:
3738
REPO_SLUG: ${{ github.repository }}
3839
BRANCH: ${{ github.head_ref }}
3940
steps:
40-
- uses: actions/checkout@v2
41+
- uses: actions/checkout@v4
4142
- name: Set up JDK ${{ matrix.java }}
42-
uses: actions/setup-java@v1
43+
uses: actions/setup-java@v4
4344
with:
4445
java-version: ${{ matrix.java }}
46+
distribution: temurin
4547
- name: Cache Maven dependencies
46-
uses: actions/cache@v2
48+
uses: actions/cache@v4
4749
with:
4850
path: ~/.m2
4951
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
@@ -56,18 +58,19 @@ jobs:
5658
name: Java ${{ matrix.java }}
5759
strategy:
5860
matrix:
59-
java: [11]
61+
java: [17]
6062
env:
6163
REPO_SLUG: ${{ github.repository }}
6264
BRANCH: ${{ github.head_ref }}
6365
steps:
64-
- uses: actions/checkout@v2
66+
- uses: actions/checkout@v4
6567
- name: Set up JDK ${{ matrix.java }}
66-
uses: actions/setup-java@v1
68+
uses: actions/setup-java@v4
6769
with:
6870
java-version: ${{ matrix.java }}
71+
distribution: temurin
6972
- name: Cache Maven dependencies
70-
uses: actions/cache@v2
73+
uses: actions/cache@v4
7174
with:
7275
path: ~/.m2
7376
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
@@ -80,18 +83,19 @@ jobs:
8083
name: Java ${{ matrix.java }}
8184
strategy:
8285
matrix:
83-
java: [11]
86+
java: [17]
8487
env:
8588
REPO_SLUG: ${{ github.repository }}
8689
BRANCH: ${{ github.head_ref }}
8790
steps:
88-
- uses: actions/checkout@v2
91+
- uses: actions/checkout@v4
8992
- name: Set up JDK ${{ matrix.java }}
90-
uses: actions/setup-java@v1
93+
uses: actions/setup-java@v4
9194
with:
9295
java-version: ${{ matrix.java }}
96+
distribution: temurin
9397
- name: Cache Maven dependencies
94-
uses: actions/cache@v2
98+
uses: actions/cache@v4
9599
with:
96100
path: ~/.m2
97101
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}

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>

0 commit comments

Comments
 (0)