1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +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);
}
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);
OutputStream stdout = 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
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) {
this(project, project.getLocation(), markerGenerator, parsersIDs);
}
public ErrorParserManager(IProject project, IPath workingDirectory, IMarkerGenerator markerGenerator, String[] parsersIDs) {
fProject = project;
if (parsersIDs == null) {
enableAllParsers();
@ -69,10 +73,10 @@ public class ErrorParserManager extends OutputStream {
}
}
fMarkerGenerator = markerGenerator;
initErrorParserManager();
initErrorParserManager(workingDirectory);
}
private void initErrorParserManager() {
private void initErrorParserManager(IPath workingDirectory) {
fFilesInProject = new HashMap();
fNameConflicts = new ArrayList();
fDirectoryStack = new Vector();
@ -83,7 +87,7 @@ public class ErrorParserManager extends OutputStream {
fNameConflicts.clear();
List collectedFiles = new ArrayList();
fBaseDirectory = fProject.getLocation();
fBaseDirectory = (workingDirectory == null || workingDirectory.isEmpty()) ? fProject.getLocation() : workingDirectory;
collectFiles(fProject, collectedFiles);
for (int i = 0; i < collectedFiles.size(); i++) {