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

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.4M6a
wtp.eclipse.build.dir=S-3.4M6a-200804091425
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.0M6
emf.dir.id=S200804012208

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.0M6
gef.dir.id=S200804012217

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

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


