<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>org.eclipse.xsd.ecore.importer</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.pde.ManifestBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.pde.SchemaBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
			<arguments>
				<dictionary>
					<key>ignore.missing.dependency.ranges</key>
					<value>true</value>
				</dictionary>
				<dictionary>
					<key>ignore.missing.export.versions</key>
					<value>true</value>
				</dictionary>
				<dictionary>
					<key>ignore.schema.builder</key>
					<value>true</value>
				</dictionary>
				<dictionary>
					<key>release.path</key>
					<value>/org.eclipse.xsd/release.xml</value>
				</dictionary>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
			<arguments>
				<dictionary>
					<key>LaunchConfigHandle</key>
					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.xsd.ecore.importer.build.ant_tasks.launch</value>
				</dictionary>
				<dictionary>
					<key>incclean</key>
					<value>true</value>
				</dictionary>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.eclipse.pde.PluginNature</nature>
		<nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
	</natures>
</projectDescription>
