#######################################################################################
#
# remember, trailing spaces are not trimmed in ant files,
# so it's often helpful to trim them "manually" from this file
#
# A dependency is identied by:
# groupId: a simple component name that adheres to java
#           variable naming conventions. e.g. wtp
# url:  Url to a remote repository that can be used by a
#       http GET request to download the library
#       to a local cache repository. URL should not include the file.
#       See the next description for the file
# file: Name of the library that is used.  If the library is platform dependent
#       it must have suffixes such as: file.linux.gtk.x86
#       These suffixes are the same as those used by releng baseos,basews,basearch
#            baseos=linux or win32
#            basews=gtk or win32
#            basearch=x86
# name:  A short user readable name for the library.
# description:  One line description for the library.
# autodownload: [optional] default true.  Set this to false if the file cannot be
#                downloaded automatically (i.e. requires license accept click through).
#                If autodownload is false, and the library is not avaialbe in the local
#                repository (cache).  User must download the library and copy it into
#                the local repository.
# releng.url: [optional] Copies the original to a releng repository.  Useful for libraries
#                        that can get deleted from their original URLs.  Releng will use
#                        the local cache, original url, releng.url in that order to get the
#                        the dependency.  If a releng.url is not provided, the library will
#                        always be requested from its original site.
#
# Example:
# wtp.url=http://download.eclipse.org/webtools/downloads/drops/R-0.7-200507290654
# wtp.file=wtp-sdk-0.7.zip
# wtp.name=WTP 0.7 SDK
# wtp.description=WTP 0.7 SDK distribution
#######################################################################################


#######################################################################################
# Orbit dependency. 
# Note that this data is used for "display" only. 
# During the build, the required bundles are fetched based on the orbitBundles.map file.

orbitthirdpartyzip.build.dir=R20110523182458
orbitthirdpartyzip.build.id=R20110523182458

orbitthirdpartyzip.mirror.prefixuri=/tools/orbit/downloads/drops/${orbitthirdpartyzip.build.dir}
orbitthirdpartyzip.url=http://download.eclipse.org${orbitthirdpartyzip.mirror.prefixuri}
orbitthirdpartyzip.file=orbit-buildrepo-${orbitthirdpartyzip.build.id}.zip
orbitthirdpartyzip.name=Third Party code from Orbit.
orbitthirdpartyzip.description=Not technically required and contains much more than needed for WTP, but some committers like using it in a PDE runtime target.
orbitthirdpartyzip.build.home=http://download.eclipse.org/tools/orbit/

orbitthirdpartymap.url=http://download.eclipse.org${orbitthirdpartyzip.mirror.prefixuri}
orbitthirdpartymap.file=orbitBundles-${orbitthirdpartyzip.build.id}.map
orbitthirdpartymap.name=orbit thirdparty map
orbitthirdpartymap.description=orbit thirdparty map




#######################################################################################
# Eclipse builder used to run and compile the build
# groupID : eclipsebuilder
eclipsebuilder.id=3.7.1
eclipsebuilder.dir=R-3.7.1-201109091335
eclipsebuilder.name=Eclipse SDK v3.7
eclipsebuilder.description=(Platform, PDE, JDT)

eclipsebuilder.mirror.prefixuri=/eclipse/downloads/drops/${eclipsebuilder.id}
eclipsebuilder.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipsebuilder.file.linux-gtk-x86=eclipse-SDK-${eclipsebuilder.id}-linux-gtk.tar.gz
eclipsebuilder.file.linux-gtk-ppc=eclipse-SDK-${eclipsebuilder.id}-linux-gtk-ppc.tar.gz
eclipsebuilder.file.win32-win32-x86=eclipse-SDK-${eclipsebuilder.id}-win32.zip
eclipsebuilder.file.macosx-carbon-ppc=eclipse-SDK-${eclipsebuilder.id}-macosx-carbon.tar.gz
eclipsebuilder.build.home=http://download.eclipse.org/eclipse/downloads/


#######################################################################################
# WTP builder tools that provide our custom build tasks
# groupID : wtpBuildTools
# Remember this is not (and could not be) the one that is built during the run. 
# If updates needed, can do a seperate run (of "wtpbuilder job") and promote that T-build specificially. 
wtpBuildTools.id=I-3.3.0-20110308040211
wtpBuildTools.dir.id=T3.3.0/I-3.3.0-20110308040211

