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

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://osdn.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.4.2
wtp.eclipse.build.dir=R-3.4.2-200902111700
eclipse.name=Eclipse SDK v3.4.2
eclipse.description=Eclipse SDK v3.4.2

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

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

eclipseplatform.mirror.prefixuri=/eclipse/downloads/drops/${wtp.eclipse.build.dir}
eclipseplatform.url=http://download.eclipse.org${eclipse.mirror.prefixuri}
eclipseplatform.file.linux-gtk-x86=eclipse-platform-${wtp.eclipse.build.id}-linux-gtk.tar.gz
eclipseplatform.file.linux-gtk-ppc=eclipse-platform-${wtp.eclipse.build.id}-linux-gtk-ppc.tar.gz
eclipseplatform.file.win32-win32-x86=eclipse-platform-${wtp.eclipse.build.id}-win32.zip
eclipseplatform.file.macosx-carbon-ppc=eclipse-platform-${wtp.eclipse.build.id}-macosx-carbon.tar.gz
eclipseplatform.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.2
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.2
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.2
emf.dir.id=R200902171115

emf.mirror.prefixuri=/modeling/emf/emf/downloads/drops/2.4.2/${emf.dir.id}
emf.file=emf-runtime-${emf.id}.zip
emf.name=EMF ${emf.id} 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.2/${emfsourcedoc.dir.id}
emfsourcedoc.file=emf-sourcedoc-${emfsourcedoc.id}.zip
emfsourcedoc.name=EMF ${emf.id} 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.2/${emfxsd.dir.id}
emfxsd.file=xsd-runtime-${emfxsd.id}.zip
emfxsd.name=EMF XSD ${emfxsd.id} 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.2/${emfxsdsourcedoc.dir.id}
emfxsdsourcedoc.file=xsd-sourcedoc-${emfxsd.id}.zip
emfxsdsourcedoc.name=EMF XSD ${emfxsd.id} 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.2
gef.dir.id=R200902171642

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

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.6.2.zip
dtp.name=DTP sdk v1.6.2

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 or XML is required for XSL build

wst.file=wtp-wst-R-3.0-20080616152118.zip
wst.name=WST
wst.description=WST
wst.build.home=http://download.eclipse.org/webtools/downloads/
wst.mirror.prefixuri=webtools/downloads/drops/R3.0/R-3.0-20080616152118
wst.url=http://download.eclipse.org/${wst.mirror.prefixuri}

xml.file=wtp-xml-R-3.0-20080616152118.zip
xml.name=XML
xml.description=XML
xml.build.home=http://download.eclipse.org/webtools/downloads/
xml.mirror.prefixuri=webtools/downloads/drops/R3.0/R-3.0-20080616152118
xml.url=http://download.eclipse.org/${xml.mirror.prefixuri}


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


#######################################################################################
# Java Persistence API Tools(JPT) Runtime Library Dependency
# JPT Runtime library zip to be downloaded
# JPT Runtime Library will be used for testing the JPT Tools features
# groupID : jpt-persistence.jar
jpt-persistence.jar.url=http://www.eclipse.org/webtools/dali/dev/
jpt-persistence.jar.file=jpt-persistence-1.0.zip
jpt-persistence.jar.name=Persistence Jar
jpt-persistence.jar.description=Persistence libraries
#######################################################################################

#######################################################################################
# Java Persistence API Tools(JPT) Runtime Library Dependency
# EclipseLink library zip to be downloaded
# EclipseLink Library will be used for JUnit testing the JPT Tools features
# groupID : jpt-eclipselink.jar
jpt-eclipselink.jar.url=http://www.eclipse.org/webtools/dali/dev/
jpt-eclipselink.jar.file=jpt-eclipselink-1.1.0.zip
jpt-eclipselink.jar.name=EclipseLink Jar
jpt-eclipselink.jar.description=EclipseLink libraries
#######################################################################################

