<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2013 BREDEX GmbH.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
 -->
<projectDescription>
	<name>org.eclipse.jubula.examples.aut.adder.javafx</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
	</natures>
	<filteredResources>
		<filter>
			<id>1409218333740</id>
			<name></name>
			<type>10</type>
			<matcher>
				<id>org.eclipse.ui.ide.multiFilter</id>
				<arguments>1.0-projectRelativePath-matches-false-false-target</arguments>
			</matcher>
		</filter>
	</filteredResources>
    <linkedResources>
        <link>
            <name>.settings</name>
            <type>2</type>
            <locationURI>PARENT-1-PROJECT_LOC/org.eclipse.jubula.project.configuration/settings/1.8</locationURI>
        </link>
    </linkedResources>
</projectDescription>
