# This file is shared currently between this Gradle build and the
# Ant builds for fd303 and JavaScript. Keep the dotted notation for
# the properties to minimize the changes in the dependencies.
thrift.version=1.0.0
thrift.groupid=org.apache.thrift
release=true

# Local Install paths
install.path=/usr/local/lib
install.javadoc.path=/usr/local/lib

# Test execution properties
testPort=9090

# Test with Clover Code coverage (disabled by default)
cloverEnabled=false

# Maven dependency download locations
mvn.repo=http://repo1.maven.org/maven2
apache.repo=https://repository.apache.org/content/repositories/releases

# Apache Maven publish
license=http://www.apache.org/licenses/LICENSE-2.0.txt
maven-repository-url=https://repository.apache.org/service/local/staging/deploy/maven2
maven-repository-id=apache.releases.https

# Dependency versions
httpclient.version=4.4.1
httpcore.version=4.4.1
slf4j.version=1.7.12
servlet.version=2.5
junit.version=4.12
mockito.version=1.9.5
