#######################################################################################
#
# remember, trailing spaces are not trimmed in ant files,
# so it's often very helpful to trim them "manually" from this file
#
# A dependency is identified 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 available 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=S20140428023358
orbitthirdpartyzip.build.id=S20140428023358

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
# updated builder as described in bug 369171
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=369171
eclipsebuilder.id=3.8RC4
eclipsebuilder.dir=S-3.8RC4-201206081200
eclipsebuilder.name=Eclipse SDK
eclipsebuilder.description=(Platform, PDE, JDT)

eclipsebuilder.mirror.prefixuri=/eclipse/downloads/drops/${eclipsebuilder.dir}
eclipsebuilder.url=http://download.eclipse.org${eclipsebuilder.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/

#######################################################################################
# Eclipse builder used to run and compile the build
# groupID : egit
egit.id=updates
egit.dir=updates
egit.name=EGit
egit.description=EGit

egit.mirror.prefixuri=/egit/${egit.dir}
egit.repo=
egit.tobeinstalledfeaturegroups=org.eclipse.egit.feature.group
egit.url=http://download.eclipse.org${egit.mirror.prefixuri}
egit.build.home=http://download.eclipse.org/egit/downloads/

#######################################################################################
# Eclipse builder used to run and compile the build
# groupID : gitFetchFactory
gitFetchFactory.id=updates-nightly
gitFetchFactory.dir=updates-nightly
gitFetchFactory.name=Git Fetch Factory
gitFetchFactory.description=Git Fetch Factory

gitFetchFactory.mirror.prefixuri=/egit/pde/${gitFetchFactory.dir}
gitFetchFactory.repo=
gitFetchFactory.tobeinstalledfeaturegroups=org.eclipse.egit.fetchfactory.feature.group
gitFetchFactory.url=http://download.eclipse.org${gitFetchFactory.mirror.prefixuri}
gitFetchFactory.build.home=http://download.eclipse.org/egit/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-20140506204952
wtpBuildTools.dir.id=T3.3.0/I-3.3.0-20140506204952

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=4.4RC1
eclipse.dir=S-4.4RC1-201405151230
eclipse.name=Eclipse SDK v4.4
eclipse.description=(Platform, PDE, JDT)

eclipse.mirror.prefixuri=/eclipse/downloads/drops4/${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/drops4/${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 v4.4.
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 v4.4.
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.3 SDK Dependency
# groupID : e4x

e4x.build.id=4.4RC1
e4x.build.dir=S-4.4RC1-201405151230

e4x.name=EEclipse SDK v4.4
e4x.description=(Platform, PDE, JDT, EMF Core)

e4x.mirror.prefixuri=/eclipse/downloads/drops4/${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.10.0RC1
emfandxsd.dir.id=2.10.0/S201405190339

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.8.0M7
emftransaction.dir.id=S201405051603

emftransaction.mirror.prefixuri=/modeling/emf/transaction/downloads/drops/1.8.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.8.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.8.0M7
emfvalidation.dir.id=S201405051521

emfvalidation.mirror.prefixuri=/modeling/emf/validation/downloads/drops/1.8.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.8.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
#Milestones
graphiti.id=0.11.0M7.201405070848
graphiti.dir.id=S-0.11.0M7-201405070848

graphiti.mirror.prefixuri=/graphiti/updates/milestones/${graphiti.dir.id}
graphiti.mirror.zip.prefixuri=/graphiti/archives/milestones
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.11.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

#Release
#graphiti.id=0.10.0.201306120936
#graphiti.dir.id=0.10.0
#
#graphiti.mirror.prefixuri=/graphiti/updates/${graphiti.dir.id}
#graphiti.mirror.zip.prefixuri=/graphiti/archives/milestones
#graphiti.file=org.eclipse.graphiti.site_0.10.0.201306120936.zip
#
#graphiti.repo=org.eclipse.graphiti.site_${graphiti.id}.zip
#graphiti.tobeinstalledfeaturegroups=org.eclipse.graphiti.feature.feature.group
#
#graphiti.name=Graphiti v0.10.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.9.100
gef.dir.id=3.9.100/S201405050205/

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.9.100M7
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/drops/N_DTP_1.12.0
dtp.file=dtp-sdk-1.12.0M7-201404250500.zip

dtp.repo=dtp-p2repo-1.12.0M7-201404250500.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.12.0 M7
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.5.1/RC1/
eclipselink.file=eclipselink-2.5.1.v20130824-981335c.zip
eclipselink.name=EclipseLink v2.5.1
eclipselink.description=EclipseLink libraries
#eclipselink.url=http://download.eclipse.org/rt/eclipselink/releases/2.4.0/
#eclipselink.file=eclipselink-2.4.0.v20120608-r11652.zip
########################################################################################


#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.jaxb.eclipselink.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}
