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


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

orbitthirdpartyzip.build.dir=S20080209163815
orbitthirdpartyzip.build.id=S20080209163815

orbitthirdpartyzip.mirror.prefixuri=/tools/orbit/downloads/drops/${orbitthirdpartyzip.build.dir}
orbitthirdpartyzip.url=http://download.eclipse.org${orbitthirdpartyzip.mirror.prefixuri}
orbitthirdpartyzip.file=orbit-${orbitthirdpartyzip.build.id}.zip
orbitthirdpartyzip.name=Orbit thirdparty zip
orbitthirdpartyzip.description=Orbit thirdparty zip
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


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

wtp.eclipse.build.id=3.4M5
wtp.eclipse.build.dir=S-3.4M5-200802071530
eclipse.name=Eclipse SDK v3.4
eclipse.description=Eclipse SDK v3.4

#######################################################################################
# Eclipse SDK Dependency
# Eclipse zip to be downloaded
# Eclipse SDK will be used for building the distribution
# groupID : eclipse

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

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

#######################################################################################
# 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.id=${wtp.eclipse.build.id}
eclipseTestFramework.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipseTestFramework.file=eclipse-test-framework-${eclipsetestFramework.id}.zip

eclipseTestFramework.name=Eclipse Test Framework v3.4. 
eclipseTestFramework.description=Infrastructure to assist running automated JUnits.
eclipseTestFramework.mirror.prefixuri=${eclipse.mirror.prefixuri}
eclipseTestFramework.build.home=${eclipse.build.home}

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

#######################################################################################
# Eclipse releng tool
# purely a handy link for committers

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

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

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

emf.id=2.4.0M5
emf.dir.id=S200802090050

emf.mirror.prefixuri=/modeling/emf/emf/downloads/drops/2.4.0/${emf.dir.id}
emf.file=emf-runtime-${emf.id}.zip
emf.name=EMF v2.4 Runtime

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

emfsourcedoc.id=${emf.id}
emfsourcedoc.dir.id=${emf.dir.id}

emfsourcedoc.mirror.prefixuri=/modeling/emf/emf/downloads/drops/2.4.0/${emfsourcedoc.dir.id}
emfsourcedoc.file=emf-sourcedoc-${emfsourcedoc.id}.zip
emfsourcedoc.name=EMF v2.4 Source and Docs

emfsourcedoc.url=http://download.eclipse.org${emf.mirror.prefixuri}
emfsourcedoc.description=Additional download with Source and Documentation.
emfsourcedoc.build.home=http://www.eclipse.org/modeling/emf/downloads/


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

emfxsd.id=${emf.id}
emfxsd.dir.id=${emf.dir.id}
emfxsd.mirror.prefixuri=/modeling/emf/emf/downloads/drops/2.4.0/${emfxsd.dir.id}
emfxsd.file=xsd-runtime-${emfxsd.id}.zip
emfxsd.name=EMF XSD v2.4 Runtime

emfxsd.url=http://download.eclipse.org${emf.mirror.prefixuri}
emfxsd.description=Minimum executable code.
emfxsd.build.home=http://www.eclipse.org/modeling/emf/downloads/

emfxsdsourcedoc.id=${emfxsd.id}
emfxsdsourcedoc.dir.id=${emfxsd.dir.id}
emfxsdsourcedoc.mirror.prefixuri=/modeling/emf/emf/downloads/drops/2.4.0/${emfsourcedoc.dir.id}
emfxsdsourcedoc.file=xsd-sourcedoc-${emfsourcedoc.id}.zip
emfxsdsourcedoc.name=EMF XSD v2.4 Source and Docs

emfxsdsourcedoc.url=http://download.eclipse.org${emf.mirror.prefixuri}
emfxsdsourcedoc.description=Additional download with Source and Documentation.
emfxsdsourcedoc.build.home=http://www.eclipse.org/modeling/emf/downloads/


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

gef.id=3.4.0M5
gef.dir.id=S200802062130

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

gef.url=http://download.eclipse.org${gef.mirror.prefixuri}
gef.description=GEF Code and Source.
gef.build.home=http://download.eclipse.org/tools/gef/downloads/

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

#######################################################################################
# Eclipse Data Tools Platform (DTP) Dependency
# DTP zip to be downloaded
# DTP SDK will be used for building the distribution
# groupID : dtp
                     
dtp.mirror.prefixuri=/datatools/downloads/drops/N_DTP_1.6
dtp.file=dtp-sdk_1.6M5_20080206.zip
dtp.name=DTP sdk v1.6

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

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

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

#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



# WST is required for XSL build

wst.file=wtp-wst-sdk-I-I20080201061906-20080201061906.zip
wst.name=WST M4
wst.description=WST M4
wst.build.home=http://download.eclipse.org/webtools/downloads/
wst.mirror.prefixuri=webtools/downloads/drops/R3.0/I-I20080201061906-20080201061906
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}

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


