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
|