#######################################################################################
#
# remember, trailing spaces are not trimmed in ant files,
# so it's often 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=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.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/


#######################################################################################
# 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.1
eclipse.dir=R-3.7.1-201109091335
eclipse.name=Eclipse SDK v3.7.1
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=M20110912-1510
e4x.build.dir=M20110912-1510

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=M201109050916
emfandxsd.dir.id=2.7.x/M201109050916

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=M201108231801
emftransaction.dir.id=1.5.1/M201108231801

emftransaction.mirror.prefixuri=/modeling/emf/transaction/downloads/drops/${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/drops/N_DTP_1.9.1
dtp.file=dtp-sdk-1.9.1RC4-201109031845.zip

dtp.repo=dtp-p2repo-1.9.1RC4-201109031845.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.1
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


#######################################################################################
# WTP 3.3.1 SDK Dependency
# groupID : wtp
wtp.id=R-3.3.1-20110915193224
wtp.dir.id=R3.3.1/R-3.3.1-20110915193224

wtp.mirror.prefixuri=/webtools/downloads/drops/R3.3.1/R-3.3.1-20110915193224
wtp.file=wtp-sdk-R-3.3.1-20110915193224.zip

wtp.repo=wtp-repo-${wtp.id}.zip
wtp.tobeinstalledfeaturegroups=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

wtp.name=WTP
wtp.description=SDK v3.3.1

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


# WST
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
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}