CleanUp
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/internal/r/nico/RNicoMessages.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/internal/r/nico/RNicoMessages.java
index f49522e..189f613 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/internal/r/nico/RNicoMessages.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/internal/r/nico/RNicoMessages.java
@@ -16,7 +16,11 @@
import org.eclipse.osgi.util.NLS;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+
+@NonNullByDefault
+@SuppressWarnings("null")
public class RNicoMessages extends NLS {
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/AbstractRController.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/AbstractRController.java
index 0ae86ad..94cae27 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/AbstractRController.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/AbstractRController.java
@@ -156,7 +156,7 @@
this.trackingConfigurations= config;
}
- protected void initTracks(final String directory,
+ protected void initTracks(
final ProgressMonitor m, final List<Status> warnings) throws StatusException {
if (this.trackingConfigurations != null) {
m.setWorkRemaining(this.trackingConfigurations.size());
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermCancelRunnable.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermCancelRunnable.java
index ee82f47..950949a 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermCancelRunnable.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermCancelRunnable.java
@@ -14,6 +14,8 @@
package org.eclipse.statet.r.nico.impl;
+import static org.eclipse.statet.jcommons.lang.ObjectUtils.nonNullAssert;
+
import java.io.File;
import java.io.IOException;
import java.net.URL;
@@ -24,6 +26,7 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.jcommons.status.ProgressMonitor;
import org.eclipse.statet.jcommons.status.StatusException;
import org.eclipse.statet.jcommons.status.WarningStatus;
@@ -40,6 +43,7 @@
/**
* Cancel support for windows/rterm.
*/
+@NonNullByDefault
class RTermCancelRunnable implements ToolRunnable {
@@ -53,6 +57,7 @@
}
@Override
+ @SuppressWarnings("null")
public String getTypeId() {
return null; // not a real runnable
}
@@ -69,54 +74,55 @@
@Override
public void run(final ToolService service, final ProgressMonitor m) throws StatusException {
- final IRBasicAdapter r = (IRBasicAdapter) service;
- final REnvConfiguration rEnvConfig= r.getTool().getAdapter(REnvConfiguration.class);
- String arch = rEnvConfig.getRArch();
+ final IRBasicAdapter r= (IRBasicAdapter) service;
+ final REnvConfiguration rEnvConfig= nonNullAssert(
+ r.getTool().getAdapter(REnvConfiguration.class) );
+ String arch= rEnvConfig.getRArch();
if (arch == null) {
- arch = Platform.getOSArch();
+ arch= Platform.getOSArch();
}
try {
m.beginTask(RNicoMessages.RTerm_CancelTask_SendSignal_label, 10);
- URL url = RConsoleCorePlugin.getInstance().getBundle().getEntry(
+ URL url= RConsoleCorePlugin.getInstance().getBundle().getEntry(
"/win32/" + arch + "/sendsignal.exe"); //$NON-NLS-1$ //$NON-NLS-2$
if (url == null) {
throw new IOException("Missing 'sendsignal' tool for arch '" + arch + "'."); //$NON-NLS-1$
}
- url = FileLocator.toFileURL(url);
- final File file = new File(url.getPath());
+ url= FileLocator.toFileURL(url);
+ final File file= new File(url.getPath());
if (!file.exists()) {
throw new IOException("Missing file '"+url.toExternalForm()+ "'."); //$NON-NLS-1$ //$NON-NLS-2$
}
m.addWorked(1);
- final RTermController controller = (RTermController) r.getController();
- final Long processId = controller.fProcessId;
+ final RTermController controller= (RTermController) r.getController();
+ final Long processId= controller.processId;
if (processId == null) {
RConsoleCorePlugin.log(new Status(IStatus.WARNING, RConsoleCorePlugin.BUNDLE_ID,
"Cannot run cancel command: process-id of Rterm process is missing." )); //$NON-NLS-1$
return;
}
- final String[] cmd = new String[] {
+ final String[] cmd= new String[] {
file.getAbsolutePath(), processId.toString()
// the tool usually does not print output
};
- final Process process = Runtime.getRuntime().exec(cmd);
+ final Process process= Runtime.getRuntime().exec(cmd);
m.addWorked(1);
while (true) {
try {
- final int code = process.exitValue();
+ final int code= process.exitValue();
if (code != 0) {
- final StringBuilder detail = new StringBuilder("Command failed:"); //$NON-NLS-1$
- detail.append("\n command = "); //$NON-NLS-1$
+ final StringBuilder detail= new StringBuilder("Command failed:"); //$NON-NLS-1$
+ detail.append("\n command= "); //$NON-NLS-1$
detail.append(Arrays.toString(cmd));
- detail.append("\n os.name = "); //$NON-NLS-1$
+ detail.append("\n os.name= "); //$NON-NLS-1$
detail.append(System.getProperty("os.name")); //$NON-NLS-1$
- detail.append("\n os.version = "); //$NON-NLS-1$
+ detail.append("\n os.version= "); //$NON-NLS-1$
detail.append(System.getProperty("os.version")); //$NON-NLS-1$
- detail.append("\n os.arch = "); //$NON-NLS-1$
+ detail.append("\n os.arch= "); //$NON-NLS-1$
detail.append(System.getProperty("os.arch")); //$NON-NLS-1$
- detail.append("\n r.arch = "); //$NON-NLS-1$
+ detail.append("\n r.arch= "); //$NON-NLS-1$
detail.append(arch);
- detail.append("\n exit.code = 0x"); //$NON-NLS-1$
+ detail.append("\n exit.code= 0x"); //$NON-NLS-1$
detail.append(Integer.toHexString(code));
throw new IOException(detail.toString());
}
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermController.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermController.java
index b258bdf..fd6f2e2 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermController.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RTermController.java
@@ -40,6 +40,8 @@
import org.eclipse.debug.core.IStreamListener;
import org.eclipse.debug.core.model.IStreamMonitor;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
import org.eclipse.statet.jcommons.status.ErrorStatus;
import org.eclipse.statet.jcommons.status.ProgressMonitor;
import org.eclipse.statet.jcommons.status.Status;
@@ -67,20 +69,21 @@
/**
* Controller for RTerm.
*/
+@NonNullByDefault
public class RTermController extends AbstractRController implements IRequireSynch {
- private static final Pattern INT_OUTPUT_PATTERN = Pattern.compile("\\Q[1] \\E(\\d*)"); //$NON-NLS-1$
- private static final Pattern STRING_OUTPUT_PATTERN = Pattern.compile("\\Q[1] \"\\E((?:\\Q\\\"\\E|[^\"])*)\\\""); //$NON-NLS-1$
+ private static final Pattern INT_OUTPUT_PATTERN= Pattern.compile("\\Q[1] \\E(\\d*)"); //$NON-NLS-1$
+ private static final Pattern STRING_OUTPUT_PATTERN= Pattern.compile("\\Q[1] \"\\E((?:\\Q\\\"\\E|[^\"])*)\\\""); //$NON-NLS-1$
private class ReadThread extends Thread {
volatile int hasNoOutput;
- private final int SYNC_COUNT = 2;
- private final int SYNC_MS = 33;
+ private final int SYNC_COUNT= 2;
+ private final int SYNC_MS= 33;
- final Lock streamLock = new ReentrantLock();
+ final Lock streamLock= new ReentrantLock();
public ReadThread() {
super("Rterm-Output Monitor"); //$NON-NLS-1$
@@ -88,31 +91,31 @@
@Override
public void run() {
- final ToolStreamProxy streams = getStreams();
- boolean locked = false;
+ final ToolStreamProxy streams= getStreams();
+ boolean locked= false;
try {
- boolean canRead = false;
- final char[] b = new char[1024];
- while (fProcess != null | (canRead = fProcessOutputReader.ready())) {
- fProcessOutputBuffer.available();
+ boolean canRead= false;
+ final char[] b= new char[1024];
+ while (RTermController.this.process != null | (canRead= RTermController.this.processOutputReader.ready())) {
+ RTermController.this.processOutputBuffer.available();
if (canRead || this.hasNoOutput > this.SYNC_COUNT) {
if (!canRead && locked) {
this.streamLock.unlock();
- locked = false;
+ locked= false;
}
- int n = fProcessOutputReader.read(b);
+ int n= RTermController.this.processOutputReader.read(b);
if (n > 0) {
- this.hasNoOutput = 0;
+ this.hasNoOutput= 0;
if (!locked) {
this.streamLock.lock();
- locked = true;
+ locked= true;
}
- final String s = new String(b, 0, n);
+ final String s= new String(b, 0, n);
streams.getOutputStreamMonitor().append(s, SubmitType.CONSOLE, 0);
- n = s.length();
+ n= s.length();
if (n >= 2 && s.charAt(--n) == ' ' && (s.charAt(--n) == '>' || s.charAt(n) == '+')) {
this.hasNoOutput++;
- final Thread thread = getControllerThread();
+ final Thread thread= getControllerThread();
if (thread != null) {
thread.interrupt();
}
@@ -140,10 +143,10 @@
finally {
if (locked) {
this.streamLock.unlock();
- locked = false;
+ locked= false;
}
try {
- fProcessOutputReader.close();
+ RTermController.this.processOutputReader.close();
} catch (final IOException e1) {
}
}
@@ -167,21 +170,21 @@
@Override
public void run(final ToolService service, final ProgressMonitor m) throws StatusException {
- final StringBuilder output = readOutputLine("Sys.getpid()", m); //$NON-NLS-1$
+ final StringBuilder output= readOutputLine("Sys.getpid()", m); //$NON-NLS-1$
if (output != null) {
- final Matcher matcher = INT_OUTPUT_PATTERN.matcher(output);
+ final Matcher matcher= INT_OUTPUT_PATTERN.matcher(output);
if (matcher.find()) {
- final String idString = matcher.group(1);
+ final String idString= matcher.group(1);
if (idString != null) {
try {
- fProcessId = Long.valueOf(idString);
+ RTermController.this.processId= Long.valueOf(idString);
}
catch (final NumberFormatException e) {
- fProcessId = null;
+ RTermController.this.processId= null;
}
}
else {
- fProcessId = null;
+ RTermController.this.processId= null;
}
}
}
@@ -190,31 +193,31 @@
}
- private final ProcessBuilder fConfig;
- private final Charset fCharset;
- private Process fProcess;
- private OutputStreamWriter fProcessInputWriter;
- private BufferedInputStream fProcessOutputBuffer;
- private InputStreamReader fProcessOutputReader;
- private ReadThread fProcessOutputThread;
- Long fProcessId;
+ private final ProcessBuilder processConfig;
+ private final Charset charset;
+ private @Nullable Process process;
+ private OutputStreamWriter processInputWriter;
+ private BufferedInputStream processOutputBuffer;
+ private InputStreamReader processOutputReader;
+ private ReadThread processOutputThread;
+ @Nullable Long processId;
public RTermController(final RProcess process, final ProcessBuilder config, final Charset charset) {
super(process, null);
- fConfig = config;
- fCharset = charset;
+ this.processConfig= config;
+ this.charset= charset;
setWorksapceData(new RWorkspace(this, null, null) {
@Override
protected void refreshFromTool(final AbstractRController controller, final int options,
final ProgressMonitor m) throws StatusException {
if ((options & RWorkspace.REFRESH_COMPLETE) != 0 || (options & RWorkspace.REFRESH_AUTO) == 0) {
- final StringBuilder output = readOutputLine("getwd()", m); //$NON-NLS-1$
+ final StringBuilder output= readOutputLine("getwd()", m); //$NON-NLS-1$
if (output != null) {
- final Matcher matcher = STRING_OUTPUT_PATTERN.matcher(output);
+ final Matcher matcher= STRING_OUTPUT_PATTERN.matcher(output);
if (matcher.find()) {
- final String wd = matcher.group(1);
+ final String wd= matcher.group(1);
setWorkspaceDirL(EFS.getLocalFileSystem().getStore(new Path(wd)));
}
}
@@ -238,25 +241,26 @@
@Override
protected void startToolL(final ProgressMonitor m) throws StatusException {
- OutputStream processInput = null;
+ OutputStream processInput= null;
InputStream processOutput;
try {
- fConfig.redirectErrorStream(true);
- fProcess = fConfig.start();
- processOutput = fProcess.getInputStream();
- if (processOutput instanceof BufferedInputStream) {
- fProcessOutputBuffer = (BufferedInputStream) processOutput;
- }
- fProcessOutputReader = new InputStreamReader(processOutput, fCharset);
- fProcessOutputThread = new ReadThread();
- fProcessOutputThread.start();
- processInput = fProcess.getOutputStream();
- fProcessInputWriter = new OutputStreamWriter(processInput, fCharset);
- setCurrentPromptL(fDefaultPrompt);
-
final List<Status> warnings= new ArrayList<>();
- initTracks(fConfig.directory().toString(), m, warnings);
+ this.processConfig.redirectErrorStream(true);
+ final Process process= this.processConfig.start();
+ this.process= process;
+ processOutput= process.getInputStream();
+ if (processOutput instanceof BufferedInputStream) {
+ this.processOutputBuffer= (BufferedInputStream) processOutput;
+ }
+ this.processOutputReader= new InputStreamReader(processOutput, this.charset);
+ this.processOutputThread= new ReadThread();
+ this.processOutputThread.start();
+ processInput= process.getOutputStream();
+ this.processInputWriter= new OutputStreamWriter(processInput, this.charset);
+ setCurrentPromptL(this.fDefaultPrompt);
+
+ initTracks(m, warnings);
getQueue().add(new UpdateProcessIdTask());
if (!this.startupsRunnables.isEmpty()) {
@@ -288,7 +292,6 @@
RNicoMessages.RTerm_error_Starting_message,
e ));
}
-
}
@Override
@@ -299,27 +302,27 @@
@Override
protected void postCancelTask(final int options,
final ProgressMonitor m) throws StatusException {
- fCurrentInput = ""; //$NON-NLS-1$
+ this.fCurrentInput= ""; //$NON-NLS-1$
doSubmitL(m);
- fCurrentInput = ""; //$NON-NLS-1$
+ this.fCurrentInput= ""; //$NON-NLS-1$
doSubmitL(m);
}
@Override
protected void killTool(final ProgressMonitor m) {
- final Process p = fProcess;
- if (p != null) {
- p.destroy();
- fProcess = null;
+ final Process process= this.process;
+ if (process != null) {
+ process.destroy();
+ this.process= null;
}
}
@Override
protected boolean isToolAlive() {
- final Process p = fProcess;
- if (p != null) {
+ final Process process= this.process;
+ if (process != null) {
try {
- p.exitValue();
+ process.exitValue();
}
catch (final IllegalThreadStateException e) {
return true;
@@ -330,7 +333,7 @@
@Override
protected void clear() {
- fProcess = null;
+ this.process= null;
super.clear();
}
@@ -341,11 +344,11 @@
return false;
}
- final ToolCommandHandler handler = getCommandHandler(RUN_BLOCKING_EVENT_ID);
+ final ToolCommandHandler handler= getCommandHandler(RUN_BLOCKING_EVENT_ID);
if (handler != null) {
- final RTermCancelRunnable cancelRunnable = new RTermCancelRunnable();
- final Map<String, Object> data = Collections.singletonMap(RUN_RUNNABLE_DATA_KEY, (Object) cancelRunnable);
- final Status status = executeHandler(RUN_BLOCKING_EVENT_ID, handler, data, null);
+ final RTermCancelRunnable cancelRunnable= new RTermCancelRunnable();
+ final Map<String, Object> data= Collections.singletonMap(RUN_RUNNABLE_DATA_KEY, (Object) cancelRunnable);
+ final Status status= executeHandler(RUN_BLOCKING_EVENT_ID, handler, data, null);
return (status != null && status.getSeverity() == Status.OK);
}
return false;
@@ -356,29 +359,29 @@
@Override
protected void doBeforeSubmitL() {
- final ToolStreamProxy streams = getStreams();
- final SubmitType submitType = getCurrentSubmitType();
+ final ToolStreamProxy streams= getStreams();
+ final SubmitType submitType= getCurrentSubmitType();
// adds control stream
// without prompt
try {
- fProcessOutputThread.streamLock.lock();
- streams.getInputStreamMonitor().append(fCurrentInput, submitType,
- (fCurrentPrompt.meta & ConsoleService.META_HISTORY_DONTADD) );
+ this.processOutputThread.streamLock.lock();
+ streams.getInputStreamMonitor().append(this.fCurrentInput, submitType,
+ (this.fCurrentPrompt.meta & ConsoleService.META_HISTORY_DONTADD) );
streams.getInputStreamMonitor().append(getWorkspaceData().getLineSeparator(), submitType,
ConsoleService.META_HISTORY_DONTADD);
}
finally {
- fProcessOutputThread.streamLock.unlock();
+ this.processOutputThread.streamLock.unlock();
}
}
@Override
protected void doSubmitL(final ProgressMonitor m) {
- m.beginSubTask(fDefaultPrompt.text + " " + fCurrentInput); //$NON-NLS-1$
+ m.beginSubTask(this.fDefaultPrompt.text + " " + this.fCurrentInput); //$NON-NLS-1$
try {
- fProcessInputWriter.write(fCurrentInput + fLineSeparator);
- fProcessInputWriter.flush();
+ this.processInputWriter.write(this.fCurrentInput + this.fLineSeparator);
+ this.processInputWriter.flush();
}
catch (final IOException e) {
RConsoleCorePlugin.logError("Rterm IO error", e); //$NON-NLS-1$
@@ -390,25 +393,25 @@
}
try {
- Thread.sleep(fProcessOutputThread.SYNC_MS*2);
+ Thread.sleep(this.processOutputThread.SYNC_MS*2);
}
catch (final InterruptedException e) {
// continue directly
}
- fProcessOutputThread.streamLock.lock();
- fProcessOutputThread.streamLock.unlock();
+ this.processOutputThread.streamLock.lock();
+ this.processOutputThread.streamLock.unlock();
- setCurrentPromptL(fDefaultPrompt);
+ setCurrentPromptL(this.fDefaultPrompt);
}
@Override
public Pattern synch(final ProgressMonitor m) throws StatusException {
- final ToolStreamMonitor stream = getStreams().getOutputStreamMonitor();
- final String stamp = "Synch"+System.nanoTime(); //$NON-NLS-1$
- final AtomicBoolean patternFound = new AtomicBoolean(false);
- final IStreamListener listener = new IStreamListener() {
+ final ToolStreamMonitor stream= getStreams().getOutputStreamMonitor();
+ final String stamp= "Synch"+System.nanoTime(); //$NON-NLS-1$
+ final AtomicBoolean patternFound= new AtomicBoolean(false);
+ final IStreamListener listener= new IStreamListener() {
- private String lastLine = ""; //$NON-NLS-1$
+ private String lastLine= ""; //$NON-NLS-1$
@Override
public void streamAppended(final String text, final IStreamMonitor monitor) {
@@ -416,12 +419,12 @@
found();
return;
}
- final String[] lines = RUtil.LINE_SEPARATOR_PATTERN.split(text, -1);
+ final String[] lines= RUtil.LINE_SEPARATOR_PATTERN.split(text, -1);
if ((this.lastLine + lines[0]).contains(stamp)) {
found();
return;
}
- this.lastLine = lines[lines.length-1];
+ this.lastLine= lines[lines.length-1];
}
private void found() {
@@ -432,7 +435,7 @@
};
try {
stream.addListener(listener);
- submitToConsole("cat(\""+stamp+"\\n\");", m); //$NON-NLS-1$ //$NON-NLS-2$
+ submitToConsole("cat(\"" + stamp + "\\n\");", m); //$NON-NLS-1$ //$NON-NLS-2$
while (!patternFound.get()) {
if (m.isCanceled()) {
throw cancelTask();
@@ -444,23 +447,23 @@
// continue directly
}
}
- return Pattern.compile("(?:"+Pattern.quote(getWorkspaceData().getDefaultPrompt().text) + ")?"+stamp); //$NON-NLS-1$ //$NON-NLS-2$
+ return Pattern.compile("(?:" + Pattern.quote(getWorkspaceData().getDefaultPrompt().text) + ")?" + stamp); //$NON-NLS-1$ //$NON-NLS-2$
}
finally {
stream.removeListener(listener);
}
}
- private StringBuilder readOutputLine(final String command,
+ private @Nullable StringBuilder readOutputLine(final String command,
final ProgressMonitor m) throws StatusException {
- final ToolStreamMonitor stream = getStreams().getOutputStreamMonitor();
- final StringBuilder output = new StringBuilder();
- final AtomicBoolean patternFound = new AtomicBoolean(false);
- final IStreamListener listener = new IStreamListener() {
+ final ToolStreamMonitor stream= getStreams().getOutputStreamMonitor();
+ final StringBuilder output= new StringBuilder();
+ final AtomicBoolean patternFound= new AtomicBoolean(false);
+ final IStreamListener listener= new IStreamListener() {
@Override
public void streamAppended(final String text, final IStreamMonitor monitor) {
- final Matcher matcher = RUtil.LINE_SEPARATOR_PATTERN.matcher(text);
+ final Matcher matcher= RUtil.LINE_SEPARATOR_PATTERN.matcher(text);
if (matcher.find()) {
output.append(text.substring(0, matcher.start()));
found();
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
index a6b74f1..067977e 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
@@ -92,8 +92,8 @@
import org.eclipse.statet.r.core.model.RSourceUnitModelInfo;
import org.eclipse.statet.r.core.model.RWorkspaceSourceUnit;
import org.eclipse.statet.r.core.rsource.ast.FDef;
-import org.eclipse.statet.r.core.rsource.ast.RAsts;
import org.eclipse.statet.r.core.rsource.ast.RAstNode;
+import org.eclipse.statet.r.core.rsource.ast.RAsts;
import org.eclipse.statet.r.core.tool.IRConsoleService;
import org.eclipse.statet.r.nico.AbstractRDbgController;
import org.eclipse.statet.r.nico.ICombinedRDataAdapter;
@@ -226,7 +226,7 @@
public static final int RJS_SETUP_CONSOLE= 1 << 8;
- private static final LtkModelElementFilter<RLangSourceElement> TAG_ELEMENT_FILTER= new LtkModelElementFilter<RLangSourceElement>() {
+ private static final LtkModelElementFilter<RLangSourceElement> TAG_ELEMENT_FILTER= new LtkModelElementFilter<>() {
@Override
public boolean include(final RLangSourceElement element) {
return ((element.getElementType() & RElement.MASK_C1) == RElement.C1_METHOD);
@@ -692,7 +692,7 @@
final List<Status> warnings= new ArrayList<>();
- initTracks(info.getDirectory(), m.newSubMonitor(1), warnings);
+ initTracks(m.newSubMonitor(1), warnings);
if ((this.rjsFlags & RJS_SETUP_CONSOLE) != 0 && !this.startupsRunnables.isEmpty()) {
getQueue().add(this.startupsRunnables);