# These are the property definitions that allow the Ganymatic to run on Bjorn's laptop.
#
# Webserver: Apache built in to Mac OS X
#            serves pages from my Eclipse workspace
# Ganymatic tools: loaded into my Eclipse workspace
#
buckminster.home=../org.eclipse.dash.siteassembler
contribs.dir=../org.eclipse.ganymede.sitecontributions
#downloads=/Users/bjorn/Desktop/downloads
downloads=http://download.eclipse.org/
ganymatic.website.dir=../ganymede/
ganymatic.website.url=http://bjorn-freeman-bensons-computer.local/~bjorn/workspace/ganymede
ganymatic.releng.email=bjorn@eclipse.org
generated.dir=${buckminster.home}/bin/generated
top.project=org.eclipse.ganymede
mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
mirror.site.url=http://www.foo.fee/fum

project=Ganymede
branch=
version=3.0.0
buildAlias=Ganymede_M2
updateManagerURL=http://bjorn-freeman-bensons-computer.local/~bjorn/workspace/org.eclipse.dash.siteassembler/bin/generated
downloadsURL=
