< prev index next >

modules/jdk.packager/src/main/java/jdk/packager/internal/RedistributableModules.java

Print this page




  28 import com.oracle.tools.packager.IOUtils;
  29 import java.io.BufferedReader;
  30 import java.io.File;
  31 import java.io.IOException;
  32 import java.io.InputStream;
  33 import java.io.InputStreamReader;
  34 import java.io.UnsupportedEncodingException;
  35 import java.nio.file.Path;
  36 import java.nio.file.Paths;
  37 import java.util.Optional;
  38 
  39 import jdk.tools.jlink.internal.packager.AppRuntimeImageBuilder;
  40 
  41 import java.lang.module.ModuleDescriptor;
  42 import java.lang.module.ModuleFinder;
  43 import java.lang.module.ModuleReference;
  44 import java.lang.module.ModuleReader;
  45 
  46 import java.nio.file.Path;
  47 import java.nio.file.Paths;

  48 import java.util.LinkedHashSet;
  49 import java.util.List;
  50 import java.util.Set;
  51 import java.util.logging.Level;
  52 import java.util.logging.Logger;
  53 
  54 
  55 public final class RedistributableModules {
  56     private static final String JDK_PACKAGER_MODULE = "jdk.packager";
  57     private static final String REDISTRIBUTABLE_MODULES_FILENAME = "jdk/packager/internal/resources/tools/redistributable-files/redistributable.list";
  58 
  59     private RedistributableModules() {}
  60 
  61     public static Set<String> getRedistributableModules(List<Path> modulePath, Set<String> addModules, Set<String> limitModules) {
  62         Set<String> result = null;


  63         ModuleFinder finder = AppRuntimeImageBuilder.moduleFinder(modulePath, addModules, limitModules);
  64         Optional<ModuleReference> mref = finder.find(JDK_PACKAGER_MODULE);
  65 
  66         if (mref.isPresent()) {
  67             ModuleReader reader = null;
  68 
  69             try {
  70                 reader = mref.get().open();
  71             } catch (IOException ex) {
  72             }
  73 
  74             if (reader != null) {
  75                 Optional<InputStream> stream = null;
  76 
  77                 try {
  78                     stream = reader.open(REDISTRIBUTABLE_MODULES_FILENAME);
  79                 } catch (IOException ex) {
  80                 }
  81 
  82                 if (stream != null) {




  28 import com.oracle.tools.packager.IOUtils;
  29 import java.io.BufferedReader;
  30 import java.io.File;
  31 import java.io.IOException;
  32 import java.io.InputStream;
  33 import java.io.InputStreamReader;
  34 import java.io.UnsupportedEncodingException;
  35 import java.nio.file.Path;
  36 import java.nio.file.Paths;
  37 import java.util.Optional;
  38 
  39 import jdk.tools.jlink.internal.packager.AppRuntimeImageBuilder;
  40 
  41 import java.lang.module.ModuleDescriptor;
  42 import java.lang.module.ModuleFinder;
  43 import java.lang.module.ModuleReference;
  44 import java.lang.module.ModuleReader;
  45 
  46 import java.nio.file.Path;
  47 import java.nio.file.Paths;
  48 import java.util.HashSet;
  49 import java.util.LinkedHashSet;
  50 import java.util.List;
  51 import java.util.Set;
  52 import java.util.logging.Level;
  53 import java.util.logging.Logger;
  54 
  55 
  56 public final class RedistributableModules {
  57     private static final String JDK_PACKAGER_MODULE = "jdk.packager";
  58     private static final String REDISTRIBUTABLE_MODULES_FILENAME = "jdk/packager/internal/resources/tools/redistributable-files/redistributable.list";
  59 
  60     private RedistributableModules() {}
  61 
  62     public static Set<String> getRedistributableModules(List<Path> modulePath) {
  63         Set<String> result = null;
  64         Set<String> addModules = new HashSet<>();
  65         Set<String> limitModules = new HashSet<>();
  66         ModuleFinder finder = AppRuntimeImageBuilder.moduleFinder(modulePath, addModules, limitModules);
  67         Optional<ModuleReference> mref = finder.find(JDK_PACKAGER_MODULE);
  68 
  69         if (mref.isPresent()) {
  70             ModuleReader reader = null;
  71 
  72             try {
  73                 reader = mref.get().open();
  74             } catch (IOException ex) {
  75             }
  76 
  77             if (reader != null) {
  78                 Optional<InputStream> stream = null;
  79 
  80                 try {
  81                     stream = reader.open(REDISTRIBUTABLE_MODULES_FILENAME);
  82                 } catch (IOException ex) {
  83                 }
  84 
  85                 if (stream != null) {


< prev index next >