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

#######################################################################################
# SourceForge DITA-OT
# DITA zip to be downloaded
# DITA will be used for Eclipse Help
# groupID : dita
dita.url = http://umn.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
#######################################################################################

#######################################################################################
# Eclipse SDK Dependency
# Eclipse zip to be downloaded
# Eclipse SDK will be used for building the distribution
# groupID : eclipse
http://download.eclipse.org/eclipse/downloads/drops/I20060804-0010/eclipse-SDK-I20060804-0010-linux-gtk.tar.gz
eclipse.url  = http://download.eclipse.org/eclipse/downloads/drops/I20060804-0010/
#eclipse.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
eclipse.file.linux-gtk-x86=eclipse-SDK-I20060804-0010-linux-gtk.tar.gz
eclipse.file.linux-gtk-ppc=eclipse-SDK-I20060804-0010-linux-gtk-ppc.tar.gz
eclipse.file.win32-win32-x86=eclipse-SDK-I20060804-0010-win32.zip
eclipse.name = Eclipse SDK I20060804-0010
eclipse.description = Eclipse SDK I20060804-0010

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

#######################################################################################
# Eclipse Test Framework
# Eclipse Test Framework support zip to be downloaded
# Eclipse Test Framework will be used for testing and building the tests
# groupID : eclipseTestFramework

eclipseTestFramework.url  = http://download.eclipse.org/eclipse/downloads/drops/I20060804-0010/
#eclipseTestFramework.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
eclipseTestFramework.file = eclipse-test-framework-I20060804-0010.zip
eclipseTestFramework.name = Eclipse test framework I20060804-0010
eclipseTestFramework.description = Eclipse test framework I20060804-0010

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

#######################################################################################
# Eclipse Modeling Framework (EMF) Dependency
# EMF zip to be downloaded
# EMF SDO XSD SDK will be used for building the distribution
# groupID : emf

#emf.description = EMF XSD SDO sdk bundle v2.2.0M4
emf.url  = http://download.eclipse.org/tools/emf/downloads//drops/2.2.0/R200606271057/
#emf.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
emf.file = emf-sdo-xsd-SDK-2.2.0.zip
emf.name = EMF SDO XSD sdk v2.2.0
emf.description = EMF XSD SDO sdk bundle v2.2.0

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

#######################################################################################
# Eclipse Graphical Editing Framework (GEF) Dependency
# GEF zip to be downloaded
# GEF SDK will be used for building the distribution
# groupID : gef

gef.url  = http://download.eclipse.org/tools/gef/downloads/drops/R-3.2-200606270816
#gef.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
gef.file = GEF-SDK-3.2.zip
gef.name = GEF SDK 3.2
gef.description = GEF SDK 3.2

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

#######################################################################################
# Java EMF Model (JEM) Dependency
# JEM zip to be downloaded
# JEM SDK will be used for building the distribution
# groupID : jem


jem.url  = http://download.eclipse.org/tools/ve/downloads/drops/R-1.2-200606280938
#jem.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
jem.file = JEM-SDK-1.2.zip
jem.name = JEM-SDK-1.2
jem.description = JEM-SDK-1.2.zip

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

#######################################################################################
# Jakarta Tomcat Dependency
# tomcat zip to be downloaded
# Tomcat will be used for testing the distribution
# groupID : tomcat.5
tomcat.5.url  = http://www.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
#######################################################################################

#######################################################################################
# Jakarta Tomcat Dependency
# tomcat zip to be downloaded
# Tomcat will be used for testing the distribution
# groupID : tomcat.4
tomcat.4.url  = http://www.apache.org/dist/tomcat/tomcat-4/v4.1.31/bin/
tomcat.4.file = jakarta-tomcat-4.1.31.zip
tomcat.4.name = Jakarta Tomcat v4.1.31
tomcat.4.description = Jakarta Tomcat v4.1.31
#######################################################################################

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

#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

#URL to Internal Reference Tool
internalRefToolURL=http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/jdt-core-home/tools/internal/internal-200302241157.zip
internalRefToolFile=internal-200302241157.zip
