<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>org.eclipse.ocl.examples.build</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.ocl.pivot.ui.oclbuilder</name>
			<arguments>
				<dictionary>
					<key>disabledExtensions</key>
					<value>*,essentialocl,uml</value>
				</dictionary>
				<dictionary>
					<key>disabledPaths</key>
					<value>bin/**,target/**</value>
				</dictionary>
				<dictionary>
					<key>enabledExtensions</key>
					<value>ecore,ocl,oclinecore,oclstdlib</value>
				</dictionary>
				<dictionary>
					<key>enabledPaths</key>
					<value>**</value>
				</dictionary>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.m2m.qvt.oml.project.QVTOBuilder</name>
			<arguments>
				<dictionary>
					<key>src_container</key>
					<value>src</value>
				</dictionary>
			</arguments>
		</buildCommand>
		<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>
	</buildSpec>
	<natures>
		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
		<nature>org.eclipse.m2m.qvt.oml.project.QVTONature</nature>
		<nature>org.eclipse.pde.PluginNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.eclipse.ocl.pivot.ui.oclnature</nature>
	</natures>
</projectDescription>
