##################################################################################
# Copyright (c) 2007, 2008 IBM Corporation and others.
# 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
#
# Contributors:
#     IBM Corporation - initial API and implementation
##################################################################################

# Test ".ee" file for testing installed JRE definition

-Dee.executable=jrew.txt
-Dee.executable.console=jre.txt

-Dee.bootclasspath=../lib/classes.txt:../lib/others.txt
-Dee.src=../lib/source/source.txt
-Dee.src.map=../lib/endorsed/*.jar=../lib/source/*.txt:../lib/ext/ext?*.jar=../lib/source/extra?-src.txt:../lib/additional/*.???=../lib/source/source*source.???
-Dee.javadoc=http://a.javadoc.location
-Dee.additional.dirs=../lib/additional
-Dee.ext.dirs=../lib/ext:../lib/opt-ext
-Dee.endorsed.dirs=../lib/endorsed

# all args should get passed through to command line
-XspecialArg:123

# tests an empty property
-Dee.empty=

-Dee.language.level=1.4
-Dee.class.library.level=CDC-1.1/Foundation-1.1
-Dee.id=CDC-1.1/Foundation-1.1
-Dee.name=Eclipse JDT Test JRE Definition
-Dee.description=Foundation Specification v1.1
-Dee.copyright=(c) Copyright IBM Corp. 2007  All Rights Reserved
-Djava.home=..

# all args should get passed through to command line
-XspecialArg2=456