# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

icu=${depends.jars}/eclipse-ICU4J/com.ibm.icu.base-3.3.zip
icu.url=http://archive.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/com.ibm.icu.base-3.3.zip
icu.md5=5b8a0fc0e48431d376c7efd7be8c0f7b
icu.unzip.path=eclipse/plugins/com.ibm.icu.base_3.6.1.v20070417.jar
icu.jar=${depends.jars}/eclipse-ICU4J/com.ibm.icu.base_3.6.1.v20070417.jar

jdt.version=3.4.2
jdt.url.base=${harmony.standard.base}/jars/eclipse-JDT-${jdt.version}
jdt.jdi.jar=${depends.jars}/eclipse-JDT-${jdt.version}/jdi.jar
jdt.jdi.jar.url=${jdt.url.base}/jdi.jar
jdt.jdi.jar.md5=5dcceca8849747dc37c66f9f96c59eee
jdt.jdimodel.jar=${depends.jars}/eclipse-JDT-${jdt.version}/jdimodel.jar
jdt.jdimodel.jar.url=${jdt.url.base}/jdimodel.jar
jdt.jdimodel.jar.md5=499d25ab45c118bda2f6fbe397095eaa