wtpBuildTools.mirror.prefixuri=/webtools/downloads/drops/${wtpBuildTools.dir.id}
wtpBuildTools.file=

wtpBuildTools.repo=wtpbuildTools-repo-${wtpBuildTools.id}.zip
wtpBuildTools.tobeinstalledfeaturegroups=org.eclipse.wtp.releng.tools.feature.feature.group

wtpBuildTools.name=WTP Tools
wtpBuildTools.description=WTP Releng Buider Tools

wtpBuildTools.url=http://download.eclipse.org${wtpBuildTools.mirror.prefixuri}
wtpBuildTools.build.home=http://download.eclipse.org/webtools/downloads/

#######################################################################################
# Eclipse SDK Dependency
# groupID : eclipse

eclipse.id=3.7
eclipse.dir=R-3.7-201106131736
eclipse.name=Eclipse SDK v3.7
eclipse.description=(Platform, PDE, JDT)

eclipse.mirror.prefixuri=/eclipse/downloads/drops/${eclipse.dir}
eclipse.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipse.file.linux-gtk-x86=eclipse-SDK-${eclipse.id}-linux-gtk.tar.gz
eclipse.file.linux-gtk-ppc=eclipse-SDK-${eclipse.id}-linux-gtk-ppc.tar.gz
eclipse.file.win32-win32-x86=eclipse-SDK-${eclipse.id}-win32.zip
eclipse.file.macosx-carbon-ppc=eclipse-SDK-${eclipse.id}-macosx-carbon.tar.gz
eclipse.build.home=http://download.eclipse.org/eclipse/downloads/

#######################################################################################

eclipseplatform.name=Eclipse Platform
eclipseplatform.description=(Platform Only) 
eclipseplatform.mirror.prefixuri=/eclipse/downloads/drops/${eclipse.dir}
eclipseplatform.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipseplatform.file.linux-gtk-x86=eclipse-platform-${eclipse.id}-linux-gtk.tar.gz
eclipseplatform.file.linux-gtk-ppc=eclipse-platform-${eclipse.id}-linux-gtk-ppc.tar.gz
eclipseplatform.file.win32-win32-x86=eclipse-platform-${eclipse.id}-win32.zip
eclipseplatform.file.macosx-carbon-ppc=eclipse-platform-${eclipse.id}-macosx-carbon.tar.gz
eclipseplatform.build.home=http://download.eclipse.org/eclipse/downloads/
eclipseplatform.repo=org.eclipse.platform-${eclipse.id}.zip
#special temporary hack, specifically for https://bugs.eclipse.org/bugs/show_bug.cgi?id=337071
#eclipseplatform.tobeinstalledfeaturegroups=org.eclipse.help.appserver

#######################################################################################
# Eclipse Test Framework
# groupID : eclipseTestFramework

eclipseTestFramework.id=${eclipse.id}
eclipseTestFramework.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipseTestFramework.file=eclipse-test-framework-${eclipseTestFramework.id}.zip

eclipseTestFramework.repo=eclipse-test-framework-${eclipseTestFramework.id}.zip
eclipseTestFramework.tobeinstalledfeaturegroups=org.eclipse.test.feature.group

eclipseTestFramework.name=Eclipse Test Framework v3.7.
eclipseTestFramework.description=Infrastructure to assist running automated JUnits. Provided only as archived repository.
eclipseTestFramework.mirror.prefixuri=${eclipse.mirror.prefixuri}
eclipseTestFramework.build.home=${eclipse.build.home}

#######################################################################################
# Eclipse releng tool
# For display only. Purely a handy link for committers. Not used during build.

eclipsereleng.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipsereleng.file=org.eclipse.releng.tools-${eclipse.id}.zip
eclipsereleng.name=Eclipse Releng Tool v3.7.
eclipsereleng.description=Team tool to assist in releasing code. (provided as archived repository)
eclipsereleng.mirror.prefixuri=${eclipse.mirror.prefixuri}
eclipsereleng.build.home=${eclipse.build.home}

#######################################################################################
# Eclipse 4.1 SDK Dependency
# groupID : e4x

