#   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

activation.version=1.1
activemq.version=5.5.0
antlr.version=3.0.1
asm-all.version=3.2
commons-cli.version=1.2
commons-codec.version=1.4
commons-configuration.version=1.6
commons-compress.version=1.4.1
commons-dbcp.version=1.4
commons-exec.version=1.1
commons-httpclient.version=3.0.1
commons-io.version=2.4
commons-lang.version=2.4
commons-logging.version=1.1.1
commons-pool.version=1.5.4
checkstyle.version=5.5
datanucleus-connectionpool.version=2.0.3
datanucleus-core.version=2.0.3
datanucleus-enhancer.version=2.0.3
datanucleus-rdbms.version=2.0.3
derby.version=10.4.2.0
fb303.version=0.7.0
guava.version=11.0.2
hadoop20.version=1.0.3
hadoop23.version=0.23.1
hbase.version=0.92.0
hcatalog.version=0.5.0-SNAPSHOT
high-scale-lib.version=1.1.1
hive.version=0.10.0-SNAPSHOT
ivy.version=2.2.0
jackson.version=1.7.3
javax-mgmt.version=1.1-rev-1
jaxb-api.version=2.2.2
jaxb-impl.version=2.2.3-1
jdeb.version=0.8
jdo.version=2.3-ec
jersey.version=1.9.1
jettison.version=1.1
jetty.version=6.1.26
jetty.webhcat.version=7.6.0.v20120127
jms.version=1.1
junit.version=4.10
log4j.version=1.2.16
maven-ant-tasks.version=2.1.3
oro.version=2.0.8
pig.version=0.8.0
rats-lib.version=0.5.1
servlet-api.version=2.5
slf4j.version=1.6.1
stax-api.version=1.0-2
wadl-resourcedoc-doclet.version=1.4
xerces.version=2.9.1
zookeeper.version=3.4.3

