Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2009-01-29 21:24:39 +0000
committerAlena Laskavaia2009-01-29 21:24:39 +0000
commitd2df2e441557dda19abbd6bc4fcd23c7c69e39e6 (patch)
tree4875c95bfa49f65af3f094dd9e47985ff2eebf19
parent12f1a7fe645223607aba47d78ba7bc08eaa8b3eb (diff)
downloadorg.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.tar.gz
org.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.tar.xz
org.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.zip
[261280] - extracted method to be more customizable
-rw-r--r--build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java23
-rw-r--r--build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerFileSICollector.java6
2 files changed, 19 insertions, 10 deletions
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java
index b34295c7b38..fbb27d9e62e 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java
@@ -105,15 +105,11 @@ public class DefaultRunSIProvider implements IExternalScannerInfoProvider {
// Print the command for visual interaction.
launcher.showCommand(true);
- // add additional arguments
- // subclass can change default behavior
- String[] compileArguments = prepareArguments(
- buildInfo.isUseDefaultProviderCommand(providerId));
-
- String ca = coligate(compileArguments);
+ String[] comandLineOptions = getCommandLineOptions();
+ String ca = coligate(comandLineOptions);
monitor.subTask(MakeMessages.getString("ExternalScannerInfoProvider.Invoking_Command") //$NON-NLS-1$
- + fCompileCommand.toString() + ca);
+ + getCommandToLaunch() + ca);
cos = new StreamMonitor(new SubProgressMonitor(monitor, 70), cos, 100);
ConsoleOutputSniffer sniffer = ScannerInfoConsoleParserFactory.getESIProviderOutputSniffer(
@@ -121,7 +117,7 @@ public class DefaultRunSIProvider implements IExternalScannerInfoProvider {
OutputStream consoleOut = (sniffer == null ? cos : sniffer.getOutputStream());
OutputStream consoleErr = (sniffer == null ? cos : sniffer.getErrorStream());
TraceUtil.outputTrace("Default provider is executing command:", fCompileCommand.toString() + ca, ""); //$NON-NLS-1$ //$NON-NLS-2$
- Process p = launcher.execute(fCompileCommand, compileArguments, setEnvironment(launcher, env), fWorkingDirectory);
+ Process p = launcher.execute(getCommandToLaunch(), comandLineOptions, setEnvironment(launcher, env), fWorkingDirectory);
if (p != null) {
try {
// Close the input of the Process explicitely.
@@ -158,7 +154,16 @@ public class DefaultRunSIProvider implements IExternalScannerInfoProvider {
return true;
}
-
+ protected IPath getCommandToLaunch() {
+ return fCompileCommand;
+ }
+
+ protected String[] getCommandLineOptions() {
+ // add additional arguments
+ // subclass can change default behavior
+ return prepareArguments(
+ buildInfo.isUseDefaultProviderCommand(providerId));
+ }
/**
* Initialization of protected fields.
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerFileSICollector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerFileSICollector.java
index bef26141494..acc4b13ab6a 100644
--- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerFileSICollector.java
+++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/PerFileSICollector.java
@@ -60,7 +60,7 @@ import org.w3c.dom.NodeList;
*
* @author vhirsl
*/
-public final class PerFileSICollector implements IScannerInfoCollector3, IScannerInfoCollectorCleaner {
+public class PerFileSICollector implements IScannerInfoCollector3, IScannerInfoCollectorCleaner {
private static final int INCLUDE_PATH = 1;
private static final int QUOTE_INCLUDE_PATH = 2;
private static final int INCLUDE_FILE = 3;
@@ -225,6 +225,10 @@ public final class PerFileSICollector implements IScannerInfoCollector3, IScanne
}
}
+ protected InfoContext getInfoContext() {
+ return context;
+ }
+
/* (non-Javadoc)
* @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector#contributeToScannerConfig(java.lang.Object, java.util.Map)
*/

Back to the top