Managed Build Tools 2.0 (deprecated)

Identifier:
org.eclipse.cdt.core.ManagedBuildTools

Since:
1.2

Description:
The managed build information model describes targets, configurations, and toolchains for the build system.

Configuration Markup:

<!ELEMENT extension (target , tool , configuration , dynamicElementProvider , managedBuildRevision)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT tool (option , optionCategory)>

<!ATTLIST tool

id                   CDATA #REQUIRED

name                 CDATA #REQUIRED

sources              CDATA #IMPLIED

outputs              CDATA #IMPLIED

command              CDATA #IMPLIED

outputFlag           CDATA #IMPLIED

outputPrefix         CDATA #IMPLIED

dependencyCalculator CDATA #IMPLIED

headerExtensions     CDATA #IMPLIED

natureFilter         (cnature|ccnature|both) >

Defines a tool used in the build process.



<!ELEMENT option (enumeratedOptionValue , listOptionValue)>

<!ATTLIST option

id           CDATA #REQUIRED

name         CDATA #REQUIRED

valueType    (string|stringList|boolean|enumerated|includePath|definedSymbols|libs|userObjs) "string"

category     CDATA #IMPLIED

defaultValue CDATA #IMPLIED

command      CDATA #IMPLIED

commandFalse CDATA #IMPLIED

browseType   (none|file|directory)

helpSupplier CDATA #IMPLIED

tip          CDATA #IMPLIED>

An option is associated with a tool. Options can contain boolean values, a simple text string, a selection from an enumerated list, or a list of values. Options also map the value they contain to a command-line flag, such as '-g' in the case of debugging symbol information for compilers.



<!ELEMENT enumeratedOptionValue EMPTY>

<!ATTLIST enumeratedOptionValue

id        CDATA #REQUIRED

name      CDATA #REQUIRED

isDefault (true | false)

command   CDATA #IMPLIED>

Defines a single value of an enumerated option.



<!ELEMENT configuration (toolReference)>

<!ATTLIST configuration

id   CDATA #REQUIRED

name CDATA #REQUIRED>

A configuration is used to gather together certain default tools and options to build target a certain way. For example, a "Debug" configuration might supply tools with the options set to build with debugging symbols, whereas a "Release" configuration would supply tools with options set to create the best performance.



<!ELEMENT toolReference (optionReference)>

<!ATTLIST toolReference

id           CDATA #REQUIRED

command      CDATA #IMPLIED

outputs      CDATA #IMPLIED

outputPrefix CDATA #IMPLIED

outputFlag   CDATA #IMPLIED>

This is reserved for future use. It currently gets instantiated for saving tool settings.



<!ELEMENT optionReference (listOptionValue , enumeratedOptionValue)>

<!ATTLIST optionReference

id           CDATA #REQUIRED

defaultValue CDATA #IMPLIED

command      CDATA #IMPLIED>

Option references hold onto information the user has changed through the UI. Not all fields will be populated, depending on the option type the reference overrides. For example, the 'name' field is used by enumerated options only.



<!ELEMENT target (tool , configuration , toolReference)>

<!ATTLIST target

id                   CDATA #REQUIRED

name                 CDATA #IMPLIED

isAbstract           (true | false) "false"

parent               CDATA #IMPLIED

artifactName         CDATA #IMPLIED

defaultExtension     CDATA #IMPLIED

isTest               (true | false)

cleanCommand         CDATA #IMPLIED

makeCommand          CDATA #IMPLIED

makeArguments        CDATA #IMPLIED

binaryParser         CDATA #IMPLIED

osList               CDATA #IMPLIED

archList             CDATA #IMPLIED

errorParsers         CDATA #IMPLIED

scannerInfoCollector CDATA #IMPLIED

makefileGenerator    CDATA #IMPLIED>

Represents a type of resource that is the target of the build process, for example, a Linux static library. A target contains a sequence of tool definitions and configurations. Targets are arranged in an inheritance hierarchy where a target inherits the list of tools from it's parent and can add to or override tools in this list.



<!ELEMENT optionCategory EMPTY>

<!ATTLIST optionCategory

id    CDATA #REQUIRED

name  CDATA #IMPLIED

owner CDATA #IMPLIED>

An optional, but useful, mechanism for grouping options together.



<!ELEMENT listOptionValue EMPTY>

<!ATTLIST listOptionValue

value   CDATA #REQUIRED

builtIn (true | false) >

A value for defining individual elements of a list option.



<!ELEMENT dynamicElementProvider EMPTY>

<!ATTLIST dynamicElementProvider

class CDATA #REQUIRED

name  CDATA #REQUIRED>

An optional element that allows a tool implementor to supply a class that creates one or more dynamic toolchain elements. For example, the class might create a new tool reference based on the contents of a special file, and a new target that uses that reference.



<!ELEMENT managedBuildRevision EMPTY>

<!ATTLIST managedBuildRevision

fileVersion CDATA #REQUIRED>

Version identifier for the managed build extension point. It is a string representation, consisting of three (3) tokens separated by a decimal point. The 3 tokens are positive integer numbers. For example, the following are valid version identifiers:



Examples:
The following is an example of the extension point usage:


   <extension
         id="buildExample"
         name="Tools for Build Example"
         point="org.eclipse.cdt.core.ManagedBuildInfo">
      <target
            makeFlags="-k"
            isTest="false"
            cleanCommand="rm -rf"
            name="Executable"
            defaultExtension=".exe"
            isAbstract="false"
            makeCommand="make"
            id="example.target.executable">
         <tool
               sources="C"
               name="Compiler"
               outputFlag="-o"
               outputs="exe"
               command="g++"
               id="executable.compiler">
            <optionCategory
                  owner="executable.compiler"
                  name="Flags"
                  id="compiler.category.flags">
            </optionCategory>
            <option
                  defaultValue="-c"
                  name="Compiler Flags"
                  category="compiler.category.flags"
                  valueType="string"
                  id="category.flags.comp_flags">
            </option>
         </tool>
         <configuration
               name="Default"
               id="example.config.default">
         </configuration>
      </target>
   </extension>

Supplied Implementation:
An implementation of this extension point is supplied in org.eclipse.cdt.ui


Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available on the Eclipse website.