Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 17 jdk.jlink.jmod - JLink Tool
JDK 17 jdk.jlink.jmod is the JMOD file for JDK 17 JLink tool,
which can be invoked by the "jlink" command.
JDK 17 JLink tool compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.jlink.jmod.
JDK 17 JLink tool compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 JLink tool source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.jlink.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/tools/jlink/internal/ImagePluginConfiguration.java
/*
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package jdk.tools.jlink.internal;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import jdk.tools.jlink.builder.ImageBuilder;
import jdk.tools.jlink.plugin.Plugin;
import jdk.tools.jlink.plugin.Plugin.Category;
import jdk.tools.jlink.plugin.PluginException;
import jdk.tools.jlink.plugin.ResourcePool;
/**
* Plugins configuration.
*/
public final class ImagePluginConfiguration {
// Order in which plugins are applied. Note that COMPRESSOR type plugins should come
// after any plugin that reads .class resources and operate on binary data.
// Plugin.Category enum element order matches this order for ease of read.
private static final List<Category> CATEGORIES_ORDER = new ArrayList<>();
static {
CATEGORIES_ORDER.add(Category.FILTER);
CATEGORIES_ORDER.add(Category.ADDER);
CATEGORIES_ORDER.add(Category.TRANSFORMER);
CATEGORIES_ORDER.add(Category.MODULEINFO_TRANSFORMER);
CATEGORIES_ORDER.add(Category.SORTER);
CATEGORIES_ORDER.add(Category.METAINFO_ADDER);
CATEGORIES_ORDER.add(Category.COMPRESSOR);
CATEGORIES_ORDER.add(Category.VERIFIER);
CATEGORIES_ORDER.add(Category.PROCESSOR);
CATEGORIES_ORDER.add(Category.PACKAGER);
}
private ImagePluginConfiguration() {
}
/*
* Create a stack of plugins from a a configuration.
*/
public static ImagePluginStack parseConfiguration(Jlink.PluginsConfiguration pluginsConfiguration)
throws Exception {
if (pluginsConfiguration == null) {
return new ImagePluginStack();
}
Map<Category, List<Plugin>> plugins = new LinkedHashMap<>();
for (Category cat : CATEGORIES_ORDER) {
plugins.put(cat, new ArrayList<>());
}
List<String> seen = new ArrayList<>();
// split into categories and check for plugin with same name.
for (Plugin plug : pluginsConfiguration.getPlugins()) {
if (seen.contains(plug.getName())) {
throw new Exception("Plugin " + plug.getName()
+ " added more than once to stack ");
}
seen.add(plug.getName());
Category category = plug.getType();
if (category == null) {
throw new PluginException("Invalid category for "
+ plug.getName());
}
List<Plugin> lst = plugins.get(category);
lst.add(plug);
}
List<Plugin> orderedPlugins = new ArrayList<>();
plugins.entrySet().stream().forEach((entry) -> {
orderedPlugins.addAll(entry.getValue());
});
Plugin lastSorter = null;
for (Plugin plugin : orderedPlugins) {
if (plugin.getName().equals(pluginsConfiguration.getLastSorterPluginName())) {
lastSorter = plugin;
break;
}
}
if (pluginsConfiguration.getLastSorterPluginName() != null && lastSorter == null) {
throw new IOException("Unknown last plugin "
+ pluginsConfiguration.getLastSorterPluginName());
}
ImageBuilder builder = pluginsConfiguration.getImageBuilder();
if (builder == null) {
// This should be the case for jimage only creation or post-install.
builder = new ImageBuilder() {
@Override
public DataOutputStream getJImageOutputStream() {
throw new PluginException("No directory setup to store files");
}
@Override
public ExecutableImage getExecutableImage() {
throw new PluginException("No directory setup to store files");
}
@Override
public void storeFiles(ResourcePool files) {
throw new PluginException("No directory setup to store files");
}
};
}
return new ImagePluginStack(builder, orderedPlugins, lastSorter);
}
}
⏎ jdk/tools/jlink/internal/ImagePluginConfiguration.java
Or download all of them as a single archive file:
File name: jdk.jlink-17.0.5-src.zip File size: 164180 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.jpackage.jmod - JPackage Tool
2023-08-03, ≈13🔥, 0💬
Popular Posts:
Guava is a suite of core and expanded libraries that include utility classes, google's collections, ...
How to run "jar" command from JDK tools.jar file? "jar" is the JAR (Java Archive) file management co...
MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG 1/2/2.5 Layer 1/2/3) audio format su...
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...
What Is javaws.jar in JRE (Java Runtime Environment) 8? javaws.jar in JRE (Java Runtime Environment)...