diff options
author | Alena Laskavaia | 2009-01-29 21:24:39 +0000 |
---|---|---|
committer | Alena Laskavaia | 2009-01-29 21:24:39 +0000 |
commit | d2df2e441557dda19abbd6bc4fcd23c7c69e39e6 (patch) | |
tree | 4875c95bfa49f65af3f094dd9e47985ff2eebf19 | |
parent | 12f1a7fe645223607aba47d78ba7bc08eaa8b3eb (diff) | |
download | org.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.tar.gz org.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.tar.xz org.eclipse.cdt-d2df2e441557dda19abbd6bc4fcd23c7c69e39e6.zip |
[261280] - extracted method to be more customizable
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) */ |