< prev index next >
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java
Print this page
*** 30,39 ****
--- 30,40 ----
import java.io.OutputStream;
import java.nio.ByteOrder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
*** 75,105 ****
}
public static ExecutableImage create(Set<Archive> archives,
ImagePluginStack plugins)
throws IOException {
! return ImageFileCreator.create(archives, ByteOrder.nativeOrder(),
plugins);
}
public static ExecutableImage create(Set<Archive> archives,
ByteOrder byteOrder)
throws IOException {
! return ImageFileCreator.create(archives, byteOrder,
new ImagePluginStack());
}
public static ExecutableImage create(Set<Archive> archives,
ByteOrder byteOrder,
ImagePluginStack plugins)
throws IOException
{
ImageFileCreator image = new ImageFileCreator(plugins);
try {
image.readAllEntries(archives);
// write to modular image
! image.writeImage(archives, byteOrder);
} finally {
//Close all archives
for (Archive a : archives) {
a.close();
}
--- 76,107 ----
}
public static ExecutableImage create(Set<Archive> archives,
ImagePluginStack plugins)
throws IOException {
! return ImageFileCreator.create(archives, Collections.emptySet(), ByteOrder.nativeOrder(),
plugins);
}
public static ExecutableImage create(Set<Archive> archives,
ByteOrder byteOrder)
throws IOException {
! return ImageFileCreator.create(archives, Collections.emptySet(), byteOrder,
new ImagePluginStack());
}
public static ExecutableImage create(Set<Archive> archives,
+ Set<String> rootModules,
ByteOrder byteOrder,
ImagePluginStack plugins)
throws IOException
{
ImageFileCreator image = new ImageFileCreator(plugins);
try {
image.readAllEntries(archives);
// write to modular image
! image.writeImage(archives, rootModules, byteOrder);
} finally {
//Close all archives
for (Archive a : archives) {
a.close();
}
*** 151,171 ****
}
}
}
private void writeImage(Set<Archive> archives,
ByteOrder byteOrder)
throws IOException {
BasicImageWriter writer = new BasicImageWriter(byteOrder);
ResourcePoolManager allContent = createPoolManager(archives,
entriesForModule, byteOrder, writer);
ResourcePool result = generateJImage(allContent,
writer, plugins, plugins.getJImageFileOutputStream());
//Handle files.
try {
! plugins.storeFiles(allContent.resourcePool(), result, writer);
} catch (Exception ex) {
if (JlinkTask.DEBUG) {
ex.printStackTrace();
}
throw new IOException(ex);
--- 153,174 ----
}
}
}
private void writeImage(Set<Archive> archives,
+ Set<String> rootModules,
ByteOrder byteOrder)
throws IOException {
BasicImageWriter writer = new BasicImageWriter(byteOrder);
ResourcePoolManager allContent = createPoolManager(archives,
entriesForModule, byteOrder, writer);
ResourcePool result = generateJImage(allContent,
writer, plugins, plugins.getJImageFileOutputStream());
//Handle files.
try {
! plugins.storeFiles(rootModules, allContent.resourcePool(), result, writer);
} catch (Exception ex) {
if (JlinkTask.DEBUG) {
ex.printStackTrace();
}
throw new IOException(ex);
< prev index next >