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

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.4M7
wtp.eclipse.build.dir=S-3.4M7-200805020100
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.0M7
emf.dir.id=S200805052017

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${emfxsd.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.0M7
gef.dir.id=S200804291800

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.6M7-200805050500.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-I-I20080424170254-20080424170254.zip
wst.name=WST
wst.description=WST
wst.build.home=http://download.eclipse.org/webtools/downloads/
wst.mirror.prefixuri=webtools/downloads/drops/R3.0/I-I20080424170254-20080424170254
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}

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


