<?xml version="1.0" encoding="UTF-8"?>

<!--
/*******************************************************************************
 * Copyright (c) 2000, 2008 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 at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Martin Karpisek (martin.karpisek@gmail.com) - bug 199014
 *******************************************************************************/ 
-->

<templates>

<template 
	context="org.eclipse.ant.ui.templateContextType.task" 
	description="%javacTemplate1.description" 
	id="org.eclipse.ant.ui.templates.javac1" 
	name="javac">&lt;javac srcdir=&quot;${src}&quot;
         destdir=&quot;${dst}&quot;
         classpath=&quot;${jarfile}&quot;
         debug=&quot;${on}&quot;
	/&gt;${cursor}</template>

<template 
	context="org.eclipse.ant.ui.templateContextType.task" 
	description="%filesetTemplate1.description" 
	id="org.eclipse.ant.ui.templates.fileset1" 
	name="fileset"><![CDATA[<fileset dir="${dir}" id="${id}">
    <include name="${include}"/>
    <exclude name="${exclude}"/>
</fileset>
${cursor}]]></template>

<template 
    context="org.eclipse.ant.ui.templateContextType.task" 
    description="%deleteTemplate1.description" 
    id="org.eclipse.ant.ui.templates.delete1" 
    name="delete"><![CDATA[<delete>
	<fileset dir="${dir}">
	    <include name="${include}"/>
	    <exclude name="${exclude}"/>
	</fileset>
</delete>
${cursor}]]></template>

<template 
    context="org.eclipse.ant.ui.templateContextType.task" 
    description="%deleteTemplate2.description" 
    id="org.eclipse.ant.ui.templates.delete2" 
    name="delete"><![CDATA[<delete>
    <fileset refid="${cursor}"/>
</delete>]]>
</template>

<template 
    context="org.eclipse.ant.ui.templateContextType.task" 
    description="%propertyTemplate1.description" 
    id="org.eclipse.ant.ui.templates.property1" 
    name="property">&lt;property name=&quot;${name}&quot; location=&quot;${location}&quot;/&gt;
</template>

<template 
    context="org.eclipse.ant.ui.templateContextType.task" 
    description="%propertyTemplate2.description" 
    id="org.eclipse.ant.ui.templates.property2" 
    name="property">&lt;property name=&quot;${name}&quot; value=&quot;${value}&quot;/&gt;
</template>

<template 
	context="org.eclipse.ant.ui.templateContextType.target" 
	description="%targetTemplate1.description" 
	id="org.eclipse.ant.ui.templates.target1" 
	name="target"><![CDATA[<!-- ================================= 
          target: ${name}              
         ================================= -->
    <target name="${name}" depends="${depends}" description="${description}">
        ${cursor}
    </target>
]]></template>

<template 
    context="org.eclipse.ant.ui.templateContextType.target" 
    description="%targetTemplate2.description" 
    id="org.eclipse.ant.ui.templates.target2" 
    name="target"><![CDATA[<!-- - - - - - - - - - - - - - - - - - 
          target: ${name}                      
         - - - - - - - - - - - - - - - - - -->
    <target name="${name}">
            ${cursor}
    </target>
]]></template>

<template 
    context="org.eclipse.ant.ui.templateContextType.task" 
    description="%macrodefTemplate.description" 
    id="org.eclipse.ant.ui.templates.macrodef" 
    name="macrodef"><![CDATA[<!-- = = = = = = = = = = = = = = = = =
          macrodef: ${name}          
         = = = = = = = = = = = = = = = = = -->
    <macrodef name="${name}">
        <attribute name="${argname}" default="${default}" />
        <sequential>
            ${cursor}
        </sequential>
    </macrodef>
]]></template>

<template 
	context="org.eclipse.ant.ui.templateContextType.buildFile" 
	description="%buildFileTemplate1.description" 
	id="org.eclipse.ant.ui.templates.buildFile1" 
	name="%buildFileTemplate1.name"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     ${date} ${time}                                                        

     ${project}    
     ${description}
                   
     ${user}                                                                
     ====================================================================== -->
<project name="${project}" default="${default}">
    <description>
            ${description}
    </description>

    <!-- ================================= 
          target: ${default}              
         ================================= -->
    <target name="${default}" depends="${depends}" description="${description}">
        ${cursor}
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: ${depends}                      
         - - - - - - - - - - - - - - - - - -->
    <target name="${depends}">
    </target>

</project>
]]></template>

<template name="%antComment.name" description="%antComment.description"
	context="org.eclipse.ant.ui.templateContextType.buildFile" 
	id="org.eclipse.ant.ui.templates.comment1" ><![CDATA[<!-- ${word_selection}-->]]></template>

<template name="%antComment.name" description="%antComment.description"
	context="org.eclipse.ant.ui.templateContextType.task" 
	id="org.eclipse.ant.ui.templates.comment2"><![CDATA[<!-- ${word_selection}-->]]></template>

<template name="%antLineComment.name" description="%antLineComment.description"
	context="org.eclipse.ant.ui.templateContextType.buildFile" 
	id="org.eclipse.ant.ui.templates.comment3"><![CDATA[<!--
${line_selection}
-->]]></template>

<template name="%antLineComment.name" description="%antLineComment.description"
	context="org.eclipse.ant.ui.templateContextType.task"
	id="org.eclipse.ant.ui.templates.comment4"><![CDATA[<!--
${line_selection}
-->]]></template>

</templates>