# 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=0.13.0
thrift.groupid=org.apache.thrift
release=false

# 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.5.6
httpcore.version=4.4.1
slf4j.version=1.7.25
servlet.version=2.5
junit.version=4.12
mockito.version=1.9.5
javax.annotation.version=1.3.2
