1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-03 22:35:43 +02:00

Moved ConsoleOutputSniffer from make.core plugin.

Added minimal console parser interface.
This commit is contained in:
Vladimir Hirsl 2005-03-23 14:06:12 +00:00
parent 96d33f7198
commit fc915aee25
8 changed files with 53 additions and 23 deletions

View file

@ -23,9 +23,9 @@ import org.eclipse.cdt.core.ErrorParserManager;
import org.eclipse.cdt.core.model.ICModelMarker;
import org.eclipse.cdt.core.resources.ACBuilder;
import org.eclipse.cdt.core.resources.IConsole;
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
import org.eclipse.cdt.make.internal.core.MakeMessages;
import org.eclipse.cdt.make.internal.core.StreamMonitor;
import org.eclipse.cdt.make.internal.core.scannerconfig.ConsoleOutputSniffer;
import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerInfoConsoleParserFactory;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IMarker;

View file

@ -10,6 +10,7 @@
**********************************************************************/
package org.eclipse.cdt.make.core.scannerconfig;
import org.eclipse.cdt.core.IConsoleParser;
import org.eclipse.cdt.core.IMarkerGenerator;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
@ -19,7 +20,7 @@ import org.eclipse.core.runtime.IPath;
*
* @author vhirsl
*/
public interface IScannerInfoConsoleParser {
public interface IScannerInfoConsoleParser extends IConsoleParser {
/**
* One time initialization of a console parser.
*
@ -30,17 +31,5 @@ public interface IScannerInfoConsoleParser {
*/
public void startup(IProject project, IPath workingDirectory,
IScannerInfoCollector collector, IMarkerGenerator markerGenerator);
/**
* Parse one line of output.
*
* @param line
* @return true if scanner info entry was found in the line
*/
public boolean processLine(String line);
/**
* Optional finalization of a console parser.
*/
public void shutdown();
}

View file

@ -13,6 +13,7 @@ package org.eclipse.cdt.make.internal.core.scannerconfig;
import java.io.OutputStream;
import org.eclipse.cdt.core.IMarkerGenerator;
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector;

View file

@ -20,13 +20,13 @@ import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.CommandLauncher;
import org.eclipse.cdt.core.IMarkerGenerator;
import org.eclipse.cdt.core.resources.IConsole;
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider;
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector;
import org.eclipse.cdt.make.internal.core.MakeMessages;
import org.eclipse.cdt.make.internal.core.StreamMonitor;
import org.eclipse.cdt.make.internal.core.scannerconfig.ConsoleOutputSniffer;
import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerConfigUtil;
import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerInfoConsoleParserFactory;
import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil;

View file

@ -20,13 +20,13 @@ import java.io.OutputStream;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.resources.IConsole;
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
import org.eclipse.cdt.make.core.IMakeBuilderInfo;
import org.eclipse.cdt.make.core.MakeBuilder;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider;
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector;
import org.eclipse.cdt.make.internal.core.scannerconfig.ConsoleOutputSniffer;
import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerInfoConsoleParserFactory;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;

View file

@ -1,3 +1,9 @@
2005-03-23 Vladimir Hirsl
Moved ConsoleOutputSniffer from make.core plugin.
Added minimal console parser interface.
+ src/org/eclipse/cdt/core/IConsoleParser.java
+ src/org/eclipse/cdt/internal/core/ConsoleOutputSniffer.java
2005-03-19 Alain Magloire
PR 87336: Did not check if the resource exists.
* model/org/eclipse/cdt/internal/core/model/Archive.java

View file

@ -0,0 +1,33 @@
/**********************************************************************
* Copyright (c) 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
package org.eclipse.cdt.core;
/**
* A basic interface for console parsers
*
* @author vhirsl
*/
public interface IConsoleParser {
/**
* Parse one line of output.
*
* @param line
* @return true if line was successfully processed; skip other console parsers<p>
* false - try other console parsers
*/
public boolean processLine(String line);
/**
* Finalization of a console parser when the stream is closed.
*/
public void shutdown();
}

View file

@ -8,15 +8,16 @@
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
package org.eclipse.cdt.make.internal.core.scannerconfig;
package org.eclipse.cdt.internal.core;
import java.io.IOException;
import java.io.OutputStream;
import org.eclipse.cdt.make.core.scannerconfig.*;
import org.eclipse.cdt.core.IConsoleParser;
/**
* Intercepts an output to console and forwards it to line parsers for processing
* Intercepts an output to console and forwards it to console parsers for processing
*
* @author vhirsl
*/
@ -117,13 +118,13 @@ public class ConsoleOutputSniffer {
private int nOpens = 0;
private OutputStream consoleOutputStream;
private OutputStream consoleErrorStream;
private IScannerInfoConsoleParser[] parsers;
private IConsoleParser[] parsers;
public ConsoleOutputSniffer(IScannerInfoConsoleParser[] parsers) {
public ConsoleOutputSniffer(IConsoleParser[] parsers) {
this.parsers = parsers;
}
public ConsoleOutputSniffer(OutputStream outputStream, OutputStream errorStream, IScannerInfoConsoleParser[] parsers) {
public ConsoleOutputSniffer(OutputStream outputStream, OutputStream errorStream, IConsoleParser[] parsers) {
this(parsers);
this.consoleOutputStream = outputStream;
this.consoleErrorStream = errorStream;