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

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=I20080305-1100
wtp.eclipse.build.dir=I20080305-1100
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=I200803111800
emf.dir.id=I200803111800

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=I200803111830
gef.dir.id=I200803111830

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/1.6
dtp.file=dtp-sdk_1.6M5.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-S-3.0M5-20080218021547.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/S-3.0M5-20080218021547
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}

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


