thrift.version=0.9.0
thrift.groupid=org.apache.thrift

# Jar Versions 
mvn.ant.task.version=2.1.3

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

# Maven dependency download locations
mvn.repo=http://repo1.maven.org/maven2
apache.repo=https://repository.apache.org/content/repositories/releases
mvn.ant.task.url=${mvn.repo}/org/apache/maven/maven-ant-tasks/${mvn.ant.task.version}
mvn.ant.task.jar=maven-ant-tasks-${mvn.ant.task.version}.jar

# 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

# Jar Versions 
mvn.ant.task.version=2.1.3

