< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java

Print this page

        

*** 25,35 **** --- 25,37 ---- package jdk.tools.jlink.internal; import java.lang.module.Configuration; import java.lang.module.ModuleFinder; import java.nio.ByteOrder; + import java.nio.file.Files; import java.nio.file.Path; + import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects;
*** 144,191 **** /** * Jlink configuration. Instances of this class are used to configure jlink. */ public static final class JlinkConfiguration { - private final List<Path> modulepaths; private final Path output; private final Set<String> modules; - private final Set<String> limitmods; private final ByteOrder endian; private final ModuleFinder finder; /** * jlink configuration, * * @param output Output directory, must not exist. - * @param modulepaths Modules paths * @param modules The possibly-empty set of root modules to resolve - * @param limitmods Limit the universe of observable modules * @param endian Jimage byte order. Native order by default */ public JlinkConfiguration(Path output, - List<Path> modulepaths, Set<String> modules, ! Set<String> limitmods, ! ByteOrder endian) { ! if (Objects.requireNonNull(modulepaths).isEmpty()) { ! throw new IllegalArgumentException("Empty module path"); ! } ! this.output = output; - this.modulepaths = modulepaths; this.modules = Objects.requireNonNull(modules); - this.limitmods = Objects.requireNonNull(limitmods); this.endian = Objects.requireNonNull(endian); ! this.finder = moduleFinder(); ! } ! ! /** ! * @return the modulepaths ! */ ! public List<Path> getModulepaths() { ! return modulepaths; } /** * @return the byte ordering */ --- 146,176 ---- /** * Jlink configuration. Instances of this class are used to configure jlink. */ public static final class JlinkConfiguration { private final Path output; private final Set<String> modules; private final ByteOrder endian; private final ModuleFinder finder; /** * jlink configuration, * * @param output Output directory, must not exist. * @param modules The possibly-empty set of root modules to resolve * @param endian Jimage byte order. Native order by default + * @param finder the ModuleFinder for this configuration */ public JlinkConfiguration(Path output, Set<String> modules, ! ByteOrder endian, ! ModuleFinder finder) { this.output = output; this.modules = Objects.requireNonNull(modules); this.endian = Objects.requireNonNull(endian); ! this.finder = finder; } /** * @return the byte ordering */
*** 206,222 **** public Set<String> getModules() { return modules; } /** - * @return the limitmods - */ - public Set<String> getLimitmods() { - return limitmods; - } - - /** * Returns {@link ModuleFinder} that finds all observable modules * for this jlink configuration. */ public ModuleFinder finder() { return finder; --- 191,200 ----
*** 242,282 **** return Configuration.empty().resolve(finder, ModuleFinder.of(), modules); } - private ModuleFinder moduleFinder() { - Path[] entries = modulepaths.toArray(new Path[0]); - ModuleFinder finder = ModulePath.of(Runtime.version(), true, entries); - if (!limitmods.isEmpty()) { - finder = JlinkTask.limitFinder(finder, limitmods, modules); - } - return finder; - } - @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("output=").append(output).append("\n"); - StringBuilder pathsBuilder = new StringBuilder(); - for (Path p : modulepaths) { - pathsBuilder.append(p).append(","); - } - builder.append("modulepaths=").append(pathsBuilder).append("\n"); - StringBuilder modsBuilder = new StringBuilder(); for (String p : modules) { modsBuilder.append(p).append(","); } builder.append("modules=").append(modsBuilder).append("\n"); - - StringBuilder limitsBuilder = new StringBuilder(); - for (String p : limitmods) { - limitsBuilder.append(p).append(","); - } - builder.append("limitmodules=").append(limitsBuilder).append("\n"); builder.append("endian=").append(endian).append("\n"); return builder.toString(); } } --- 220,239 ----
< prev index next >