e4x.build.id=S-4.1RC5a
e4x.build.dir=S-4.1RC5a-201106171015

e4x.name=Eclipse SDK v4.1
e4x.description=(Platform, PDE, JDT, EMF Core)

e4x.mirror.prefixuri=/e4/sdk/drops/${e4x.build.dir}
e4x.url=http://download.eclipse.org${e4x.mirror.prefixuri}
e4x.file.linux-gtk-x86=eclipse-SDK-${e4x.build.id}-linux-gtk.tar.gz
e4x.file.linux-gtk-ppc=eclipse-SDK-${e4x.build.id}-linux-gtk-ppc64.tar.gz
e4x.file.win32-win32-x86=eclipse-SDK-${e4x.build.id}-win32.zip
e4x.file.macosx-carbon-ppc=eclipse-SDK-${e4x.build.id}-macosx-carbon.tar.gz
e4x.build.home=http://download.eclipse.org/e4/sdk

#######################################################################################
# Eclipse Modeling Framework (EMF) and EMF XSD Dependency
# We used the "combined" emf and xsd distribution for convience.
# groupID : emfandxsd
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=317256

emfandxsd.id=2.7.0
emfandxsd.dir.id=2.7.0/R201106060949

emfandxsd.mirror.prefixuri=/modeling/emf/emf/downloads/drops/${emfandxsd.dir.id}
emfandxsd.file=emf-xsd-SDK-${emfandxsd.id}.zip

emfandxsd.repo=emf-xsd-Update-${emfandxsd.id}.zip
emfandxsd.tobeinstalledfeaturegroups=org.eclipse.emf.sdk.feature.group,org.eclipse.xsd.sdk.feature.group

emfandxsd.name=EMF and XSD SDK
emfandxsd.description=Combined EMF and EMF-XSD SDK.

emfandxsd.url=http://download.eclipse.org${emfandxsd.mirror.prefixuri}
emfandxsd.build.home=http://www.eclipse.org/modeling/emf/downloads/


#######################################################################################
# Eclipse Modeling Framework (EMF) Transaction Dependency
# groupID : emftransaction

emftransaction.id=1.5.0
emftransaction.dir.id=R201106220943

emftransaction.mirror.prefixuri=/modeling/emf/transaction/downloads/drops/1.5.0/${emftransaction.dir.id}
emftransaction.file=emf-transaction-runtime-${emftransaction.id}.zip

emftransaction.repo=emf-transaction-Update-${emftransaction.id}.zip
emftransaction.tobeinstalledfeaturegroups=org.eclipse.emf.transaction.feature.group,org.eclipse.emf.workspace.feature.group

emftransaction.name=EMF Transaction v1.5.0
emftransaction.description=(Required for JPA Diagram Editor)

emftransaction.url=http://download.eclipse.org${emftransaction.mirror.prefixuri}
emftransaction.build.home=http://www.eclipse.org/modeling/emf/downloads/?project=transaction


#######################################################################################
# Eclipse Modeling Framework (EMF) Validation Dependency
# groupID : emfvalidation

emfvalidation.id=1.5.0
emfvalidation.dir.id=R201106220902

emfvalidation.mirror.prefixuri=/modeling/emf/validation/downloads/drops/1.5.0/${emfvalidation.dir.id}
emfvalidation.file=emf-validation-runtime-${emfvalidation.id}.zip

emfvalidation.repo=emf-validation-Update-${emfvalidation.id}.zip
emfvalidation.tobeinstalledfeaturegroups=org.eclipse.emf.validation.feature.group

emfvalidation.name=EMF Validation v1.5.0
emfvalidation.description=(Required for JPA Diagram Editor)

emfvalidation.url=http://download.eclipse.org${emfvalidation.mirror.prefixuri}
emfvalidation.build.home=http://www.eclipse.org/modeling/emf/downloads/?project=validation


#################################################################################
# Graphiti Dependency
# groupID : graphiti

graphiti.id=0.8.0.201106071252
graphiti.dir.id=0.8.0

graphiti.mirror.prefixuri=/graphiti/archives/${graphiti.dir.id}
graphiti.file=org.eclipse.graphiti.site_${graphiti.id}.zip

