# Template Associations

###### Identifier:

org.eclipse.cdt.core.templateAssociations

###### Since:

CDT 4.0

###### Description:

This extension-point allows developers to specify toolchains that should be enabled for selection for use with a pre-existing template. This solves the problem over how ISV's can have templates defined and shipped with CDT support their own toolchains, without having to modify CDT itself.

###### Configuration Markup:

<!ELEMENT extension (template+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

Each extension consists of a sequence of template elements, each of which define child elements for the new toolchains that should be enabled for selection during new project creation.

- id - The unique identifier for this extension

<!ELEMENT toolChain EMPTY>

<!ATTLIST toolChain

id IDREF #REQUIRED>

This element is used to reference an existing toolchain by its unique identifier.

- id - The unique identifier of a toolchain contributed to the org.eclipse.cdt.managedbuilder.core.buildDefinitions extension point.

<!ELEMENT template (toolChain*)>

<!ATTLIST template

id IDREF #REQUIRED>

This element references an existing template contribution's unique identifier in order that toolchains contributed separately to the template can be made selectable on project creation.

- id - The unique identifier of the template-contribution (the id in plugin.xml rather than the template.xml) that should have the specified additional toolchains enabled for selection during new project creation.

###### Examples:

If you developed toolchain's with ids "com.foobar.toolchain1.base" and "com.foobar.toolchain2.base", which you wanted enabled for the empty project type built into the cdt core, you could use the following to achieve this:

    <extension point="org.eclipse.cdt.core.templateAssociations">
       <template id="org.eclipse.cdt.build.core.templates.EmptyProject">
          <toolChain id="com.foobar.toolchain1.base"/>
          <toolChain id="com.foobar.toolchain2.base"/>
       </template>
    </extension>

Copyright (c) 2007 Symbian Software Limited and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: Symbian - Initial API and implementation