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

rg.eclipse.build.id=I20070503-0010
rg.eclipse.build.dir=I20070503-0010

#######################################################################################
# Eclipse Platfrom Dependency
# Eclipse Platfrom will be used for building the distribution
# groupID : eclipse
eclipse.url  = http://download.eclipse.org/eclipse/downloads/drops/${rg.eclipse.build.dir}
#eclipse.releng.url = http://archive.eclipse.org/webtools/downloads/drivers
eclipse.file.linux-gtk-x86=eclipse-platform-${rg.eclipse.build.id}-linux-gtk.tar.gz
eclipse.file.linux-gtk-ppc=eclipse-platform-${rg.eclipse.build.id}-linux-gtk-ppc.tar.gz
eclipse.file.win32-win32-x86=eclipse-platform-${rg.eclipse.build.id}-win32.zip
eclipse.file.macosx-carbon-ppc=eclipse-platform-${rg.eclipse.build.id}-macosx-carbon.tar.gz
eclipse.name = Eclipse Platform v3.3 I20070503-0010
eclipse.description = Eclipse Platform v3.3 I20070503-0010

