#######################################################################################
#
# 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=I20140407192103
orbitthirdpartyzip.build.id=I20140407192103

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-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=I20140422-0800
eclipse.dir=I20140422-0800
eclipse.name=Eclipse SDK v4.4 I20140422-0800
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=I20140422-0800
e4x.build.dir=I20140422-0800

e4x.name=Eclipse SDK v4.4 I20140422-0800
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.0M6
emfandxsd.dir.id=2.10.0/S201403100546

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.7.0
emftransaction.dir.id=R201306111400

emftransaction.mirror.prefixuri=/modeling/emf/transaction/downloads/drops/1.7.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.7.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.7.0
emfvalidation.dir.id=R201306111341

emfvalidation.mirror.prefixuri=/modeling/emf/validation/downloads/drops/1.7.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.7.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.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/I201404190205/

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.2M6
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-201403140500.zip

dtp.repo=dtp-p2repo-1.12.0M7-201403140500.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}