graphiti.repo=org.eclipse.graphiti.site_${graphiti.id}.zip
graphiti.tobeinstalledfeaturegroups=org.eclipse.graphiti.feature.feature.group

graphiti.name=Graphiti v0.8.0
graphiti.description=(Required for JPA Diagram Editor)

graphiti.url=http://download.eclipse.org${graphiti.mirror.prefixuri}
graphiti.build.home=http://www.eclipse.org/graphiti/download.php


#######################################################################################

# Eclipse Graphical Editing Framework (GEF) Dependency
# groupID : gef

gef.id=3.7.0
gef.dir.id=3.7.0/R201106220958/

gef.mirror.prefixuri=/tools/gef/downloads/drops/${gef.dir.id}
gef.file=GEF-SDK-${gef.id}.zip

gef.repo=GEF-Update-${gef.id}.zip
#gef.tobeinstalledfeaturegroups=org.eclipse.gef.sdk.feature.group

gef.name=GEF SDK 3.7
gef.description=(GEF Code and Source)

gef.url=http://download.eclipse.org${gef.mirror.prefixuri}
gef.build.home=http://download.eclipse.org/tools/gef/downloads/

#######################################################################################
# Eclipse Data Tools Platform (DTP) Dependency
# groupID : dtp

dtp.mirror.prefixuri=/datatools/downloads/1.9
dtp.file=dtp-sdk_1.9.0.zip

dtp.repo=dtp-p2repo_1.9.0.zip
dtp.tobeinstalledfeaturegroups=org.eclipse.datatools.enablement.feature.feature.group,org.eclipse.datatools.sqldevtools.feature.feature.group,org.eclipse.datatools.connectivity.feature.feature.group

dtp.name=DTP sdk v1.9
dtp.description=(Code and Source)

dtp.url=http://download.eclipse.org${dtp.mirror.prefixuri}
dtp.build.home=http://www.eclipse.org/datatools/downloads.php

#######################################################################################
# SourceForge DITA-OT
# DITA zip to be downloaded
# DITA will be used for Eclipse Help
# groupID : dita
dita.url=http://osdn.dl.sourceforge.net/sourceforge/dita-ot/
dita.file=DITA-OT1.2.1_bin-ASL.zip
dita.name=SourceForge DITA-OT 1.2.1
dita.description=DITA-OT 1.2.1 Binary ASL Distribution

#######################################################################################
# Jakarta Tomcat Dependency
# tomcat zip to be downloaded
# Tomcat will be used for testing the distribution
# groupID : tomcat.5
tomcat.5.url=http://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin
tomcat.5.file=jakarta-tomcat-5.0.28.zip
tomcat.5.name=Jakarta Tomcat v5.0.28
tomcat.5.description=Jakarta Tomcat v5.0.28
#######################################################################################

#######################################################################################
# Apache Tomcat Dependency
# tomcat zip to be downloaded
# Tomcat will be used for testing the distribution
# groupID : tomcat.4
tomcat.4.url=http://archive.apache.org/dist/tomcat/tomcat-4/v4.1.36/bin
tomcat.4.file=apache-tomcat-4.1.36.zip
tomcat.4.name=Apache Tomcat v4.1.36
tomcat.4.description=${tomcat.4.name}
#######################################################################################

#######################################################################################
# ObjectWeb JOnAS Dependency
# jonas zip to be downloaded
# JOnAS will be used for testing the distribution
# groupID : jonas.4
jonas.4.url=http://download.forge.objectweb.org/jonas/
jonas.4.file=jonas4.3.2-tomcat5.0.30.tgz
jonas.4.name=ObjectWeb JOnAS Tomcat v4.3.2
jonas.4.description=ObjectWeb JOnAS Tomcat v4.3.2
#######################################################################################

#######################################################################################
# OAGIS Dependency
# oagis_release zip to be downloaded (CANNOT BE DOWNLOADED AUTOMATICALLY)
# oagis_release will be used for testing the distribution
# groupID : oagis.release
oagis.release.url=http://www.openapplications.org/downloads/oagis/rls80/
oagis.release.file=oagis_release_8.0_GA-withSP3.zip
oagis.release.autodownload=true
oagis.release.name=OAGIS Release v8.0 SP3
oagis.release.description=OAGIS Release v8.0 SP3
#######################################################################################

