diff --git a/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/exampletemplate.html b/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/exampletemplate.html index 8847bc1e5b4..0f916442609 100644 --- a/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/exampletemplate.html +++ b/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/exampletemplate.html @@ -35,7 +35,7 @@ The following is an example template to create a simple Symbian OS EXE project:

-

<?xml version="1.0" encoding="ISO-8859-1"?>
<template type="ProjTempl" version="1.0" supplier="Symbian" revision="1.0" author="Bala Torati"
        id="EXE" label="Simple EXE" description="A skeletal Symbian OS EXE project. Creates a folder for sources and another for include."
         help="help.html">

    <property-group id="basics" label="Basic Settings" description="Basic properties of a project" type="PAGES-ONLY" help="help.html">
        
<property id="uid2"
            label="UID 2"
            description="UID 2"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="true"
            persist="true"/>
        
<property id="uid3"
            label="UID 3"
            description="UID 3"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="false"
            persist="true"/>

<property id="vid"
            label="Vendor ID"
            description="Vendor ID"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="true"
            persist="true"/>

<property id="author"
            label="Author"
            description="Name of the author"
            type="input"
            pattern=".*"
            default=""
            hidden="false"
            persist="true"/>

<property id="copyright"
            label="Copyright notice"
            description="Your copyright notice"
            type="input"
            pattern=".*"
            default="Your copyright notice"
            hidden="false"
            persist="true"/>

<property id="targetType"
            label="Target Type"
            description="Select the target type"
            type="select"
            hidden="false"
            mandatory="true"
            persist="true">
            <item label="APP" selected="true" name="app"/>
            <item label="LIB" selected="false" name="lib"/>
            <item label="DLL" selected="false" name="dll"/>
            <item label="EXE" selected="false" name="exe"/>
            <item label="EXEDLL" selected="false" name="exedll"/>
        </property>
    </property-group>

    <property-group id="directories" label="Project Directories" description="Generated files will be copied to the specified directories under the project root directory" type="PAGES-ONLY" help="help.html">
    <property id="incDir"
                label="Include"
                description="Directory for C++ header files"
                type="input"
        default="inc"
                pattern="[a-zA-Z0-9]+"
                mandatory="true"
                persist="true"/>

    <property id="sourceDir"
                label="Source"
                description="Directory for C++ source files"
                type="input"
                default="src"
                pattern="[a-zA-Z0-9]+"
                mandatory="true"
                persist="true"/>
    </property-group>
    
    <process type="org.eclipse.cdt.templates.NewSymbianProject">
        <simple name="name" value="$(projectName)"/>
        <simple name="targetType" value="$(targetType)"/>
        <simple name="uid2" value="$(uid2)"/>
        <simple name="uid3" value="$(uid3)"/>
        <simple name="vid" value="$(vid)"/>
    </process>

    <process type="org.eclipse.cdt.templateengine.CreateSourceFolder">
        <simple name="projectName" value="$(projectName)"/>
        <simple name="path" value="$(sourceDir)"/>
    </process>

    <process type="org.eclipse.cdt.templateengine.CreateIncludeFolder">
        <simple name="projectName" value="$(projectName)"/>
        <simple name="path" value="$(incDir)"/>
    </process>

    <process type="org.eclipse.cdt.templateengine.AddFiles">
        <simple name="projectName" value="$(projectName)"/>
        <complex-array name="files">
            <element>
                <simple name="source" value="inc/Basename.h"/>
                <simple name="target" value="$(incDir)/$(baseName).h"/>
                <simple name="replaceable" value="true"/>
            </element>
            <element>
                <simple name="source" value="src/Basename.cpp"/>
                <simple name="target" value="$(sourceDir)/$(baseName).cpp"/>
                <simple name="replaceable" value="true"/>
            </element>
        </complex-array>
    </process>

    <process type="org.eclipse.cdt.templateengine.AppendToMBSStringListOptionValues">
        <simple +

