Compare commits

...

No commits in common. "imports/c9-beta/jmc-8.2.0-13.20220203.el9.2" and "c8-stream-rhel8" have entirely different histories.

27 changed files with 1305 additions and 989 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
SOURCES/8.2.0-ga.tar.gz
SOURCES/repository-8.2.0-20220203.tar.gz
SOURCES/699a121bd449fe8a9350221282bd3f809691a766.tar.gz

View File

@ -1,2 +1 @@
686f6d6b9bcab052a6a815e59e55bebb272a03fe SOURCES/8.2.0-ga.tar.gz
37eac4d47ec01624be56dcc7c102d00826026bf7 SOURCES/repository-8.2.0-20220203.tar.gz
d9f36ea4af8af8ecb0328e1188455c64d7f8da5d SOURCES/699a121bd449fe8a9350221282bd3f809691a766.tar.gz

View File

@ -1,389 +0,0 @@
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
index d363cba..5bc7c45 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
@@ -42,94 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.flameview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.6.7</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-flamegraph-css</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-v6-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-tooltip-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- The formatter currently dislikes the javascript for some reason, but this is how to enable JavaScript formatting
- <plugin>
- <groupId>com.diffplug.spotless</groupId>
- <artifactId>spotless-maven-plugin</artifactId>
- <version>${spotless.version}</version>
- <configuration>
- <formats>
- <format>
- <includes>
- <include>src/main/js/*.js</include>
- </includes>
- <eclipseWtp>
- <type>JS</type>
- <files>
- <file>${spotless.config.path.js}</file>
- </files>
- </eclipseWtp>
- </format>
- </formats>
- </configuration>
- </plugin>
- -->
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
index 93cc9a9..0e94a05 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
@@ -61,7 +61,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jface.action.Action;
@@ -120,27 +119,17 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
private static final String TOOLTIP_DESCRIPTION = getFlameviewMessage(FLAMEVIEW_SELECT_HTML_TOOLTIP_DESCRIPTION);
private static final String HTML_PAGE;
static {
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css
- String cssD3Flamegraph = "jslibs/d3-flamegraph.css";
- // from: https://d3js.org/d3.v6.min.js
- String jsD3V6 = "jslibs/d3.v6.min.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js
- String jsD3Tip = "jslibs/d3-flamegraph-tooltip.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js
- String jsD3FlameGraph = "jslibs/d3-flamegraph.js";
- // jmc flameview coloring, tooltip and other functions
String jsFlameviewName = "flameview.js";
String cssFlameview = "flameview.css";
- String jsD3 = loadLibraries(jsD3V6, jsD3FlameGraph, jsD3Tip);
- String styleheets = loadLibraries(cssD3Flamegraph, cssFlameview);
+ String styleheets = fileContent(cssFlameview);
String jsFlameviewColoring = fileContent(jsFlameviewName);
String magnifierIcon = getIconBase64(ImageConstants.ICON_MAGNIFIER);
// formatter arguments for the template: %1 - CSSs stylesheets,
- // %2 - Search Icon Base64, %3 - 3rd party scripts, %4 - Flameview Coloring,
- HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsD3, jsFlameviewColoring);
+ // %2 - Search Icon Base64, %3 - Flameview Coloring,
+ HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsFlameviewColoring);
}
private static final int MODEL_EXECUTOR_THREADS_NUMBER = 3;
@@ -490,14 +479,6 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
}
}
- private static String loadLibraries(String ... libs) {
- if (libs == null || libs.length == 0) {
- return "";
- } else {
- return Stream.of(libs).map(FlameGraphView::fileContent).collect(Collectors.joining("\n"));
- }
- }
-
private static String fileContent(String fileName) {
try {
return StringToolkit.readString(FlameGraphView.class.getClassLoader().getResourceAsStream(fileName));
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
index 67bc3c7..4f0b21c 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
@@ -3,6 +3,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css"></link>
<style type="text/css">%1$s</style>
<style type="text/css" media="print">
body {
@@ -24,9 +25,9 @@
<script type="text/javascript">
%3$s
</script>
- <script type="text/javascript">
- %4$s
- </script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js"></script>
<script type="text/javascript">
const minSearchTextSize = 3;
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
index 8fcb4f2..973677e 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
@@ -42,80 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.graphview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.6.7</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>download-d3</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-graphviz</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-graphvizlib-wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
index 536b690..f30a2c1 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
@@ -86,18 +86,7 @@ import org.openjdk.jmc.ui.misc.DisplayToolkit;
public class GraphView extends ViewPart implements ISelectionListener {
private static final String HTML_PAGE;
static {
- String jsD3 = "jslibs/d3.v6.min.js";
- String jsGraphviz = "jslibs/index.js";
- String wasmGraphviz = "jslibs/graphvizlib.wasm";
- String jsGraphizD3 = "jslibs/d3-graphviz.js";
-
- String wasmBase64 = loadBase64FromFile(wasmGraphviz);
-
- HTML_PAGE = String.format(loadStringFromFile("page.template"), loadLibraries(jsD3),
- // we inline base64 wasm in the library code to avoid fetching it at runtime
- loadStringFromFile(jsGraphviz, "wasmBinaryFile=\"graphvizlib.wasm\";",
- "wasmBinaryFile=dataURIPrefix + '" + wasmBase64 + "';"),
- loadLibraries(jsGraphizD3));
+ HTML_PAGE = String.format(loadStringFromFile("page.template"));
}
private enum ModelState {
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
index eb7423a..c362f0c 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
@@ -3,9 +3,10 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <script>%1$s</script>
- <script>%2$s</script>
- <script>%3$s</script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm"></script>
</head>
<body>
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml b/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
index 138ba7f..4f7fe35 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
@@ -42,38 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.heatmap</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.4.2</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-v6-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
index 96c19fc..7be0487 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
@@ -72,9 +72,7 @@ import org.openjdk.jmc.ui.misc.DisplayToolkit;
public class HeatmapView extends ViewPart implements ISelectionListener {
private static final String HTML_PAGE;
static {
- String jsD3V6 = "jslibs/d3.v6.min.js";
- HTML_PAGE = String.format(loadStringFromFile("page.template"), loadLibraries(jsD3V6),
- loadStringFromFile("heatmap.js"));
+ HTML_PAGE = String.format(loadStringFromFile("page.template"), loadStringFromFile("heatmap.js"));
}
private enum ModelState {
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
index d6f4c5a..9a13f40 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
@@ -2,15 +2,13 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <script>
- %1$s
- </script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
</head>
<body>
<div id="heatmap" width="100%%" style="text-align: center"></div>
<script type="text/javascript">
- %2$s
+ %1$s
</script>
</body>
</html>

View File

@ -0,0 +1,224 @@
diff --git a/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF b/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
index 775f1d8..979a323 100644
--- a/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
+++ b/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
@@ -57,7 +57,6 @@ Export-Package: org.openjdk.jmc.rjmx,
org.openjdk.jmc.rjmx.triggers;
x-friends:="org.openjdk.jmc.console.ui.notification,
org.openjdk.jmc.alert,
- org.openjdk.jmc.console.twitter,
org.openjdk.jmc.rjmx.test",
org.openjdk.jmc.rjmx.triggers.actions.internal;x-friends:="org.openjdk.jmc.console.ui.notification",
org.openjdk.jmc.rjmx.triggers.condition.internal;x-friends:="org.openjdk.jmc.console.ui.notification,org.openjdk.jmc.test.jemmy",
diff --git a/application/pom.xml b/application/pom.xml
index 9f8783a..7aa8842 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -59,7 +59,6 @@
<module>org.openjdk.jmc.console.jconsole</module>
<module>org.openjdk.jmc.console.pde</module>
<module>org.openjdk.jmc.console.persistence</module>
- <module>org.openjdk.jmc.console.twitter</module>
<module>org.openjdk.jmc.console.ui</module>
<module>org.openjdk.jmc.console.ui.diagnostic</module>
<module>org.openjdk.jmc.console.ui.mbeanbrowser</module>
@@ -81,7 +80,6 @@
<module>org.openjdk.jmc.feature.pde</module>
<module>org.openjdk.jmc.feature.rcp</module>
<module>org.openjdk.jmc.feature.rcp.update</module>
- <module>org.openjdk.jmc.feature.twitter</module>
<module>org.openjdk.jmc.flightrecorder.configuration</module>
<module>org.openjdk.jmc.flightrecorder.controlpanel.ui</module>
<module>org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration</module>
diff --git a/license/THIRDPARTYREADME.txt b/license/THIRDPARTYREADME.txt
index 596a8db..ba7bf83 100644
--- a/license/THIRDPARTYREADME.txt
+++ b/license/THIRDPARTYREADME.txt
@@ -297,187 +297,6 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
-%% The following notice is provided with respect to Twitter4J v4.0.7,
-which may be included with this product.
-
- Copyright 2007 Yusuke Yamamoto
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
-
%% The following notice is provided with respect to D3 v6.1.3, which may
be included with this product.

View File

@ -0,0 +1,100 @@
diff --git a/pom.xml b/pom.xml
index 3c27d3b..22ce8b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,95 +109,6 @@
<url>${snapshot.repo}</url>
</snapshotRepository>
</distributionManagement>
- <profiles>
- <profile>
- <id>2020-12</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <target>
- <artifact>
- <groupId>org.openjdk.jmc</groupId>
- <artifactId>platform-definition-2020-12</artifactId>
- <version>8.0.1-SNAPSHOT</version>
- </artifact>
- </target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>2020-09</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <target>
- <artifact>
- <groupId>org.openjdk.jmc</groupId>
- <artifactId>platform-definition-2020-09</artifactId>
- <version>8.0.1-SNAPSHOT</version>
- </artifact>
- </target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>2020-06</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <target>
- <artifact>
- <groupId>org.openjdk.jmc</groupId>
- <artifactId>platform-definition-2020-06</artifactId>
- <version>8.0.1-SNAPSHOT</version>
- </artifact>
- </target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>2020-03</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <target>
- <artifact>
- <groupId>org.openjdk.jmc</groupId>
- <artifactId>platform-definition-2020-03</artifactId>
- <version>8.0.1-SNAPSHOT</version>
- </artifact>
- </target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
<build>
<plugins>
<plugin>

View File

@ -0,0 +1,42 @@
diff --git a/application/org.openjdk.jmc.feature.core/feature.xml b/application/org.openjdk.jmc.feature.core/feature.xml
index f42eed3..b53c5e5 100644
--- a/application/org.openjdk.jmc.feature.core/feature.xml
+++ b/application/org.openjdk.jmc.feature.core/feature.xml
@@ -95,7 +95,7 @@
unpack="false"/>
<plugin
- id="org.lz4.lz4-java"
+ id="lz4-java"
download-size="0"
install-size="0"
version="0.0.0"
diff --git a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
index cd6d0f9..22638fe 100644
--- a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
+++ b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
@@ -130,7 +130,7 @@
unpack="false"/>
<plugin
- id="org.lz4.lz4-java"
+ id="lz4-java"
download-size="0"
install-size="0"
version="0.0.0"
diff --git a/releng/third-party/pom.xml b/releng/third-party/pom.xml
index 8e0dd86..aba63c8 100644
--- a/releng/third-party/pom.xml
+++ b/releng/third-party/pom.xml
@@ -88,11 +88,6 @@
</artifact>
<artifact>
<id>org.lz4:lz4-java:${lz4.version}</id>
- <override>true</override>
- <instructions>
- <Bundle-Name>org.lz4.lz4-java</Bundle-Name>
- <Bundle-SymbolicName>org.lz4.lz4-java</Bundle-SymbolicName>
- </instructions>
</artifact>
<artifact>
<id>org.hdrhistogram:HdrHistogram:${hdrhistogram.version}</id>

23
SOURCES/11-tycho.patch Normal file
View File

@ -0,0 +1,23 @@
diff --git a/pom.xml b/pom.xml
index 329f840..c5f06c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,7 +77,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <tycho.version>2.0.0</tycho.version>
+ <tycho.version>2.1.0</tycho.version>
<maven.buildnumber.version>1.4</maven.buildnumber.version>
<maven.deploy.version>2.8.2</maven.deploy.version>
<maven.directory.version>0.3.1</maven.directory.version>
@@ -144,7 +144,8 @@
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
- <useProjectSettings>false</useProjectSettings>
+ <useProjectSettings>false</useProjectSettings>
+ <deriveReleaseCompilerArgumentFromTargetLevel>false</deriveReleaseCompilerArgumentFromTargetLevel>
</configuration>
</plugin>
<plugin>

View File

@ -0,0 +1,130 @@
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
index 9e05408..733fcd4 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
@@ -42,80 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.graphview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.4.2</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-v5-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v5.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>d3-graphviz-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>graphvizlib-wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
index 1389545..d356c2e 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
@@ -85,18 +85,7 @@ import org.openjdk.jmc.ui.misc.DisplayToolkit;
public class GraphView extends ViewPart implements ISelectionListener {
private static final String HTML_PAGE;
static {
- String jsD3V5 = "jslibs/d3.v5.min.js";
- String jsGraphviz = "jslibs/index.js";
- String wasmGraphviz = "jslibs/graphvizlib.wasm";
- String jsGraphizD3 = "jslibs/d3-graphviz.js";
-
- String wasmBase64 = loadBase64FromFile(wasmGraphviz);
-
- HTML_PAGE = String.format(loadStringFromFile("page.template"), loadLibraries(jsD3V5),
- // we inline base64 wasm in the library code to avoid fetching it at runtime
- loadStringFromFile(jsGraphviz, "wasmBinaryFile=\"graphvizlib.wasm\";",
- "wasmBinaryFile=dataURIPrefix + '" + wasmBase64 + "';"),
- loadLibraries(jsGraphizD3));
+ HTML_PAGE = String.format(loadStringFromFile("page.template"));
}
private enum ModelState {
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
index eb7423a..e424576 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
@@ -3,12 +3,13 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <script>%1$s</script>
- <script>%2$s</script>
- <script>%3$s</script>
</head>
<body>
+ <script type="text/javascript" src="https://d3js.org/d3.v5.min.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm"></script>
<div id="graph" style="text-align: center;"></div>
<script type="text/javascript">

View File

@ -0,0 +1,12 @@
diff --git a/application/org.openjdk.jmc.rcp.product/pom.xml b/application/org.openjdk.jmc.rcp.product/pom.xml
index 2ebccfb..1cc8aca 100644
--- a/application/org.openjdk.jmc.rcp.product/pom.xml
+++ b/application/org.openjdk.jmc.rcp.product/pom.xml
@@ -74,7 +74,6 @@
<rootFolders>
<win32>${productName}</win32>
<macosx>${productName}.app</macosx>
- <linux>${productName}</linux>
</rootFolders>
</product>
</products>

View File

@ -0,0 +1,13 @@
diff --git a/application/org.openjdk.jmc.feature.core/feature.xml b/application/org.openjdk.jmc.feature.core/feature.xml
index 1eb682d..569f7e2 100644
--- a/application/org.openjdk.jmc.feature.core/feature.xml
+++ b/application/org.openjdk.jmc.feature.core/feature.xml
@@ -168,7 +168,7 @@
unpack="false"/>
<plugin
- id="com.sun.mail.jakarta.mail"
+ id="com.sun.mail.javax.mail"
download-size="0"
install-size="0"
version="0.0.0"

View File

@ -0,0 +1,208 @@
diff --git a/application/org.openjdk.jmc.console.ui/src/main/java/org/openjdk/jmc/console/ui/editor/internal/ConsoleFormPage.java b/application/org.openjdk.jmc.console.ui/src/main/java/org/openjdk/jmc/console/ui/editor/internal/ConsoleFormPage.java
index a6a2a7c..a252f9e 100644
--- a/application/org.openjdk.jmc.console.ui/src/main/java/org/openjdk/jmc/console/ui/editor/internal/ConsoleFormPage.java
+++ b/application/org.openjdk.jmc.console.ui/src/main/java/org/openjdk/jmc/console/ui/editor/internal/ConsoleFormPage.java
@@ -43,7 +43,6 @@ import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
@@ -54,6 +53,7 @@ import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.IMessageManager;
import org.eclipse.ui.forms.editor.FormPage;
import org.eclipse.ui.forms.widgets.Form;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.console.ui.ConsolePlugin;
import org.openjdk.jmc.console.ui.editor.IConsolePageContainer;
import org.openjdk.jmc.console.ui.editor.IConsolePageStateHandler;
@@ -175,7 +175,7 @@ public class ConsoleFormPage extends FormPage implements IConsolePageContainer {
String iconName = config.getAttribute(ATTRIBUTE_ICON);
if (iconName != null) {
String pluginId = config.getDeclaringExtension().getContributor().getName();
- ImageDescriptor iconDesc = ResourceLocator.imageDescriptorFromBundle(pluginId, iconName).orElse(null);
+ ImageDescriptor iconDesc = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, iconName);
if (iconDesc != null) {
icon = (Image) JFaceResources.getResources().get(iconDesc);
} else {
diff --git a/application/org.openjdk.jmc.flightrecorder.ext.jfx/src/main/java/org/openjdk/jmc/flightrecorder/ext/jfx/JfxPage.java b/application/org.openjdk.jmc.flightrecorder.ext.jfx/src/main/java/org/openjdk/jmc/flightrecorder/ext/jfx/JfxPage.java
index d0be24a..e3f1000 100644
--- a/application/org.openjdk.jmc.flightrecorder.ext.jfx/src/main/java/org/openjdk/jmc/flightrecorder/ext/jfx/JfxPage.java
+++ b/application/org.openjdk.jmc.flightrecorder.ext.jfx/src/main/java/org/openjdk/jmc/flightrecorder/ext/jfx/JfxPage.java
@@ -38,7 +38,6 @@ import java.util.List;
import java.util.stream.Stream;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.graphics.Image;
@@ -46,6 +45,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.Form;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.common.IState;
import org.openjdk.jmc.common.IWritableState;
import org.openjdk.jmc.common.item.Aggregators;
@@ -98,8 +98,8 @@ public class JfxPage extends AbstractDataPage {
@Override
public ImageDescriptor getImageDescriptor(IState state) {
- return ResourceLocator.imageDescriptorFromBundle("org.openjdk.jmc.flightrecorder.ext.jfx", //$NON-NLS-1$
- "icons/pulse.png").orElse(null); //$NON-NLS-1$
+ return AbstractUIPlugin.imageDescriptorFromPlugin("org.openjdk.jmc.flightrecorder.ext.jfx", //$NON-NLS-1$
+ "icons/pulse.png"); //$NON-NLS-1$
}
@Override
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
index a8b76b0..bb57f10 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
@@ -69,7 +69,6 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
@@ -93,6 +92,7 @@ import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.common.item.IItemCollection;
import org.openjdk.jmc.common.item.ItemCollectionToolkit;
import org.openjdk.jmc.common.util.StringToolkit;
@@ -490,7 +490,7 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
}
private static ImageDescriptor flameviewImageDescriptor(String iconName) {
- return ResourceLocator.imageDescriptorFromBundle(PLUGIN_ID, DIR_ICONS + iconName).orElse(null); //$NON-NLS-1$
+ return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, DIR_ICONS + iconName); //$NON-NLS-1$
}
private static String getIconBase64(String iconName) {
diff --git a/application/org.openjdk.jmc.flightrecorder.metadata/src/main/java/org/openjdk/jmc/flightrecorder/metadata/MetadataPage.java b/application/org.openjdk.jmc.flightrecorder.metadata/src/main/java/org/openjdk/jmc/flightrecorder/metadata/MetadataPage.java
index 748cebc..019ce5e 100644
--- a/application/org.openjdk.jmc.flightrecorder.metadata/src/main/java/org/openjdk/jmc/flightrecorder/metadata/MetadataPage.java
+++ b/application/org.openjdk.jmc.flightrecorder.metadata/src/main/java/org/openjdk/jmc/flightrecorder/metadata/MetadataPage.java
@@ -39,7 +39,6 @@ import java.util.stream.Stream;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreePath;
@@ -51,6 +50,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.Form;
import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.common.IState;
import org.openjdk.jmc.common.IWritableState;
import org.openjdk.jmc.common.item.IItemIterable;
@@ -231,7 +231,7 @@ public class MetadataPage extends AbstractDataPage {
@Override
public ImageDescriptor getImageDescriptor(IState state) {
- return ResourceLocator.imageDescriptorFromBundle(PLUGIN_ID, ICON).orElse(null);
+ return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, ICON);
}
@Override
diff --git a/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/ApplicationPlugin.java b/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/ApplicationPlugin.java
index bcdf8b9..fff9296 100644
--- a/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/ApplicationPlugin.java
+++ b/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/ApplicationPlugin.java
@@ -39,7 +39,6 @@ import java.util.logging.Logger;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.common.io.IOToolkit;
import org.openjdk.jmc.rcp.application.p2.AddRepositoriesJob;
@@ -144,6 +143,6 @@ public class ApplicationPlugin extends AbstractUIPlugin {
* @return the image descriptor
*/
public static ImageDescriptor getImageDescriptor(String path) {
- return ResourceLocator.imageDescriptorFromBundle(PLUGIN_ID, path).orElse(null);
+ return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
}
}
diff --git a/application/org.openjdk.jmc.rjmx.ui/src/main/java/org/openjdk/jmc/rjmx/ui/internal/RemoveAction.java b/application/org.openjdk.jmc.rjmx.ui/src/main/java/org/openjdk/jmc/rjmx/ui/internal/RemoveAction.java
index 6380709..4a66939 100644
--- a/application/org.openjdk.jmc.rjmx.ui/src/main/java/org/openjdk/jmc/rjmx/ui/internal/RemoveAction.java
+++ b/application/org.openjdk.jmc.rjmx.ui/src/main/java/org/openjdk/jmc/rjmx/ui/internal/RemoveAction.java
@@ -34,16 +34,16 @@ package org.openjdk.jmc.rjmx.ui.internal;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
import org.eclipse.ui.forms.SectionPart;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.openjdk.jmc.ui.misc.MCSectionPart;
/**
* Action for removing a {@link SectionPart} in a {@link SectionPartManager}
*/
public class RemoveAction extends Action {
- private final static ImageDescriptor ICON = ResourceLocator.imageDescriptorFromBundle("org.eclipse.ui", //$NON-NLS-1$
- "icons/full/elcl16/close_view.gif").orElse(null); //$NON-NLS-1$
+ private final static ImageDescriptor ICON = AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui", //$NON-NLS-1$
+ "icons/full/elcl16/close_view.gif"); //$NON-NLS-1$
final private SectionPartManager m_sectionPartmanager;
final private MCSectionPart m_part;
diff --git a/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/CoreImages.java b/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/CoreImages.java
index 5cd717b..d6a19a9 100644
--- a/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/CoreImages.java
+++ b/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/CoreImages.java
@@ -35,7 +35,7 @@ package org.openjdk.jmc.ui;
import java.util.MissingResourceException;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
* Storage for common ImageDescriptors.
@@ -177,7 +177,7 @@ public class CoreImages {
}
private static ImageDescriptor createDescriptor(String relPath) {
- ImageDescriptor desc = ResourceLocator.imageDescriptorFromBundle(UIPlugin.PLUGIN_ID, relPath).orElse(null);
+ ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(UIPlugin.PLUGIN_ID, relPath);
if (desc == null) {
// FIXME: Throwing an exception has the development time advantage of being very intrusive. For release time, logging might be better.
throw new MissingResourceException("Missing image '" + relPath + '\'', ImageDescriptor.class.getName(), //$NON-NLS-1$
diff --git a/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/misc/ImageDescriptorAdapterFactory.java b/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/misc/ImageDescriptorAdapterFactory.java
index de112b0..e04e796 100644
--- a/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/misc/ImageDescriptorAdapterFactory.java
+++ b/application/org.openjdk.jmc.ui/src/main/java/org/openjdk/jmc/ui/misc/ImageDescriptorAdapterFactory.java
@@ -34,7 +34,8 @@ package org.openjdk.jmc.ui.misc;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ResourceLocator;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
import org.openjdk.jmc.ui.common.resource.IImageResource;
import org.openjdk.jmc.ui.common.resource.Resource;
import org.openjdk.jmc.ui.common.util.AdapterUtil;
@@ -49,8 +50,7 @@ public class ImageDescriptorAdapterFactory implements IAdapterFactory {
if (imageResource != null) {
Resource r = imageResource.getImageResource();
if (r != null) {
- return adapterType.cast(ResourceLocator
- .imageDescriptorFromBundle(r.getPluginId(), r.getResourcePath()).orElse(null));
+ return adapterType.cast(AbstractUIPlugin.imageDescriptorFromPlugin(r.getPluginId(), r.getResourcePath()));
}
}
IGraphical g = AdapterUtil.getAdapter(adaptableObject, IGraphical.class);

View File

@ -0,0 +1,22 @@
diff --git a/application/org.openjdk.jmc.feature.core/feature.xml b/application/org.openjdk.jmc.feature.core/feature.xml
index b53c5e5..1eb682d 100644
--- a/application/org.openjdk.jmc.feature.core/feature.xml
+++ b/application/org.openjdk.jmc.feature.core/feature.xml
@@ -62,17 +62,6 @@
<import plugin="org.eclipse.e4.core.contexts"/>
</requires>
- <plugin
- id="com.make.chromium.cef.win32.win32.x86_64"
- os="win32"
- ws="win32"
- arch="x86_64"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
<plugin
id="org.openjdk.jmc.attach"
download-size="0"

View File

@ -0,0 +1,21 @@
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
index d356c2e..41dff7a 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
@@ -38,6 +38,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.MessageFormat;
+import java.util.Arrays;
import java.util.Base64;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -172,7 +173,7 @@ public class GraphView extends ViewPart implements ISelectionListener {
private class NodeThresholdSelection extends Action implements IMenuCreator {
private Menu menu;
- private final List<Pair<String, Integer>> items = List.of(new Pair<>("100", 100), new Pair<>("500", 500),
+ private final List<Pair<String, Integer>> items = Arrays.asList(new Pair<>("100", 100), new Pair<>("500", 500),
new Pair<>("1000", 1000));
NodeThresholdSelection() {

View File

@ -0,0 +1,48 @@
diff --git a/application/org.openjdk.jmc.feature.rcp/feature.xml b/application/org.openjdk.jmc.feature.rcp/feature.xml
index 1e295ca..9687dd4 100644
--- a/application/org.openjdk.jmc.feature.rcp/feature.xml
+++ b/application/org.openjdk.jmc.feature.rcp/feature.xml
@@ -51,18 +51,10 @@
id="org.openjdk.jmc.feature.console"
version="0.0.0"/>
- <includes
- id="org.openjdk.jmc.feature.rcp.ja"
- version="0.0.0"/>
-
<includes
id="org.openjdk.jmc.feature.core"
version="0.0.0"/>
- <includes
- id="org.openjdk.jmc.feature.rcp.zh_CN"
- version="0.0.0"/>
-
<includes
id="org.openjdk.jmc.feature.flightrecorder"
version="0.0.0"/>
@@ -104,24 +96,6 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="org.openjdk.jmc.rcp.application.ja"
- nl="ja_JP,ja"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
- <plugin
- id="org.openjdk.jmc.rcp.application.zh_CN"
- nl="zh_CN"
- download-size="0"
- install-size="0"
- version="0.0.0"
- fragment="true"
- unpack="false"/>
-
<plugin
id="org.openjdk.jmc.rcp.intro"
download-size="0"

View File

@ -1,13 +0,0 @@
diff --git a/core/tests/pom.xml b/core/tests/pom.xml
index f19a8ed..1f4db29 100644
--- a/core/tests/pom.xml
+++ b/core/tests/pom.xml
@@ -46,7 +46,7 @@
<module>org.openjdk.jmc.flightrecorder.test</module>
<module>org.openjdk.jmc.flightrecorder.rules.test</module>
<module>org.openjdk.jmc.flightrecorder.rules.jdk.test</module>
- <module>org.openjdk.jmc.flightrecorder.writer.test</module>
+ <!-- <module>org.openjdk.jmc.flightrecorder.writer.test</module> -->
<module>org.openjdk.jmc.flightrecorder.serializers.test</module>
<module>org.openjdk.jmc.jdp.test</module>
</modules>

View File

@ -0,0 +1,29 @@
diff --git a/application/org.openjdk.jmc.feature.ide/feature.xml b/application/org.openjdk.jmc.feature.ide/feature.xml
index 8e2f469a..3544694a 100644
--- a/application/org.openjdk.jmc.feature.ide/feature.xml
+++ b/application/org.openjdk.jmc.feature.ide/feature.xml
@@ -69,11 +69,4 @@
install-size="0"
version="0.0.0"
unpack="false"/>
-
- <plugin
- id="org.openjdk.jmc.ide.jdt"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
</feature>
\ No newline at end of file
diff --git a/application/pom.xml b/application/pom.xml
index adefed26..87cb00c0 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -94,7 +94,6 @@
<module>org.openjdk.jmc.flightrecorder.ui</module>
<module>org.openjdk.jmc.greychart</module>
<module>org.openjdk.jmc.greychart.ui</module>
- <module>org.openjdk.jmc.ide.jdt</module>
<module>org.openjdk.jmc.ide.launch</module>
<module>org.openjdk.jmc.ide.ui</module>
<module>org.openjdk.jmc.joverflow</module>

View File

@ -0,0 +1,16 @@
diff --git a/application/org.openjdk.jmc.rcp.product/pom.xml b/application/org.openjdk.jmc.rcp.product/pom.xml
index 8e6b303..8060da9 100644
--- a/application/org.openjdk.jmc.rcp.product/pom.xml
+++ b/application/org.openjdk.jmc.rcp.product/pom.xml
@@ -141,11 +141,4 @@
</plugins>
<directory>../../target/</directory>
</build>
- <pluginRepositories>
- <pluginRepository>
- <id>buchen-maven-repo</id>
- <url>http://buchen.github.io/maven-repo</url>
- <layout>default</layout>
- </pluginRepository>
- </pluginRepositories>
</project>

View File

@ -0,0 +1,16 @@
diff --git a/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF b/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
index bf02b43..a4d5a67 100644
--- a/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
+++ b/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
@@ -12,7 +12,9 @@ Require-Bundle: org.junit,
org.openjdk.jmc.rjmx.services.jfr,
org.openjdk.jmc.rjmx,
org.openjdk.jmc.common,
- org.openjdk.jmc.flightrecorder.configuration
+ org.openjdk.jmc.flightrecorder.configuration,
+ org.hamcrest.core
Export-Package: org.openjdk.jmc.rjmx.services.jfr.test
Automatic-Module-Name: org.openjdk.jmc.rjmx.services.jfr.test
-Import-Package: org.openjdk.jmc.flightrecorder.jdk
+Import-Package: org.openjdk.jmc.flightrecorder.jdk,
+ org.hamcrest.core

View File

@ -1,8 +1,8 @@
diff --git a/pom.xml b/pom.xml
index 12c1373..4c3efa0 100644
index 59f292a..2985869 100644
--- a/pom.xml
+++ b/pom.xml
@@ -195,26 +195,11 @@
@@ -117,21 +117,11 @@
<version>${tycho.version}</version>
<configuration>
<environments>
@ -20,11 +20,6 @@ index 12c1373..4c3efa0 100644
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>aarch64</arch>
- </environment>
</environments>
</configuration>

View File

@ -0,0 +1,16 @@
diff --git a/application/pom.xml b/application/pom.xml
index 6b92b98..34b9077 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -173,11 +173,6 @@
<artifactId>flightrecorder.test</artifactId>
<version>8.0.1-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.8.3</version>
- </dependency>
</dependencies>
<build>
<plugins>

View File

@ -0,0 +1,185 @@
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
index 89cc5e9a..d61b28c6 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
@@ -42,94 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.flameview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.6.0</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-flamegraph-css</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-v6-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-tooltip-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- The formatter currently dislikes the javascript for some reason, but this is how to enable JavaScript formatting
- <plugin>
- <groupId>com.diffplug.spotless</groupId>
- <artifactId>spotless-maven-plugin</artifactId>
- <version>${spotless.version}</version>
- <configuration>
- <formats>
- <format>
- <includes>
- <include>src/main/js/*.js</include>
- </includes>
- <eclipseWtp>
- <type>JS</type>
- <files>
- <file>${spotless.config.path.js}</file>
- </files>
- </eclipseWtp>
- </format>
- </formats>
- </configuration>
- </plugin>
- -->
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
index dc43ba8c..a8b76b0c 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
@@ -61,7 +61,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jface.action.Action;
@@ -120,27 +119,17 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
private static final String TOOLTIP_DESCRIPTION = getFlameviewMessage(FLAMEVIEW_SELECT_HTML_TOOLTIP_DESCRIPTION);
private static final String HTML_PAGE;
static {
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css
- String cssD3Flamegraph = "jslibs/d3-flamegraph.css";
- // from: https://d3js.org/d3.v6.min.js
- String jsD3V6 = "jslibs/d3.v6.min.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js
- String jsD3Tip = "jslibs/d3-flamegraph-tooltip.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js
- String jsD3FlameGraph = "jslibs/d3-flamegraph.js";
- // jmc flameview coloring, tooltip and other functions
String jsFlameviewName = "flameview.js";
String cssFlameview = "flameview.css";
- String jsD3 = loadLibraries(jsD3V6, jsD3FlameGraph, jsD3Tip);
- String styleheets = loadLibraries(cssD3Flamegraph, cssFlameview);
+ String styleheets = fileContent(cssFlameview);
String jsFlameviewColoring = fileContent(jsFlameviewName);
String magnifierIcon = getIconBase64(ImageConstants.ICON_MAGNIFIER);
// formatter arguments for the template: %1 - CSSs stylesheets,
- // %2 - Search Icon Base64, %3 - 3rd party scripts, %4 - Flameview Coloring,
- HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsD3, jsFlameviewColoring);
+ // %2 - Search Icon Base64, %3 - Flameview Coloring,
+ HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsFlameviewColoring);
}
private static final int MODEL_EXECUTOR_THREADS_NUMBER = 3;
@@ -490,14 +479,6 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
}
}
- private static String loadLibraries(String ... libs) {
- if (libs == null || libs.length == 0) {
- return "";
- } else {
- return Stream.of(libs).map(FlameGraphView::fileContent).collect(Collectors.joining("\n"));
- }
- }
-
private static String fileContent(String fileName) {
try {
return StringToolkit.readString(FlameGraphView.class.getClassLoader().getResourceAsStream(fileName));
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
index 67bc3c75..a01571d9 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
@@ -3,6 +3,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css"></link>
<style type="text/css">%1$s</style>
<style type="text/css" media="print">
body {
@@ -21,12 +22,12 @@
<img src="data:image/png;base64, %2$s" width="12" height="12">
</div>
<div id="chart"></div>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js"></script>
<script type="text/javascript">
%3$s
</script>
- <script type="text/javascript">
- %4$s
- </script>
<script type="text/javascript">
const minSearchTextSize = 3;

View File

@ -0,0 +1,14 @@
diff --git a/application/org.openjdk.jmc.rcp.product/jmc.product b/application/org.openjdk.jmc.rcp.product/jmc.product
index 54b2590..ba10585 100644
--- a/application/org.openjdk.jmc.rcp.product/jmc.product
+++ b/application/org.openjdk.jmc.rcp.product/jmc.product
@@ -56,8 +56,7 @@
</programArgsMac>
<programArgsWin>
</programArgsWin>
- <vmArgs>-XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:FlightRecorderOptions=stackdepth=128 -XX:+FlightRecorder -XX:StartFlightRecording=name=JMC_Default,maxsize=100m -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
- -Dsun.java.command=JMC
+ <vmArgs>-XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
</vmArgs>
<vmArgsLin>--add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED
</vmArgsLin>

View File

@ -5,7 +5,7 @@ jmc \- Java profiling and diagnostics tool
.B jmc
[\fB\-vm\fR \fIJVM\fR]
.SH DESCRIPTION
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
advanced set of tools that enables efficient and detailed analysis of the
extensive data collected by JDK Flight Recorder.
The tool chain enables developers and administrators to collect and analyze data
@ -21,4 +21,4 @@ Startup options are specified here.
The -vm option can be set here as well to avoid specifying at startup.
Options specified at startup will override values in this file.
.SH BUGS
Report bugs to JMC mailing list: <jmc-dev at openjdk dot java dot net>
Report bugs to JMC mailing list: <jmc-dev at openjdk dot java dot net>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>jmc.desktop</id>
<metadata_license>FSAP</metadata_license>
<project_license>UPL or BSD</project_license>
<name>JDK Mission Control</name>
<summary>A Profiling and Diagnostics Tool for the Hotspot JVM</summary>
<description>
<p>
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
advanced set of tools that enables efficient and detailed analysis of the
extensive data collected by JDK Flight Recorder. The tool chain enables
developers and administrators to collect and analyze data from Java
applications running locally or deployed in production environments.
</p>
</description>
<url type="homepage">http://openjdk.java.net/projects/jmc/</url>
<launchable type="desktop-id">jmc.desktop</launchable>
<developer_name>The OpenJDK Community</developer_name>
</component>

View File

@ -5,4 +5,4 @@ Exec=jmc
Icon=jmc
Terminal=false
Type=Application
Categories=Development;Java;Profiling;
Categories=Development;Java;Profiling;

View File

@ -47,14 +47,12 @@ pushd $1
# owasp-java-encoder
_sym org.owasp.encoder_1.2.2.jar /usr/share/java/owasp-java-encoder/encoder.jar
# jakarta-activation
_sym com.sun.activation.jakarta.activation_1.2.2.jar /usr/share/java/jakarta-activation/jakarta.activation.jar
_sym com.sun.activation.jakarta.activation_1.2.1.jar /usr/share/java/jaf/jakarta.activation.jar
# HdrHistogram
_sym org.hdrhistogram.HdrHistogram_2.1.11.jar /usr/share/java/HdrHistogram.jar
# javamail
_sym com.sun.mail.jakarta.mail_1.6.5.jar /usr/share/java/jakarta-mail/jakarta.mail.jar
# jmc-core
# jmc-core
_symlink org.openjdk.jmc.common_ common.jar
_symlink org.openjdk.jmc.flightrecorder_ flightrecorder.jar
_symlink org.openjdk.jmc.flightrecorder.rules_ flightrecorder.rules.jar
_symlink org.openjdk.jmc.flightrecorder.rules.jdk_ flightrecorder.rules.jdk.jar
popd
popd

View File

@ -1,31 +1,28 @@
# Version
%global major 8
%global minor 2
%global patchlevel 0
%global minor 0
%global patchlevel 1
# Revision
%global revnum 13
%global revnum 4
# set to 1 for snapshots, 0 for release
%global usesnapshot 1
%global usesnapshot 0
# SNAPSHOT version
%global revhash 7f42e4a10291d7e9316711edd81a183951cdae57
%global revdate 20220203
%global revhash 699a121bd449fe8a9350221282bd3f809691a766
%global revdate 20210623
%global tarball_name %{major}.%{minor}.%{patchlevel}-ga.tar.gz
%global tarball_name jmc-%{revhash}
# Install jmc in /usr/lib/jmc (arch-specific and multilib exempt)
%global _jmcdir %{_prefix}/lib/%{name}
%global jmc_dir_name jmc-%{major}.%{minor}.%{patchlevel}-ga
%global debug_package %{nil}
%if %{usesnapshot}
%global releasestr %{revnum}.%{revdate}
%global repositorystr repository-%{major}.%{minor}.%{patchlevel}-%{revdate}.tar.gz
%else
%global releasestr %{revnum}
%global repositorystr repository-%{major}.%{minor}.%{patchlevel}.tar.gz
%endif
%ifarch %{ix86}
@ -42,497 +39,95 @@
%global __provides_exclude_from ^%{_jmcdir}/plugins/org.eclipse.*$
%global __requires_exclude_from ^%{_jmcdir}/plugins/org.eclipse.*$
%global __requires_exclude ^osgi\\((javax|org\\.apache|org\\.eclipse|org\\.sat4j|org\\.w3c).*$
%global __requires_exclude ^osgi\\((javax|org\\.apache|org\\.eclipse|org\\.sat4j).*$
%global __provides_exclude ^osgi\\((com|javax|org\\.apache|org\\.glassfish|org\\.kxml2|org\\.sat4j|org\\.tukaani|org\\.w3c|org\\.xmlpull).*$
Name: jmc
Version: %{major}.%{minor}.%{patchlevel}
Release: %{releasestr}%{?dist}.2
Release: %{releasestr}%{?dist}
Summary: JDK Mission Control is a profiling and diagnostics tool
# jmc source README.md states: The Mission Control source code is made
# available under the Universal Permissive License (UPL), Version 1.0 or a
# BSD-style license, alternatively. The full open source license text is
# available at license/LICENSE.txt in the JMC project.
License: UPL or BSD
License: UPL
URL: http://openjdk.java.net/projects/jmc/
Source0: %{tarball_name}
Source1: %{repositorystr}
Source2: %{name}.desktop
Source3: %{name}.1
Source4: symlink_libs.sh
Source5: %{name}.appdata.xml
Source0: https://github.com/openjdk/jmc/archive/%{revhash}.tar.gz
Source1: %{name}.desktop
Source2: %{name}.1
Source3: symlink_libs.sh
# The JavaScript visualizations fetch the required JS files at build time and
# are loaded into the HTML template by the corresponding Java class. This patch
# instead inlines the scripts so there's no build-time fetching.
Patch0: 0-inline-javascript-into-templates.patch
# Remove Windows and Mac environments
Patch1: 1-remove-non-linux-environments.patch
# Now that Fedora & related build systems are using JDK 17 by default, this patch
# prevents the running of the core flightrecorder.writer tests which fail in JDK 17.
# It fails due to an incapability with mockito, and it's possible that this will be
# addressed in a future commit to JMC, but is not a priority at the moment.
# For the time being, skip these tests, and be mindful when generating the local Maven
# repo that this patch might need to be manually applied as well in order for the
# core artifacts to install properly.
# Note: this can be fixed upstream by updating mockito to at least v3.10.0
Patch2: 2-skip-writer-tests.patch
# Remove optional twitter related functionality
Patch0: 0-remove-twitter.patch
# Remove maven build profiles that won't be used in local build
Patch1: 1-remove-profiles.patch
# Remove localization files that currently cannot be supported
# due to a packaging issue for Eclipse language packs
# eclipse-nls-ja and eclipse-nls-zh
# They currently provide multiple archs within the same package
# and the local build system cannot fulfill dependencies from them
Patch2: 2-remove-localization.patch
# Remove unused module org.openjdk.jmc.ide.jdt
Patch3: 3-remove-ide-jdt.patch
# Remove unused remote repository definition
Patch4: 4-remove-buchen-repo.patch
# Add dependency on org. hamcrest-core to provide class used in unit tests
Patch5: 5-add-hamcrest.patch
# Remove windows and mac arches
Patch6: 6-remove-arch.patch
# Remove unnecessary dependency
Patch7: 7-remove-jacoco-dep.patch
# Revert downloading of flameview assets from the web
Patch8: 8-revert-flameview.patch
# Drop JFR flags (temporary)
Patch9: 9-update-flags.patch
# Revert the adjusted lz4-java name as seen in jmc
Patch10: 10-revert-lz4-java-name-override.patch
# Patch pom.xml Use to tycho version 2.1
Patch11: 11-tycho.patch
# Revert downloading of graphview assets from the web
Patch12: 12-revert-graphview.patch
# Simplify the path to the jmc product
Patch13: 13-revert-6852.patch
# Update javamail dependency names
Patch14: 14-fix-javamail.patch
# Revert usage of ResourceLocator as it isn't available in Eclipse 4.12
Patch15: 15-revert-resourcelocator.patch
# Remove Chromium (currently Windows-only) from the plugin list
Patch16: 16-remove-chromium.patch
# Revert usage of List.of in GraphView
Patch17: 17-revert-list-of.patch
# Dependencies are bundled into a tar.gz and passed as a local maven repository for the build
ExclusiveArch: x86_64
BuildRequires: desktop-file-utils
BuildRequires: java-11-openjdk
BuildRequires: libappstream-glib
BuildRequires: maven-local
Requires: gtk3
Requires: java-11-openjdk
Requires: libGLU.so.1()(64bit)
Requires: webkitgtk4
BuildRequires: eclipse-pde
BuildRequires: tycho
Provides: bundled(osgi(com.ibm.icu)) = 67.1.0
Provides: bundled(osgi(com.sun.activation.jakarta.activation)) = 2.0.1
Provides: bundled(osgi(com.sun.el)) = 2.2.0
Provides: bundled(osgi(com.sun.jna)) = 5.8.0
Provides: bundled(osgi(com.sun.jna.platform)) = 5.8.0
Provides: bundled(osgi(com.sun.mail.jakarta.mail)) = 2.0.1
Provides: bundled(osgi(jakarta.servlet-api)) = 4.0.0
Provides: bundled(osgi(javax.annotation)) = 1.3.5
Provides: bundled(osgi(javax.el)) = 2.2.0
Provides: bundled(osgi(javax.inject)) = 1.0.0
Provides: bundled(osgi(javax.servlet.jsp)) = 2.2.0
Provides: bundled(osgi(lz4-java)) = 1.8.0
Provides: bundled(osgi(org.apache.aries.spifly.dynamic.bundle)) = 1.3.4
Provides: bundled(osgi(org.apache.batik.constants)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.css)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.i18n)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.util)) = 1.14.0
Provides: bundled(osgi(org.apache.commons.codec)) = 1.14.0
Provides: bundled(osgi(org.apache.commons.io)) = 2.8.0
Provides: bundled(osgi(org.apache.commons.jxpath)) = 1.3.0
Provides: bundled(osgi(org.apache.commons.logging)) = 1.2.0
Provides: bundled(osgi(org.apache.felix.gogo.command)) = 1.1.2
Provides: bundled(osgi(org.apache.felix.gogo.runtime)) = 1.1.4
Provides: bundled(osgi(org.apache.felix.gogo.shell)) = 1.1.4
Provides: bundled(osgi(org.apache.felix.scr)) = 2.1.24
Provides: bundled(osgi(org.apache.httpcomponents.httpclient)) = 4.5.13
Provides: bundled(osgi(org.apache.httpcomponents.httpcore)) = 4.4.14
Provides: bundled(osgi(org.apache.jasper.glassfish)) = 2.2.2
Provides: bundled(osgi(org.apache.lucene.analyzers-common)) = 8.4.1
Provides: bundled(osgi(org.apache.lucene.analyzers-smartcn)) = 8.4.1
Provides: bundled(osgi(org.apache.lucene.core)) = 8.4.1
Provides: bundled(osgi(org.apache.xmlgraphics)) = 2.6.0
Provides: bundled(osgi(org.apiguardian)) = 1.1.0
Provides: bundled(osgi(org.bouncycastle.bcpg)) = 1.69.0
Provides: bundled(osgi(org.bouncycastle.bcprov)) = 1.69.0
Provides: bundled(osgi(org.eclipse.core.commands.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.commands.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.contenttype)) = 3.8.0
Provides: bundled(osgi(org.eclipse.core.contenttype.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.contenttype.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans)) = 1.8.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable)) = 1.11.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.property)) = 1.9.0
Provides: bundled(osgi(org.eclipse.core.databinding.property.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.property.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.expressions)) = 3.8.0
Provides: bundled(osgi(org.eclipse.core.expressions.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.expressions.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.jobs)) = 3.12.0
Provides: bundled(osgi(org.eclipse.core.jobs.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.jobs.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.resources.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.resources.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.runtime)) = 3.23.0
Provides: bundled(osgi(org.eclipse.core.runtime.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.runtime.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.variables.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.variables.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.debug.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.debug.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.commands)) = 1.0.0
Provides: bundled(osgi(org.eclipse.e4.core.commands.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.commands.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts)) = 1.9.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di)) = 1.8.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations)) = 1.7.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions)) = 0.17.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.supplier.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.supplier.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.services)) = 2.3.0
Provides: bundled(osgi(org.eclipse.e4.core.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath)) = 0.3.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.bindings.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.bindings.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme)) = 0.13.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di)) = 1.4.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs)) = 1.3.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench)) = 2.2.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.services)) = 1.5.0
Provides: bundled(osgi(org.eclipse.e4.ui.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.swt.gtk.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.swt.gtk.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets)) = 1.3.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench)) = 1.13.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3)) = 0.16.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.addons.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.addons.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.renderers.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.renderers.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.emf.common)) = 2.23.0
Provides: bundled(osgi(org.eclipse.emf.ecore)) = 2.25.0
Provides: bundled(osgi(org.eclipse.emf.ecore.change)) = 2.14.0
Provides: bundled(osgi(org.eclipse.emf.ecore.xmi)) = 2.16.0
Provides: bundled(osgi(org.eclipse.equinox.app)) = 1.6.0
Provides: bundled(osgi(org.eclipse.equinox.app.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.app.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.bidi)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.bidi.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.bidi.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.common)) = 3.15.0
Provides: bundled(osgi(org.eclipse.equinox.common.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.common.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.console.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.console.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.event)) = 1.6.0
Provides: bundled(osgi(org.eclipse.equinox.event.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.event.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin)) = 2.2.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.equinox.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.equinox.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty)) = 3.8.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.servlet.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.servlet.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.artifact.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.artifact.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core)) = 2.8.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.engine.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.engine.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations)) = 2.6.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse)) = 1.4.1
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.eclipse.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.eclipse.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.natives.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.natives.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.transport.ecf.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.transport.ecf.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk)) = 1.2.1
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.scheduler.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.scheduler.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.preferences)) = 3.9.0
Provides: bundled(osgi(org.eclipse.equinox.preferences.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.preferences.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.registry)) = 3.11.0
Provides: bundled(osgi(org.eclipse.equinox.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator)) = 2.2.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.base.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.base.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.webapp.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.webapp.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jetty.http)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.http)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.io)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.io)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.security)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.security)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.server)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.servlet)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.servlet)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.util)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.util)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.util.ajax)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.webapp)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.api)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.common)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.core.common)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.core.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.servlet)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.xml)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jface)) = 3.23.0
Provides: bundled(osgi(org.eclipse.jface.databinding)) = 1.13.0
Provides: bundled(osgi(org.eclipse.jface.databinding.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.databinding.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.notifications)) = 0.3.0
Provides: bundled(osgi(org.eclipse.jface.notifications.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.notifications.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.text.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.text.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi)) = 3.17.0
Provides: bundled(osgi(org.eclipse.osgi.compatibility.state.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.compatibility.state.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.util.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.util.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.rcp)) = 4.21.0
Provides: bundled(osgi(org.eclipse.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.text)) = 3.12.0
Provides: bundled(osgi(org.eclipse.text.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.text.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.forms.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.forms.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.intro.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.intro.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.net)) = 1.4.0
Provides: bundled(osgi(org.eclipse.ui.net.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.net.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.views.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.views.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.update.configurator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.update.configurator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.urischeme)) = 1.2.0
Provides: bundled(osgi(org.eclipse.urischeme.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.urischeme.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.hamcrest.core)) = 1.3.0
Provides: bundled(osgi(org.hdrhistogram.HdrHistogram)) = 2.1.12
Provides: bundled(osgi(org.junit)) = 4.13.0
Provides: bundled(osgi(org.junit.jupiter.api)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.engine)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.migrationsupport)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.params)) = 5.7.1
Provides: bundled(osgi(org.junit.platform.commons)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.engine)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.launcher)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.runner)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.suite.api)) = 1.7.1
Provides: bundled(osgi(org.junit.vintage.engine)) = 5.7.1
Provides: bundled(osgi(org.objectweb.asm)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.commons)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.tree)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.tree.analysis)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.util)) = 9.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.attach)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.commands)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.common)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.agent)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.configuration)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.flameview)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.graphview)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.heatmap)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules.extensionprovider)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules.jdk)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.serializers)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.jdp)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.joverflow)) = 1.0.0
Provides: bundled(osgi(org.openjdk.jmc.joverflow.ui)) = 1.0.1
Provides: bundled(osgi(org.openjdk.jmc.osgi.extension)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ext)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.services.jfr)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.celleditors)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.common)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.opentest4j)) = 1.2.0
Provides: bundled(osgi(org.owasp.encoder)) = 1.2.3
Provides: bundled(osgi(org.sat4j.core)) = 2.3.5
Provides: bundled(osgi(org.sat4j.pb)) = 2.3.5
Provides: bundled(osgi(org.slf4j.api)) = 1.7.30
Provides: bundled(osgi(org.tukaani.xz)) = 1.9.0
Provides: bundled(osgi(org.w3c.css.sac)) = 1.3.1
Provides: bundled(osgi(org.w3c.dom.events)) = 3.0.0
Provides: bundled(osgi(org.w3c.dom.smil)) = 1.0.1
Provides: bundled(osgi(org.w3c.dom.svg)) = 1.1.0
BuildRequires: HdrHistogram >= 2.1.11
BuildRequires: javamail
BuildRequires: mvn(org.commonjava.maven.plugins:directory-maven-plugin)
BuildRequires: mvn(com.sun.activation:jakarta.activation)
BuildRequires: mvn(org.openjdk.jmc:common)
BuildRequires: osgi(org.openjdk.jmc.flightrecorder.test)
BuildRequires: osgi(javax.annotation-api)
Requires: java-openjdk >= 1:1.8
Requires: lz4-java
Requires: osgi(com.sun.activation.jakarta.activation)
Requires: osgi(org.openjdk.jmc.common)
Requires: osgi(org.openjdk.jmc.flightrecorder)
Requires: osgi(org.openjdk.jmc.flightrecorder.rules)
Requires: osgi(org.openjdk.jmc.flightrecorder.rules.jdk)
Requires: osgi(org.owasp.encoder)
Requires: osgi(org.hdrhistogram.HdrHistogram) >= 2.1.11
Requires: gtk3
Requires: webkitgtk4
Requires: libGLU.so.1()(64bit)
%description
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
@ -542,34 +137,57 @@ developers and administrators to collect and analyze data from Java
applications running locally or deployed in production environments.
%prep
%setup -q -n %{jmc_dir_name}
%setup -q -T -D -a 1 -n %{jmc_dir_name}
%setup -q -n %{tarball_name}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
# Build & install jmc core libraries
# Skip the JDP Multicast Tests that don't work offline/under a VPN
mvn -Dmaven.repo.local=repository-%{version}-%{revdate} -o clean install -f core/pom.xml -DskipJDPMulticastTests=true
%pom_remove_plugin org.codehaus.mojo:flatten-maven-plugin
%pom_remove_plugin com.github.spotbugs:spotbugs-maven-plugin
# Info.plist are mac files and we only build for Linux
%pom_remove_plugin name.abuchen:fix-info-plist-maven-plugin application/org.openjdk.jmc.rcp.product
%pom_disable_module releng
%pom_disable_module l10n application
%pom_disable_module org.openjdk.jmc.updatesite.ide application
%pom_disable_module org.openjdk.jmc.updatesite.rcp application
# disable tests that require the use of jfr
%pom_disable_module org.openjdk.jmc.rjmx.services.jfr.test application/tests
%pom_disable_module org.openjdk.jmc.flightrecorder.controlpanel.ui.test application/tests
# ide.launch tests expect SWT to be installed, but we're leveraging a local repository instead
%pom_disable_module org.openjdk.jmc.ide.launch.test application/tests
%pom_remove_plugin com.github.spotbugs:spotbugs-maven-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :jacoco-maven-plugin application/tests
%pom_remove_plugin :jacoco-maven-plugin application/uitests
%pom_disable_module coverage application
# Info.plist are mac files and we only build for Linux
%pom_remove_plugin name.abuchen:fix-info-plist-maven-plugin application/org.openjdk.jmc.rcp.product
%pom_remove_plugin org.codehaus.mojo:buildnumber-maven-plugin
%pom_remove_plugin org.apache.maven.plugins:maven-deploy-plugin
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV"
%build
# some tests require large heap and fail with OOM
# depending on the builder resources
mvn -Dmaven.repo.local=repository-%{version}-%{revdate} verify -o -Dmaven.test.failure.ignore=true -DskipJDPMulticastTests=true -DbuildId=rhel -DbuildNumber=%{revhash} -Dbuild.date=%{revdate}
%mvn_build -j -- -Dmaven.test.failure.ignore=true -DbuildId=rhel -DbuildNumber=%{revhash} -Dbuild.date=%{revdate}
%install
@ -577,15 +195,15 @@ mvn -Dmaven.repo.local=repository-%{version}-%{revdate} verify -o -Dmaven.test.f
# we want to install JMC as an RCP application
# change jmc.ini to use system java (remove -vm option line)
sed -i '/^-vm$/d' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
sed -i '/^-vm$/d' %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
# specify a new location for eclipse config files (at ~/.jmc/${version}/eclipse) so it doesn't interfere with other eclipse installations
sed -i '$ a -Dosgi.configuration.area=@user.home/.%{name}/%{version}/eclipse' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
# add IgnoreUnrecognizedVMOptions flag to allow running on OpenJDK 8 without 'Unrecognized VM option' error
sed -i '/^-vmargs$/a -XX:+IgnoreUnrecognizedVMOptions' %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
# move contents of target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control' to /usr/lib/jmc/
# move contents of target/products/org.openjdk.jmc/${_os}/gtk/%{eclipse_arch}/ to /usr/lib/jmc/
install -d -m 755 %{buildroot}%{_jmcdir}
cp -p -r %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/* %{buildroot}%{_jmcdir}/
cp -p -r %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/* %{buildroot}%{_jmcdir}/
# move jmc.ini to /etc/jmc.ini
install -d -m 755 %{buildroot}%{_sysconfdir}
@ -596,19 +214,22 @@ ln -s %{_sysconfdir}/%{name}.ini %{buildroot}%{_jmcdir}/%{name}.ini
install -d -m 755 %{buildroot}%{_bindir}
ln -s %{_jmcdir}/%{name} %{buildroot}%{_bindir}/%{name}
# replace jars with symlinks to installed libraries
bash %{SOURCE3} %{buildroot}%{_jmcdir}/plugins %{_javadir} %{_jnidir} %{_javadir_maven} %{_jnidir_maven} %{_javadir}/jmc-core
# create application launcher in desktop menu
install -d -m 755 %{buildroot}%{_datadir}/pixmaps
mv %{buildroot}%{_jmcdir}/icon.xpm %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
chmod 644 %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
# install pom file
install -d -m 755 %{buildroot}%{_datadir}/maven-poms/%{name}
install -p -m 644 %{_builddir}/%{jmc_dir_name}/pom.xml %{buildroot}%{_datadir}/maven-poms/%{name}/%{name}.pom
install -p -m 644 %{_builddir}/%{tarball_name}/pom.xml %{buildroot}%{_datadir}/maven-poms/%{name}/%{name}.pom
# install manpage and insert location of config file
install -d -m 755 %{buildroot}%{_mandir}/man1
install -p -m 644 %{SOURCE3} %{buildroot}%{_mandir}/man1/%{name}.1
install -p -m 644 %{SOURCE2} %{buildroot}%{_mandir}/man1/%{name}.1
sed -i "/.SH FILES/a .I %{_sysconfdir}/%{name}.ini" %{buildroot}%{_mandir}/man1/%{name}.1
%files
@ -624,62 +245,69 @@ sed -i "/.SH FILES/a .I %{_sysconfdir}/%{name}.ini" %{buildroot}%{_mandir}/man1/
%{_datadir}/applications/%{name}.desktop
%changelog
* Mon Dec 5 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-3
- Fix provides and requires exclusions. Related: rhbz#2122401
* Tue Oct 05 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.1-4
- Rebuild with updated dependencies
* Fri Dec 2 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-3
- Bumping Package NVR. Related: rhbz#2122401
* Thu Aug 26 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.1-3
- Bump version to build with updated tycho
* Wed Nov 30 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-2
- Updating package for move to CRB. Related: rhbz#2122401
* Wed Aug 19 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.1-2
- Re-set the buildId, buildNumber, and build.date during maven build
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Aug 10 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-1
- Update to jmc 8.0.1-ga
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-9.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Aug 10 2021 Alex Macdonald <almacdon@redhat.com> - 8.1.0-1
- Update to jmc-ga tagged commit d0f89f0
* Fri Jan 22 2020 Jie Kang <jkang@redhat.com> - 7.1.1-9
- Rebuild for updated jna and tycho 2.x
* Wed Feb 24 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-8
- Set the buildId, buildNumber, and build.date during maven build
* Fri Nov 06 2020 Jie Kang <jkang@redhat.com> - 7.1.1-8
- Use jakarta-mail
* Fri Feb 19 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-7
- Fix incorrect macro for name
* Mon Sep 21 2020 Jie Kang <jkang@redhat.com> - 7.1.1-7
- Update license. Use javamail until jakarta-mail is included
- Add appdata and validate it
* Fri Feb 19 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-6
- Revert previous JAVA_HOME export
- Add patch to remove use of List.of in GraphView
* Fri Aug 28 2020 Jie Kang <jkang@redhat.com> - 7.1.1-6
- Update to latest upstream
- Drop javax dependencies
- Clean spec
* Fri Feb 19 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-5
- Export JAVA_HOME to be openjdk 11
* Fri Aug 07 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-5
- Update symlink to match javamail version in rpms/javamail
- Version 1.6.5 is compatible with 1.6.3 according to the upstream compatibility notes
* Thu Feb 18 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-4
- Revert usage of ResourceLocator to be eclipse 4.12 compliant
* Wed Jul 29 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-4
- Update symlink script with path to jakarta-activation
* Wed Feb 17 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-3
- Revert removal of fix-javamail patch
* Mon Apr 27 2020 Jie Kang <jkang@redhat.com> - 7.1.1-3
- Update to upstream 7.1.1 ga commit
* Wed Feb 17 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-2
- Revert osgi reference from jakarta.annotation to javax.annotation
* Wed Mar 11 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-2
- Update to latest upstream (to include JMC-6728)
* Fri Feb 12 2021 Alex Macdonald <almacdon@redhat.com> - 8.0.0-1
- Update to jmc8 branch commit 8ab40bf
* Tue Feb 25 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-1
- Update to latest upstream
* Thu Apr 23 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-5
- Update jacoco removal patch
* Tue Feb 18 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.0-2
- Add backports of JMC-6554 & JMC-6692 on top of JMC 7 for improved handling of OpenJDK8+JFR
* Thu Apr 23 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-4
- Update to latest commit e67446b5fc9d
* Thu Jan 09 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.0-1
- Update to latest upstream (7.1.0-ga)
- Update the jmc7 branch to more closely resemble files of the main jmc branch
- Addition of Patch9 and Patch10, updated symlink_libs.sh
* Fri Apr 17 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-3
- include jmc-core in the directories to search in symlink_libs.sh
* Tue Sep 24 2019 Jie Kang <jkang@redhat.com> - 7.0.0-1
- Update to latest upstream with minor bug fixes
* Fri Apr 17 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-2
- Remove jacoco from the pom and disable coverage
* Mon Jun 03 2019 Jie Kang <jkang@redhat.com> - 7.0.0-0
* Thu Apr 16 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-1
- Updated to version 7.1.1
* Thu Nov 14 2019 Jie Kang <jkang@redhat.com> - 7.0.0-4
- Fix requires
* Wed Nov 13 2019 Jie Kang <jkang@redhat.com> - 7.0.0-3
- Fix exclusions
* Wed Nov 13 2019 Jie Kang <jkang@redhat.com> - 7.0.0-2
- Update require and provide exclusions
* Tue Mar 12 2019 Jie Kang <jkang@redhat.com> - 7.0.0-1
- Initial package