###############################################################################
# Copyright (c) 2010 Stephan Herrmann 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:
#     Stephan Herrmann - initial API and implementation
###############################################################################

# Note: for some reason, only one vm-argument is possible.
#vm.args=-Xmx256m

# this one is used by eclipse junit tests:
vmargs=-Xmx768m -XX:-UseGCOverheadLimit

# SVN repository information:
svn.repository.url=file://localhost/svnroot/tools/org.eclipse.objectteams/
mapVersionTag=branches/maintenance/Eclipse_3.6_OTDT_0.7
pathToMapFile=releng/map

# Version dependent names:

# Details of the Eclipse SDK build upon:
run.eclipseScriptDir=plugins/org.eclipse.pde.build_3.6.1.R36x_v20100823/scripts
org.eclipse.equinox.launcher_jar=org.eclipse.equinox.launcher_1.1.0.v20100507.jar

# for patching our patch feature to match this version with any suffix:
jdt.feature.version=3.6.1.r361_v20100714-0800
jdt.feature.version.next=3.6.1.r361_v20100714-0801

# SVN Support for PDE BUILD:
# (Note: this file must be provided in ${OTScriptDir}/lib)
svn.pde.build=org.eclipse.team.svn.pde.build_0.7.8.I20090525-1500-OT-201009122343.jar


