<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>org.eclipse.net4j.db.oracle</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.api.tools.apiAnalysisBuilder</name>
			<arguments>
			</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>ignore.missing.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.pde.api.tools.apiAnalysisNature</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>