<?xml version="1.0" encoding="ISO-8859-1"?>
<template type="ProjTempl" version="1.0" supplier="Symbian" revision="1.0" author="Bala Torati"
        id="EXE" label="Simple EXE" description="A skeletal Symbian OS EXE project. Creates a folder for sources and another for include."
         help="help.html">

    <property-group id="basics" label="Basic Settings" description="Basic properties of a project" type="PAGES-ONLY" help="help.html">
        
<property id="uid2"
            label="UID 2"
            description="UID 2"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="true"
            persist="true"/>
        
<property id="uid3"
            label="UID 3"
            description="UID 3"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="false"
            persist="true"/>

<property id="vid"
            label="Vendor ID"
            description="Vendor ID"
            default="0x00000000"
            type="input"
            pattern="0x[0-9a-fA-F]{8}"
            hidden="false"
            mandatory="true"
            persist="true"/>

<property id="author"
            label="Author"
            description="Name of the author"
            type="input"
            pattern=".*"
            default=""
            hidden="false"
            persist="true"/>

<property id="copyright"
            label="Copyright notice"
            description="Your copyright notice"
            type="input"
            pattern=".*"
            default="Your copyright notice"
            hidden="false"
            persist="true"/>

<property id="targetType"
            label="Target Type"
            description="Select the target type"
            type="select"
            hidden="false"
            mandatory="true"
            persist="true">
            <item label="APP" selected="true" name="app"/>
            <item label="LIB" selected="false" name="lib"/>
            <item label="DLL" selected="false" name="dll"/>
            <item label="EXE" selected="false" name="exe"/>
            <item label="EXEDLL" selected="false" name="exedll"/>
        </property>
    </property-group>

    <property-group id="directories" label="Project Directories" description="Generated files will be copied to the specified directories under the project root directory" type="PAGES-ONLY" help="help.html">
    <property id="incDir"
                label="Include"
                description="Directory for C++ header files"
                type="input"
        default="inc"
                pattern="[a-zA-Z0-9]+"
                mandatory="true"
                persist="true"/>

    <property id="sourceDir"
                label="Source"
                description="Directory for C++ source files"
                type="input"
                default="src"
                pattern="[a-zA-Z0-9]+"
                mandatory="true"
                persist="true"/>
    </property-group>
    
    <process type="org.eclipse.cdt.templates.NewSymbianProject">
        <simple name="name" value="$(projectName)"/>
        <simple name="targetType" value="$(targetType)"/>
        <simple name="uid2" value="$(uid2)"/>
        <simple name="uid3" value="$(uid3)"/>
        <simple name="vid" value="$(vid)"/>
    </process>

    <process type="org.eclipse.cdt.core.templateengine.process.processes.CreateSourceFolder">
        <simple name="projectName" value="$(projectName)"/>
        <simple name="path" value="$(sourceDir)"/>
    </process>

    <process type="org.eclipse.cdt.managedbuilder.templateengine.processes.CreateIncludeFolder">
        <simple name="projectName" value="$(projectName)"/>
        <simple name="path" value="$(incDir)"/>
    </process>

    <process type="org.eclipse.cdt.core.templateengine.process.processes.AddFiles">
        <simple name="projectName" value="$(projectName)"/>
        <complex-array name="files">
            <element>
                <simple name="source" value="inc/Basename.h"/>
                <simple name="target" value="$(incDir)/$(baseName).h"/>
                <simple name="replaceable" value="true"/>
            </element>
            <element>
                <simple name="source" value="src/Basename.cpp"/>
                <simple name="target" value="$(sourceDir)/$(baseName).cpp"/>
                <simple name="replaceable" value="true"/>
            </element>
        </complex-array>
    </process>

    <process type="org.eclipse.cdt.managedbuilder.templateengine.processes.AppendToMBSStringListOptionValues">
        <simple name="projectName" value= "$(projectName)"/>      
        <complex-array name="resourcePaths">
            <element>
                <simple name="id" value=".*linker\.libraries\.libraries.*" />
                <simple-array name="values">
                    <element value="euser.lib" />
                </simple-array>
                <simple name="path" value="" />
            </element>
        </complex-array>
    </process>
</template>

The above given template copies the following source (.cpp)