< prev index next >

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

Print this page

        

*** 41,50 **** --- 41,52 ---- import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; import jdk.internal.jimage.decompressor.Decompressor; + import jdk.internal.module.ModuleInfo.Attributes; + import jdk.internal.module.ModuleTarget; import jdk.tools.jlink.plugin.Plugin; import jdk.tools.jlink.builder.ImageBuilder; import jdk.tools.jlink.plugin.PluginException; import jdk.tools.jlink.plugin.ResourcePool; import jdk.tools.jlink.plugin.ResourcePoolModule;
*** 296,305 **** --- 298,308 ---- private class LastModule implements ResourcePoolModule { final ResourcePoolModule module; // lazily initialized ModuleDescriptor descriptor; + ModuleTarget target; LastModule(ResourcePoolModule module) { this.module = module; }
*** 314,330 **** return d.isPresent()? Optional.of(getUncompressed(d.get())) : Optional.empty(); } @Override public ModuleDescriptor descriptor() { ! if (descriptor == null) { ! descriptor = ResourcePoolManager.readModuleDescriptor(this); ! } return descriptor; } @Override public Set<String> packages() { return module.packages(); } @Override --- 317,351 ---- return d.isPresent()? Optional.of(getUncompressed(d.get())) : Optional.empty(); } @Override public ModuleDescriptor descriptor() { ! initModuleAttributes(); return descriptor; } @Override + public String osName() { + initModuleAttributes(); + return target != null? target.osName() : null; + } + + @Override + public String osArch() { + initModuleAttributes(); + return target != null? target.osArch() : null; + } + + private void initModuleAttributes() { + if (this.descriptor == null) { + Attributes attr = ResourcePoolManager.readModuleAttributes(this); + this.descriptor = attr.descriptor(); + this.target = attr.target(); + } + } + + @Override public Set<String> packages() { return module.packages(); } @Override
< prev index next >