< prev index next >

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

Print this page
rev 48062 : 8192833: JEP 322: Time-Based Release Versioning


 193             try (InputStream traceFile =
 194                     this.getClass().getResourceAsStream(DEFAULT_TRACE_FILE)) {
 195                 if (traceFile != null) {
 196                     readTraceConfig(
 197                         new BufferedReader(
 198                             new InputStreamReader(traceFile)).lines());
 199                 }
 200             } catch (Exception e) {
 201                 throw new PluginException("Couldn't read " + DEFAULT_TRACE_FILE, e);
 202             }
 203         } else {
 204             File file = new File(mainArgument.substring(1));
 205             if (file.exists()) {
 206                 readTraceConfig(fileLines(file));
 207             }
 208         }
 209     }
 210 
 211     private boolean checkVersion(Runtime.Version linkedVersion) {
 212         Runtime.Version baseVersion = Runtime.version();
 213         if (baseVersion.major() != linkedVersion.major() ||
 214                 baseVersion.minor() != linkedVersion.minor()) {
 215             return false;
 216         }
 217         return true;
 218     }
 219 
 220     private Runtime.Version getLinkedVersion(ResourcePool in) {
 221         ModuleDescriptor.Version version = in.moduleView()
 222                 .findModule("java.base")
 223                 .get()
 224                 .descriptor()
 225                 .version()
 226                 .orElseThrow(() -> new PluginException("No version defined in "
 227                         + "the java.base being linked"));
 228          return Runtime.Version.parse(version.toString());
 229     }
 230 
 231     private void readTraceConfig(Stream<String> lines) {
 232         // Use TreeSet/TreeMap to keep things sorted in a deterministic
 233         // order to avoid scrambling the layout on small changes and to
 234         // ease finding methods in the generated code




 193             try (InputStream traceFile =
 194                     this.getClass().getResourceAsStream(DEFAULT_TRACE_FILE)) {
 195                 if (traceFile != null) {
 196                     readTraceConfig(
 197                         new BufferedReader(
 198                             new InputStreamReader(traceFile)).lines());
 199                 }
 200             } catch (Exception e) {
 201                 throw new PluginException("Couldn't read " + DEFAULT_TRACE_FILE, e);
 202             }
 203         } else {
 204             File file = new File(mainArgument.substring(1));
 205             if (file.exists()) {
 206                 readTraceConfig(fileLines(file));
 207             }
 208         }
 209     }
 210 
 211     private boolean checkVersion(Runtime.Version linkedVersion) {
 212         Runtime.Version baseVersion = Runtime.version();
 213         if (baseVersion.feature() != linkedVersion.feature() ||
 214                 baseVersion.interim() != linkedVersion.interim()) {
 215             return false;
 216         }
 217         return true;
 218     }
 219 
 220     private Runtime.Version getLinkedVersion(ResourcePool in) {
 221         ModuleDescriptor.Version version = in.moduleView()
 222                 .findModule("java.base")
 223                 .get()
 224                 .descriptor()
 225                 .version()
 226                 .orElseThrow(() -> new PluginException("No version defined in "
 227                         + "the java.base being linked"));
 228          return Runtime.Version.parse(version.toString());
 229     }
 230 
 231     private void readTraceConfig(Stream<String> lines) {
 232         // Use TreeSet/TreeMap to keep things sorted in a deterministic
 233         // order to avoid scrambling the layout on small changes and to
 234         // ease finding methods in the generated code


< prev index next >