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

#This properties file lists the versions of the various artifacts used by hadoop and components.
#It drives ivy and the generation of a maven POM

#These are the versions of our dependencies (in alphabetical order)
ant-task.version=2.0.10

avro.version=1.3.2

checkstyle.version=4.2

commons-cli.version=1.2
commons-cli2.version=2.0-mahout
commons-codec.version=1.4
commons-collections.version=3.1
commons-httpclient.version=3.1
commons-lang.version=2.5
commons-logging.version=1.1.1
commons-logging-api.version=1.1
commons-el.version=1.0
commons-fileupload.version=1.2
commons-io.version=1.4
commons-net.version=1.4.1
core.version=3.1.1
coreplugin.version=1.3.2

ftplet-api.version=1.0.0
ftpserver-core.version=1.0.0
ftpserver-deprecated.version=1.0.0-M2

hsqldb.version=1.8.0.10

ivy.version=2.1.0

jasper.version=5.5.12
jsp.version=2.1
jsp-api.version=5.5.12
jets3t.version=0.7.1
jetty.version=6.1.14
jetty-util.version=6.1.14
junit.version=4.8.1
jdiff.version=1.0.9
json.version=1.0

kfs.version=0.3

log4j.version=1.2.15
lucene-core.version=2.3.1

mina-core.version=2.0.0-M5

oro.version=2.0.8

rats-lib.version=0.6

servlet.version=4.0.6
servlet-api-2.5.version=6.1.14
servlet-api.version=2.5
slf4j-api.version=1.5.11
slf4j-log4j12.version=1.5.11

wagon-http.version=1.0-beta-2

xmlenc.version=0.52
xerces.version=1.4.4

aspectj.version=1.6.5

mockito-all.version=1.8.2

