< prev index next >

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

Print this page




  86 
  87     private Predicate<String> predicate;
  88     private Jvm target;
  89     private boolean keepAll;
  90 
  91     @Override
  92     public String getName() {
  93         return NAME;
  94     }
  95 
  96     /**
  97      * VM paths:
  98      * /java.base/native/{architecture}/{server|client|minimal}/{shared lib}
  99      * e.g.: /java.base/native/amd64/server/libjvm.so
 100      * /java.base/native/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                 return t.path().endsWith("/" + jvmlib);


 107             }
 108             return false;
 109         }).collect(Collectors.toList());
 110         return ret;
 111     }
 112 
 113     @Override
 114     public ResourcePool transform(ResourcePool in, ResourcePoolBuilder out) {
 115         ResourcePoolModule javaBase = in.moduleView().findModule("java.base").get();
 116         String[] jvmlibs = jvmlibs(javaBase.descriptor().osName().get());
 117         TreeSet<Jvm> existing = new TreeSet<>(new JvmComparator());
 118         TreeSet<Jvm> removed = new TreeSet<>(new JvmComparator());
 119         if (!keepAll) {
 120             // First retrieve all available VM names and removed VM
 121             List<ResourcePoolEntry> jvms = getVMs(javaBase, jvmlibs);
 122             for (Jvm jvm : Jvm.values()) {
 123                 for (ResourcePoolEntry md : jvms) {
 124                     String mdPath = md.path();
 125                     for (String jvmlib : jvmlibs) {
 126                         if (mdPath.endsWith("/" + jvm.getName() + "/" + jvmlib)) {




  86 
  87     private Predicate<String> predicate;
  88     private Jvm target;
  89     private boolean keepAll;
  90 
  91     @Override
  92     public String getName() {
  93         return NAME;
  94     }
  95 
  96     /**
  97      * VM paths:
  98      * /java.base/native/{architecture}/{server|client|minimal}/{shared lib}
  99      * e.g.: /java.base/native/amd64/server/libjvm.so
 100      * /java.base/native/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)) {


< prev index next >