<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>org.eclipse.core.resources</name>
	<comment></comment>
	<projects>
		<project>org.apache.xerces</project>
		<project>org.eclipse.core.boot</project>
		<project>org.eclipse.core.runtime</project>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
			<arguments>
				<dictionary>
					<key>!{tool_args}</key>
					<value>-DbuildType=${build_type}</value>
				</dictionary>
				<dictionary>
					<key>!{tool_loc}</key>
					<value>${workspace_loc:/org.eclipse.core.resources/scripts/buildExtraJAR.xml}</value>
				</dictionary>
				<dictionary>
					<key>!{tool_dir}</key>
					<value></value>
				</dictionary>
				<dictionary>
					<key>!{tool_refresh}</key>
					<value>${none}</value>
				</dictionary>
				<dictionary>
					<key>!{tool_name}</key>
					<value>org.eclipse.core.resources extra builder</value>
				</dictionary>
				<dictionary>
					<key>!{tool_type}</key>
					<value>org.eclipse.ui.externaltools.type.ant</value>
				</dictionary>
				<dictionary>
					<key>!{tool_show_log}</key>
					<value>true</value>
				</dictionary>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.pde.ManifestBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.pde.SchemaBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.eclipse.pde.PluginNature</nature>
	</natures>
</projectDescription>
