< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ExcludeVMPlugin.java

Print this page




  98      * /java.base/lib/{architecture}/{server|client|minimal}/{shared lib}
  99      * e.g.: /java.base/lib/server/libjvm.so
 100      * /java.base/lib/server/libjvm.dylib
 101      */
 102     private List<ResourcePoolEntry> getVMs(ResourcePoolModule javaBase, String[] jvmlibs) {
 103         List<ResourcePoolEntry> ret = javaBase.entries().filter((t) -> {
 104             String path = t.path();
 105             for (String jvmlib : jvmlibs) {
 106                 if (t.path().endsWith("/" + jvmlib)) {
 107                     return true;
 108                 }
 109             }
 110             return false;
 111         }).collect(Collectors.toList());
 112         return ret;
 113     }
 114 
 115     @Override
 116     public ResourcePool transform(ResourcePool in, ResourcePoolBuilder out) {
 117         ResourcePoolModule javaBase = in.moduleView().findModule("java.base").get();
 118         String[] jvmlibs = jvmlibs(javaBase.descriptor().osName().get());
 119         TreeSet<Jvm> existing = new TreeSet<>(new JvmComparator());
 120         TreeSet<Jvm> removed = new TreeSet<>(new JvmComparator());
 121         if (!keepAll) {
 122             // First retrieve all available VM names and removed VM
 123             List<ResourcePoolEntry> jvms = getVMs(javaBase, jvmlibs);
 124             for (Jvm jvm : Jvm.values()) {
 125                 for (ResourcePoolEntry md : jvms) {
 126                     String mdPath = md.path();
 127                     for (String jvmlib : jvmlibs) {
 128                         if (mdPath.endsWith("/" + jvm.getName() + "/" + jvmlib)) {
 129                             existing.add(jvm);
 130                             if (isRemoved(md)) {
 131                                 removed.add(jvm);
 132                             }
 133                         }
 134                     }
 135                 }
 136             }
 137         }
 138         // Check that target exists




  98      * /java.base/lib/{architecture}/{server|client|minimal}/{shared lib}
  99      * e.g.: /java.base/lib/server/libjvm.so
 100      * /java.base/lib/server/libjvm.dylib
 101      */
 102     private List<ResourcePoolEntry> getVMs(ResourcePoolModule javaBase, String[] jvmlibs) {
 103         List<ResourcePoolEntry> ret = javaBase.entries().filter((t) -> {
 104             String path = t.path();
 105             for (String jvmlib : jvmlibs) {
 106                 if (t.path().endsWith("/" + jvmlib)) {
 107                     return true;
 108                 }
 109             }
 110             return false;
 111         }).collect(Collectors.toList());
 112         return ret;
 113     }
 114 
 115     @Override
 116     public ResourcePool transform(ResourcePool in, ResourcePoolBuilder out) {
 117         ResourcePoolModule javaBase = in.moduleView().findModule("java.base").get();
 118         String[] jvmlibs = jvmlibs(javaBase.osName());
 119         TreeSet<Jvm> existing = new TreeSet<>(new JvmComparator());
 120         TreeSet<Jvm> removed = new TreeSet<>(new JvmComparator());
 121         if (!keepAll) {
 122             // First retrieve all available VM names and removed VM
 123             List<ResourcePoolEntry> jvms = getVMs(javaBase, jvmlibs);
 124             for (Jvm jvm : Jvm.values()) {
 125                 for (ResourcePoolEntry md : jvms) {
 126                     String mdPath = md.path();
 127                     for (String jvmlib : jvmlibs) {
 128                         if (mdPath.endsWith("/" + jvm.getName() + "/" + jvmlib)) {
 129                             existing.add(jvm);
 130                             if (isRemoved(md)) {
 131                                 removed.add(jvm);
 132                             }
 133                         }
 134                     }
 135                 }
 136             }
 137         }
 138         // Check that target exists


< prev index next >