1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-10 12:03:16 +02:00

Partial Fix for PR 61341

This commit is contained in:
Alain Magloire 2004-05-20 04:11:33 +00:00
parent 5cc077060d
commit 0fa4e89147
3 changed files with 12 additions and 4 deletions

View file

@ -187,7 +187,7 @@ public class MakeBuilder extends ACBuilder {
last = new Integer(100); last = new Integer(100);
} }
StreamMonitor streamMon = new StreamMonitor(new SubProgressMonitor(monitor, 100), cos, last.intValue()); StreamMonitor streamMon = new StreamMonitor(new SubProgressMonitor(monitor, 100), cos, last.intValue());
ErrorParserManager epm = new ErrorParserManager(getProject(), this, info.getErrorParsers()); ErrorParserManager epm = new ErrorParserManager(getProject(), workingDirectory, this, info.getErrorParsers());
epm.setOutputStream(streamMon); epm.setOutputStream(streamMon);
OutputStream stdout = epm.getOutputStream(); OutputStream stdout = epm.getOutputStream();
OutputStream stderr = epm.getOutputStream(); OutputStream stderr = epm.getOutputStream();

View file

@ -1,3 +1,7 @@
2004-05-19 Alain Magloire
Partial Fix for PR 61341
2004-05-19 Alain Magloire 2004-05-19 Alain Magloire
Contribution from Sam Robb, for PR 52864. Contribution from Sam Robb, for PR 52864.

View file

@ -58,6 +58,10 @@ public class ErrorParserManager extends OutputStream {
} }
public ErrorParserManager(IProject project, IMarkerGenerator markerGenerator, String[] parsersIDs) { public ErrorParserManager(IProject project, IMarkerGenerator markerGenerator, String[] parsersIDs) {
this(project, project.getLocation(), markerGenerator, parsersIDs);
}
public ErrorParserManager(IProject project, IPath workingDirectory, IMarkerGenerator markerGenerator, String[] parsersIDs) {
fProject = project; fProject = project;
if (parsersIDs == null) { if (parsersIDs == null) {
enableAllParsers(); enableAllParsers();
@ -69,10 +73,10 @@ public class ErrorParserManager extends OutputStream {
} }
} }
fMarkerGenerator = markerGenerator; fMarkerGenerator = markerGenerator;
initErrorParserManager(); initErrorParserManager(workingDirectory);
} }
private void initErrorParserManager() { private void initErrorParserManager(IPath workingDirectory) {
fFilesInProject = new HashMap(); fFilesInProject = new HashMap();
fNameConflicts = new ArrayList(); fNameConflicts = new ArrayList();
fDirectoryStack = new Vector(); fDirectoryStack = new Vector();
@ -83,7 +87,7 @@ public class ErrorParserManager extends OutputStream {
fNameConflicts.clear(); fNameConflicts.clear();
List collectedFiles = new ArrayList(); List collectedFiles = new ArrayList();
fBaseDirectory = fProject.getLocation(); fBaseDirectory = (workingDirectory == null || workingDirectory.isEmpty()) ? fProject.getLocation() : workingDirectory;
collectFiles(fProject, collectedFiles); collectFiles(fProject, collectedFiles);
for (int i = 0; i < collectedFiles.size(); i++) { for (int i = 0; i < collectedFiles.size(); i++) {