#######################################################################################
# OAGIS WSDL
# oagis_wsdl_8.0.zip to be downloaded (CANNOT BE DOWNLOADED AUTOMATICALLY)
# oagis_wdl will be used for testing the distribution
# groupID : oagis.wsdl
oagis.wsdl.url=http://www.openapplications.org/downloads/oagis/rls80
oagis.wsdl.file=WSDL_1.1_for%20OAGIS_8.0.zip
oagis.wsdl.autodownload=true
oagis.wsdl.name=OAGIS WSDL v8.0 SP3
oagis.wsdl.description=OAGIS WSDL v8.0 SP3
#######################################################################################

#######################################################################################
# Apache Derby
# Derby zip to be downloaded
# Derby will be used for performance testing
# groupID : derby
derby.url=http://cvs.apache.org/dist/incubator/derby/10.0.2.1
derby.file=incubating-derby-10.0.2.1-bin.zip
derby.name=Apache Derby 10.0.2.1
derby.description=Apache Derby 10.0.2.1
#######################################################################################

#######################################################################################
# JavaServer Faces(JSF) Runtime Library Dependency
# jsf runtime library zip to be downloaded
# JSF Runtime Library will be used for testing the JSF Tools features
# groupID : jsf.1_1
jsf.1_1.url=http://archive.apache.org/dist/myfaces/binaries/
jsf.1_1.file=myfaces-core-1.1.5-bin.zip
jsf.1_1.name=Apache MyFaces 1.1.5
jsf.1_1.description=Apache MyFaces 1.1.5 reference implementation libraries
#######################################################################################

#######################################################################################
# Java Persistence API Tools(JPT) Runtime Library Dependency
# EclipseLink library zip to be downloaded
# EclipseLink Library will be used for JUnit testing the Dali distribution
# groupID: eclipselink
eclipselink.url=http://download.eclipse.org/rt/eclipselink/milestones/2.3.2/RC1/
eclipselink.file=eclipselink-2.3.2.v20111125-r10461.zip
eclipselink.name=EclipseLink v2.3.2
eclipselink.description=EclipseLink libraries
########################################################################################


#URL to Web Tools downloads
# non-mirrored site: webtoolsDownloadURL=http://download.eclipse.org/webtools/downloads/drops
# use mirrored site as follows:
webtoolsDownloadURL=http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops

eclipse.fspath.prefix=/home/data/httpd/download.eclipse.org


# WST or XML is required for XSL build

wst.file=wst-sdk-R-3.2.0-20100615235519.zip
wst.name=WST
wst.description=WST
wst.build.home=http://download.eclipse.org/webtools/downloads/drops/R3.2.0/R-3.2.0-20100615235519
wst.mirror.prefixuri=/webtools/downloads/drops/R3.2.0/R-3.2.0-20100615235519
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}


jst.file=wtp-jst-sdk-S-3.2.0M4-20091210120653.zip
jst.name=JST
jst.description=JST for prereqs
jst.build.home=${wst.build.home}
jst.mirror.prefixuri=${wst.mirror.prefixuri}
jst.url=${wst.url}

# WTP 
wtp.id=R-3.2.2-20100915173744
wtp.dir.id=R3.2.2/R-3.2.2-20100915173744
wtp.file=wtp-sdk-${wtp.id}.zip
wtp.name=WTP
wtp.description=Release used for Patch Builds
wtp.build.home=http://download.eclipse.org/webtools/downloads/
wtp.mirror.prefixuri=/webtools/downloads/drops/${wtp.dir.id}
wtp.url=http://download.eclipse.org${wtp.mirror.prefixuri}

# WTP tests, for patch builds
wtptests.id=${wtp.id}
wtptests.dir.id=${wtp.dir.id}
wtptests.file = wtp-tests-${wtptests.id}.zip
wtptests.name = WTP Tests 3.2.2
wtptests.description = WTP Tests 3.2.2 for Patch Builds
wtptests.build.home=http://download.eclipse.org/webtools/downloads/
wtptests.mirror.prefixuri=/webtools/downloads/drops/${wtptests.dir.id}
wtptests.url=http://download.eclipse.org${wtptests.mirror.prefixuri}


