diff --git a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/BuilderModel.java b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/BuilderModel.java index ca9c3571c39..0ff359c0822 100644 --- a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/BuilderModel.java +++ b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/BuilderModel.java @@ -26,14 +26,14 @@ public class BuilderModel { public static String getBuilderId () { return BUILDER_ID; } - +/* public IBuildPath getBuildPath(IProject project) { return null; } public void setBuildPath(IProject project, IBuildPath bp) { } - +*/ public void addBuildListener () { } diff --git a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/CIncrementalBuilder.java b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/CIncrementalBuilder.java new file mode 100644 index 00000000000..6e28ae54d50 --- /dev/null +++ b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/CIncrementalBuilder.java @@ -0,0 +1,76 @@ +package org.eclipse.cdt.core.builder; + +import java.util.Map; + +import org.eclipse.cdt.core.resources.IConsole; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IncrementalProjectBuilder; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; + +/* + * (c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + */ + +/** + * + * Note: This class/interface is part of an interim API that is still under development and + * expected to change significantly before reaching stability. It is being made available at + * this early stage to solicit feedback from pioneering adopters on the understanding that any + * code that uses this API will almost certainly be broken (repeatedly) as the API evolves. + */ +public class CIncrementalBuilder extends IncrementalProjectBuilder { + int kind; + Map args; + IProgressMonitor monitor; + + public int getkind() { + return kind; + } + + public Map getMap() { + return args; + } + + public IProgressMonitor monitor() { + return monitor; + } + + //FIXME: Not implemented + public IConsole getConsole() { + ICBuilder builder = getCBuilder(); + String id = builder.getID(); + return null; + } + + //FIXME: Not implemented + public IPath getBuildDirectory() { + return getProject().getLocation(); + } + + //FIXME: Not implemented + public String[] getBuildParameters() { + return new String[0]; + } + + protected IProject[] build(int kind, Map args, IProgressMonitor monitor) + throws CoreException { + + this.kind = kind; + this.args = args; + this.monitor = monitor; + + // Get the ICBuilder + ICBuilder cbuilder = getCBuilder(); + + // FIXME: Check preference for non-modal builds + return cbuilder.build(this); + } + + //FIXME: Not implemented + private ICBuilder getCBuilder () { + return null; + } +} diff --git a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IBuildPath.java b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IBuildPath.java deleted file mode 100644 index 024d0e89b69..00000000000 --- a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IBuildPath.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.eclipse.cdt.core.builder; - -/* - * (c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - */ -import org.eclipse.core.runtime.IPath; - -/** - * A BuildPath can contain the following: - */ - -public interface IBuildPath { - - public String[] getCPPOpts(); - public String[] getCPPFlags(); - public void setCPP(IPath p); - public void setCPPOpts(String[] s); - public void setCPPFlags(String[] s); - - public IPath getCXX(); - public String[] getCXXOPT(); - public String[] getCXXFlags(); - public void setCXX(IPath p); - public void setCXXOpts(String[] s); - public void setCXXFlags(String[] s); - - public IPath getCC(); - public String[] getCFLAGS(); - public String[] getCOpts(); - public void setCFLAGS(String[] s); - public void setCOpts(String[] s); - public void setCC(IPath p); - - public IPath getAS(); - public String[] getASFlags(); - public String[] getASOpts(); - public void getAS(IPath p); - public void getASOpts(String[] s); - public void getASFlags(String[] s); - - public IPath getLD(); - public String[] getLDOpts(); - public String[] getLDFlags(); - public void setLD(IPath p); - public void setLDOpts(String[] s); - public void setLDFlags(String[] s); - - public IPath getAR(); - public String[] getARFlags(); - public String[] getAROpts(); - public void setAR(IPath p); - public void setAROpts(String[] s); - public void setARFlags(String[] s); - - public IPath[] getIncVPath(); - public void setIncVPath(IPath[] p); - - public IPath[] getLibs(); - public void setLibs(IPath[] p); - - public IPath[] getLibVPath(); - public void setLibVPath(IPath[] p); - - public IPath[] getSRCVPath(); - public void setSRCVPath(IPath[] p); -} diff --git a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/ICBuilder.java b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/ICBuilder.java new file mode 100644 index 00000000000..3aa90aedffe --- /dev/null +++ b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/ICBuilder.java @@ -0,0 +1,80 @@ +package org.eclipse.cdt.core.builder; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.IPath; + +/* + * (c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + */ + +/** + * + * This class provides the infrastructure for defining a builder and fulfills the contract + * specified by the org.eclipse.cdt.core.cbuilder standard extension point. + + * Note: This class/interface is part of an interim API that is still under development and + * expected to change significantly before reaching stability. It is being made available at + * this early stage to solicit feedback from pioneering adopters on the understanding that any + * code that uses this API will almost certainly be broken (repeatedly) as the API evolves. + */ +public interface ICBuilder { + /** + * return the search include path list. + * @return IPath[] + */ + IPath[] getIncludePaths(); + + /** + * Change the search include path lists. + * @params IPath[] + */ + void setIncludePaths(IPath[] incPaths); + + /** + * return the search library path list. + * @return IPath[] + */ + IPath[] getLibraryPaths(); + + /** + * Change the search library path lists. + * @params IPath[] + */ + void setLibraryPaths(IPath[] libPaths); + + /** + * return the list of libraries use. + * @return String[] + */ + String[] getLibraries(); + + /** + * Change the libraries. + * @params String[] + */ + void setLibraries(String[] libs); + + /** + * Get the Optimization level. + * @params String[] + */ + IOptimization getOptimization(); + + /** + * Change the Optimization level. + * @params String[] + */ + void setOptimization(); + + /** + * Build the project. + */ + IProject[] build(CIncrementalBuilder cbuilder); + + /** + * Method getID. + * @return String + */ + String getID(); +} diff --git a/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IOptimization.java b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IOptimization.java new file mode 100644 index 00000000000..5e158345689 --- /dev/null +++ b/core/org.eclipse.cdt.core/builder/org/eclipse/cdt/core/builder/IOptimization.java @@ -0,0 +1,20 @@ +package org.eclipse.cdt.core.builder; + +/* + * (c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + */ + +/** + * + * Note: This class/interface is part of an interim API that is still under development and + * expected to change significantly before reaching stability. It is being made available at + * this early stage to solicit feedback from pioneering adopters on the understanding that any + * code that uses this API will almost certainly be broken (repeatedly) as the API evolves. + */ +public interface IOptimization { + String getDescription(int level); + int getCurrentLevel(); + void setCurrentLevel(int level); + int[] getLevels(); +}