Community
Participate
Working Groups
IBuildRunner was added in bug 322458. Unfortunately as an interface, it's tough to extend. For example passing the platform build configurations to an interested builder is not possible without breaking API. I think this API should be like the platform IncProjBuilder API. Something like: - InternalBuildRunner (internal) + AbstractBuildRunner (public API) | +- Extenders BuildRunner which can use the API I'd like to do this for CDT8 as this is brand new API and I already need to change it...
BTW I'll do this without breaking the existing contract of #invokeBuild so anyone already using this (Doug?) won't have to change code.
Cool. +1 from me.
Created attachment 190990 [details] patch 1 Simple patch to change interface IBuildRunner to an abstract base class AbstractBuildRunner. Doug would you be OK with this change? If we don't do this maitaining API compatibility in the next release will be hard :(
(In reply to comment #2) > Cool. +1 from me. So to be clear comment 1 is a white lie. You'll have to change 'implements IBuildRunner' to 'extends AbstractBuildRunner'. Is this OK with you? We could maintain the interface, but no one should implement it -- as it's new in 8.0 it doesn't seem to make sense to keep it.
Fixed in HEAD
*** cdt cvs genie on behalf of jblackburn *** Bug 339703 IBuildRunner should be an abstract base class [-] IBuildRunner.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IBuildRunner.java?root=Tools_Project&view=markup [*] IBuilder.java 1.21 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IBuilder.java?root=Tools_Project&r1=1.20&r2=1.21 [*] InternalBuildRunner.java 1.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/InternalBuildRunner.java?root=Tools_Project&r1=1.1&r2=1.2 [*] ExternalBuildRunner.java 1.6 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.5&r2=1.6 [+] AbstractBuildRunner.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/AbstractBuildRunner.java?root=Tools_Project&revision=1.1&view=markup [*] buildDefinitions.exsd 1.49 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/schema/buildDefinitions.exsd?root=Tools_Project&r1=1.48&r2=1.49 [*] Builder.java 1.56 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java?root=Tools_Project&r1=1.55&r2=1.56