Interface ICBuildConfiguration

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IScannerInfoProvider
All Known Implementing Classes:
CBuildConfiguration, ErrorBuildConfiguration, StandardBuildConfiguration

public interface ICBuildConfiguration extends org.eclipse.core.runtime.IAdaptable, IScannerInfoProvider
This is the root interface for "new style" CDT build configurations. Adapting IBuildConfiguration to this interface will get you one of these. From here, adapt to the specific interface that you need and the configuration will provide one.
Since:
6.0
  • Field Details

    • DEFAULT_NAME

      static final String DEFAULT_NAME
      CDT doesn't like that the Platform default config name is an empty string. It needs a real name for the name of the build directory, for example.
      See Also:
    • TOOLCHAIN_TYPE

      static final String TOOLCHAIN_TYPE
      Since:
      6.4
      See Also:
    • TOOLCHAIN_ID

      static final String TOOLCHAIN_ID
      Since:
      6.4
      See Also:
  • Method Details

    • getBuildConfiguration

      org.eclipse.core.resources.IBuildConfiguration getBuildConfiguration() throws org.eclipse.core.runtime.CoreException
      Returns the resources build configuration that this CDT build configuration is associated with.
      Returns:
      resources build configuration
      Throws:
      org.eclipse.core.runtime.CoreException
    • getToolChain

      IToolChain getToolChain() throws org.eclipse.core.runtime.CoreException
      Build Configurations are configurations for a given toolchain.
      Returns:
      the toolchain for this build configuration
      Throws:
      org.eclipse.core.runtime.CoreException
    • getLaunchMode

      default String getLaunchMode()
      Return the launch mode associated with this build configuration.
      Since:
      6.4
    • getBinaryParserIds

      List<String> getBinaryParserIds() throws org.eclipse.core.runtime.CoreException
      Ids for the Binary Parsers to use when checking whether a file is a binary that can be launched.
      Returns:
      binary parser ids
      Throws:
      org.eclipse.core.runtime.CoreException
      Since:
      8.0
    • getVariable

      IEnvironmentVariable getVariable(String name) throws org.eclipse.core.runtime.CoreException
      Return a build environment variable with a given name.
      Parameters:
      name - build environment variable name
      Returns:
      value of the build environment variable.
      Throws:
      org.eclipse.core.runtime.CoreException
    • getVariables

      IEnvironmentVariable[] getVariables() throws org.eclipse.core.runtime.CoreException
      Return all of the build environment variables for this configuration.
      Returns:
      environment variables
      Throws:
      org.eclipse.core.runtime.CoreException
    • build

      org.eclipse.core.resources.IProject[] build(int kind, Map<String,String> args, IConsole console, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
      Perform the build.
      Parameters:
      kind - build type
      args - build arguments
      console - console to show build output
      monitor - progress monitor
      Returns:
      the list of projects for which this builder would like deltas the next time it is run or null if none
      Throws:
      org.eclipse.core.runtime.CoreException
    • clean

      void clean(IConsole console, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
      Perform clean.
      Parameters:
      console - console to show clean output
      monitor - progress monitor
      Throws:
      org.eclipse.core.runtime.CoreException
    • getBuildOutput

      default IBinary[] getBuildOutput() throws org.eclipse.core.runtime.CoreException
      The binaries produced by the build.
      Returns:
      binaries produced by the build.
      Throws:
      org.eclipse.core.runtime.CoreException
      Since:
      6.1
    • setBuildEnvironment

      default void setBuildEnvironment(Map<String,String> env)
      Set the environment for the builds. Generally the environment from a ProcessBuilder would be passed here.
      Parameters:
      env - build environment
      Since:
      6.1
    • setProperties

      default boolean setProperties(Map<String,String> properties)
      Set the properties for this build configuration. These will often come from launch configurations which have build settings as attributes.
      Parameters:
      properties - build properties
      Returns:
      whether the properties have changed
      Since:
      6.2
    • getProperties

      default Map<String,String> getProperties()
      Return the properties for this build configuration.
      Returns:
      default properties
      Since:
      6.2
    • getDefaultProperties

      default Map<String,String> getDefaultProperties()
      Returns the default values for the properties.
      Since:
      6.2
    • setProperty

      default void setProperty(String name, String value)
      Set a property to the given value.
      Parameters:
      name - the name of the property
      value - the new value for the property
      Since:
      6.4
    • removeProperty

      default void removeProperty(String name)
      Remove the named property.
      Parameters:
      name - name of the property
      Since:
      6.4
    • getProperty

      default String getProperty(String name)
      Return the named property.
      Parameters:
      name - the name of the property
      Since:
      6.4
    • supportsProperties

      default boolean supportsProperties(Map<String,String> properties)
      Returns whether this build configuration supports the given build properties.
      Parameters:
      properties - build properties
      Returns:
      whether this build configuration supports those properties
      Since:
      6.2