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) {
|