thrift.version=0.7.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

thrift.version=0.7.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

thrift.version=0.7.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

thrift.version=0.7.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

thrift.version=0.7.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

thrift.version=0.7.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

