<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>org.eclipse.emf.cdo.examples.master</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
			<triggers>auto,full,incremental,</triggers>
			<arguments>
				<dictionary>
					<key>LaunchConfigHandle</key>
					<value>&lt;project&gt;/.externalToolBuilders/pullServerConfig.launch</value>
				</dictionary>
				<dictionary>
					<key>incclean</key>
					<value>true</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.ui.externaltools.ExternalToolBuilder</name>
			<triggers>auto,full,incremental,</triggers>
			<arguments>
				<dictionary>
					<key>LaunchConfigHandle</key>
					<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.emf.cdo.examples.master.launch</value>
				</dictionary>
				<dictionary>
					<key>incclean</key>
					<value>true</value>
				</dictionary>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.oomph.version.VersionBuilder</name>
			<arguments>
				<dictionary>
					<key>check.maven.pom</key>
					<value>true</value>
				</dictionary>
				<dictionary>
					<key>ignore.lower.bound.dependency.ranges</key>
					<value>true</value>
				</dictionary>
				<dictionary>
					<key>release.path</key>
					<value>/org.eclipse.emf.cdo.releng/versions/release.xml</value>
				</dictionary>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.pde.PluginNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.eclipse.oomph.version.VersionNature</nature>
	</natures>
	<filteredResources>
		<filter>
			<id>1396938000000</id>
			<name></name>
			<type>10</type>
			<matcher>
				<id>org.eclipse.ui.ide.multiFilter</id>
				<arguments>1.0-projectRelativePath-matches-true-false-target</arguments>
			</matcher>
		</filter>
	</filteredResources>
</projectDescription>