wtpandtests.id=${wtp.id}
wtpandtests.dir.id=${wtp.dir.id}
wtpandtests.repo = wtp-and-tests-buildrepo-${wtpandtests.id}.zip
wtpandtests.name = WTP Tests 3.2.2
wtpandtests.description = WTP Tests 3.2.2 for Patch Builds
wtpandtests.build.home=http://download.eclipse.org/webtools/downloads/
wtpandtests.mirror.prefixuri=/webtools/downloads/drops/${wtpandtests.dir.id}
wtpandtests.url=http://download.eclipse.org${wtpandtests.mirror.prefixuri}
wtpandtests.tobeinstalledfeaturegroups=org.eclipse.jpt.jpa.tests.feature.feature.group,org.eclipse.jpt.jpa.eclipselink.tests.feature.feature.group,org.eclipse.jpt.jaxb.tests.feature.feature.group,org.eclipse.jpt.jpadiagrameditor.tests.feature.feature.group,org.eclipse.jst.enterprise_tests.feature.feature.group,org.eclipse.jst.jsf.tests.feature.feature.group,org.eclipse.jst.server_adapters.ext_tests.feature.feature.group,org.eclipse.jst.server_tests.feature.feature.group,org.eclipse.jst.web_tests.feature.feature.group,org.eclipse.jst.ws.cxf_tests.feature.feature.group,org.eclipse.jst.ws.jaxws.dom_tests.feature.feature.group,org.eclipse.jst.ws.jaxws_tests.feature.feature.group,org.eclipse.wst.common_tests.feature.feature.group,org.eclipse.wst.jsdt_tests.feature.feature.group,org.eclipse.wst.server_tests.feature.feature.group,org.eclipse.wst.web_tests.feature.feature.group,org.eclipse.wst.ws_tests.feature.feature.group,org.eclipse.wst.xml_tests.feature.feature.group,org.eclipse.wst.xsl_tests.feature.feature.group,org.eclipse.wtp.releng.tests.feature.feature.group,org.eclipse.wst.common.fproj.sdk.feature.group,org.eclipse.wst.jsdt_sdk.feature.feature.group,org.eclipse.wst.xml_sdk.feature.feature.group,org.eclipse.wst.web_sdk.feature.feature.group,org.eclipse.wst.xsl_sdk.feature.feature.group,org.eclipse.wst.server_adapters.sdk.feature.feature.group,org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature.group,org.eclipse.jst.server_sdk.feature.feature.group,org.eclipse.jst.web_sdk.feature.feature.group,org.eclipse.jst.enterprise_sdk.feature.feature.group,org.eclipse.jst.server_adapters.sdk.feature.feature.group,org.eclipse.jst.server_adapters.ext.sdk.feature.feature.group,org.eclipse.jst.ws.axis2tools_sdk.feature.feature.group,org.eclipse.jst.ws.jaxws_sdk.feature.feature.group,org.eclipse.jst.ws.cxf_sdk.feature.feature.group,org.eclipse.jst.ws.jaxws.dom_sdk.feature.feature.group,org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature.feature.group,org.eclipse.jst.webpageeditor_sdk.feature.feature.group,org.eclipse.jsf_sdk.feature.feature.group,org.eclipse.jpt_sdk.feature.feature.group,org.eclipse.jpt.eclipselink_sdk.feature.feature.group


### DLTK
dltk.mirror.prefixuri=/technology/dltk/downloads/drops/R1.0/M-M200911111238-200911111238/
dltk.file=dltk-core-sdk-M-M200911111238-200911111238.zip
dltk.name=DLTK sdk v1 

dltk.url=http://download.eclipse.org${dltk.mirror.prefixuri}
dltk.description=DLTK Code and Source.
dltk.build.home=http://download.eclipse.org/technology/dltk/downloads/

# WST or XML is required for XSL build

wst.file=wst-sdk-R-3.2.0-20100615235519.zip
wst.name=WST
wst.description=WST
wst.build.home=http://download.eclipse.org/webtools/downloads/drops/R3.2.0/R-3.2.0-20100615235519
wst.mirror.prefixuri=/webtools/downloads/drops/R3.2.0/R-3.2.0-20100615235519
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}

