Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328250 - CommonBuilder should use EFSExtensionManager to determine build working directory
Summary: CommonBuilder should use EFSExtensionManager to determine build working direc...
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build (show other bugs)
Version: 7.0.1   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 7.0.2   Edit
Assignee: Chris Recoskie CLA
QA Contact: Andrew Gvozdev CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-20 10:55 EDT by Chris Recoskie CLA
Modified: 2010-10-28 15:23 EDT (History)
3 users (show)

See Also:


Attachments
proposed patch (1.82 KB, patch)
2010-10-20 10:55 EDT, Chris Recoskie CLA
recoskie: iplog-
Details | Diff
updated patch for cdt_7_0 (10.86 KB, patch)
2010-10-22 15:10 EDT, Chris Recoskie CLA
recoskie: iplog-
Details | Diff
patch for HEAD (11.74 KB, patch)
2010-10-22 15:10 EDT, Chris Recoskie CLA
recoskie: iplog-
Details | Diff
fix for version numbers on cdt_7_0 (1.49 KB, patch)
2010-10-28 14:53 EDT, Chris Recoskie CLA
recoskie: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Recoskie CLA 2010-10-20 10:55:42 EDT
Created attachment 181297 [details]
proposed patch

CommonBuilder currently has the following code in invokeMake(...):

IPath workingDirectory = ManagedBuildManager.getBuildLocation(cfg, builder);
URI workingDirectoryURI = ManagedBuildManager.getBuildLocationURI(cfg, builder);

The workingDirectory is then passed to the command launcher when launching make.  The workingDirectoryURI is currently only used for the error parser manager.

Unforunately, this approach does not worked for linked EFS filesystems.

The attached patch changes it so the workingDirectoryURI is used in conjunction with EFSExtensionManager to get a corresponding path.  That path is then passed to the command launcher.

I have tested this with both a remote, virtual EFS provider, and with a local CygWin project, and all seems fine.  MBS Core tests all pass as well.
Comment 1 Andrew Gvozdev CLA 2010-10-20 12:38:08 EDT
Looks good to me. It should work for scanner discovery too I think.
Your patch does not apply on HEAD though.
Comment 2 Chris Recoskie CLA 2010-10-22 15:10:14 EDT
Created attachment 181539 [details]
updated patch for cdt_7_0

New patch for CDT 7 attached.
Comment 3 Chris Recoskie CLA 2010-10-22 15:10:44 EDT
Created attachment 181540 [details]
patch for HEAD
Comment 4 Chris Recoskie CLA 2010-10-26 15:27:34 EDT
Patches applied to cdt_7_0 and HEAD.
Comment 5 CDT Genie CLA 2010-10-26 16:23:04 EDT
*** cdt cvs genie on behalf of crecoskie ***
Bug 328250 - CommonBuilder should use EFSExtensionManager to determine build working directory

[*] CommonBuilder.java 1.47.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/CommonBuilder.java?root=Tools_Project&r1=1.47&r2=1.47.2.1
[*] GeneratedMakefileBuilder.java 1.78.2.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java?root=Tools_Project&r1=1.78.2.2&r2=1.78.2.3

[*] MakeBuilder.java 1.58.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java?root=Tools_Project&r1=1.58&r2=1.58.2.1

[*] MakeMessages.properties 1.15.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/MakeMessages.properties?root=Tools_Project&r1=1.15&r2=1.15.2.1

[*] DefaultRunSIProvider.java 1.22.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java?root=Tools_Project&r1=1.22&r2=1.22.2.1

[*] ExternalBuildRunner.java 1.5 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ExternalBuildRunner.java?root=Tools_Project&r1=1.4&r2=1.5

[*] GeneratedMakefileBuilder.java 1.82 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java?root=Tools_Project&r1=1.81&r2=1.82

[*] MakeBuilder.java 1.59 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java?root=Tools_Project&r1=1.58&r2=1.59
[*] MakeBuilderUtil.java 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilderUtil.java?root=Tools_Project&r1=1.7&r2=1.8

[*] MakeMessages.properties 1.16 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/MakeMessages.properties?root=Tools_Project&r1=1.15&r2=1.16

[*] MANIFEST.MF 1.16 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/META-INF/MANIFEST.MF?root=Tools_Project&r1=1.15&r2=1.16

[*] DefaultRunSIProvider.java 1.23 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig2/DefaultRunSIProvider.java?root=Tools_Project&r1=1.22&r2=1.23
Comment 7 Chris Recoskie CLA 2010-10-28 14:53:44 EDT
Created attachment 181981 [details]
fix for version numbers on cdt_7_0
Comment 8 CDT Genie CLA 2010-10-28 15:23:06 EDT
*** cdt cvs genie on behalf of crecoskie ***
Bug 328250 - CommonBuilder should use EFSExtensionManager to determine build working directory
Fix the version numbers.

[*] MANIFEST.MF 1.15.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.make.core/META-INF/MANIFEST.MF?root=Tools_Project&r1=1.15&r2=1.15.2.1

[*] MANIFEST.MF 1.22.2.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/META-INF/MANIFEST.MF?root=Tools_Project&r1=1.22.2.1&r2=1.22.2.2