diff --git a/lib/java/Makefile.am b/lib/java/Makefile.am
index cb1332e..c5c7521 100644
--- a/lib/java/Makefile.am
+++ b/lib/java/Makefile.am
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-EXTRA_DIST = build.xml ivy.xml src test
+EXTRA_DIST = build.xml src test
 
 export CLASSPATH
 
diff --git a/lib/java/build.xml b/lib/java/build.xml
index f0b09b4..096bfc7 100644
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -22,85 +22,112 @@
   xmlns:artifact="antlib:org.apache.maven.artifact.ant">
 
   <description>Thrift Build File</description>
-
-  <property environment="env" />
-
-  <property name="gen" location="gen-java" />
-  <property name="genbean" location="gen-javabean" />
-  <property name="mvn.ant.task.version" value="2.1.0" />
-  
-  <property name="src" location="src" />
-  <property name="build" location="build" />
-  <property name="javadoc" location="${build}/javadoc" />
-  <property name="install.path" value="/usr/local/lib" />
-  <property name="src.test" location="test" />
-  <property name="build.test" location="${build}/test" />
-  <property name="test.thrift.home" location="../../test"/>
   <property name="thrift.root" location="../../"/>
-  <property name="jar.file" location="${basedir}/libthrift.jar" />  
-  <property name="test.jar.file" location="${basedir}/libthrift-test.jar" />
+  <property name="thrift.version" value="0.7.0"/>
+  <property name="thrift.groupid" value="org.apache.thrift"/>
+  <property name="thrift.artifactid" value="libthrift"/>
+	
+  <property name="mvn.ant.task.version" value="2.1.1"/>
+  <property name="ivy.version" value="2.2.0"/>
+ 	
+  <!-- Local install locations -->
+  <property name="install.path" value="/usr/local/lib"/>
+  <property name="install.javadoc.path" value="${install.path}"/>
 
-  <property file="${user.home}/.thrift-build.properties" />
-
-  <!-- ivy properties -->
-  <property name="ivy.version" value="2.0.0-rc2" />
-  <property name="ivy.dir" location="${build}/ivy" />
-  <property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/>
-  <property name="ivy.lib.dir" location="${ivy.dir}/lib" />
-  <property name="ivy_repo_url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
-  <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" />
-  <property name="mvn_ant_task_url" value="http://www.reverse.net/pub/apache/maven/binaries/maven-ant-tasks-${mvn.ant.task.version}.jar" />
-  <property name="mvn.ant.task.jar" location="${ivy.dir}/maven-ant-tasks-${mvn.ant.task.version}.jar" />
-  <property name="sources.zip" location="${build}/libthrift-src.zip" />
-  <property name="pom.file" location="${build}/pom.xml" />
+  <!-- Dependency download location -->
+  <property name="mvn.repo" value="http://repo1.maven.org/maven2"/>
+  <property name="apache.repo" value="https://repository.apache.org/content/repositories/releases"/>	
   
-  <!-- TODO: Get the appropriate tokens / URL for upload -->  
-  <property name="apache.snapshot.repository" value="https://repository.apache.org/content/repositories/snapshots" />
- 
+  <!-- Publish information-->
+  <property name="license" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
+  <property name="maven-repository-url" value="https://repository.apache.org/service/local/staging/deploy/maven2"/>
+  <property name="maven-repository-id" value="apache.releases.https"/>	
+
+  <property environment="env"/>
+
+  <condition property="version" value="${thrift.version}">
+    <isset property="release"/>
+  </condition>
+  <property name="version" value="${thrift.version}-snapshot"/>	
+
+  <property name="final.name" value="${thrift.artifactid}-${version}"/>
+
+  <property name="gen" location="gen-java"/>
+  <property name="genbean" location="gen-javabean"/>
+
+  <property name="src" location="${basedir}/src"/>
+  <property name="build.dir" location="${basedir}/build"/>
+  <property name="build.lib.dir" location="${build.dir}/lib"/>
+  <property name="build.tools.dir" location="${build.dir}/tools"/>
+  <property name="src.test" location="test"/>
+  <property name="build.test.dir" location="${build.dir}/test"/>
+  <property name="test.thrift.home" location="${thrift.root}/test"/>
+
+  <property name="javadoc.dir" location="${build.dir}/javadoc"/>
+  
+  <property name="jar.file" location="${build.dir}/${final.name}.jar"/>
+  <property name="test.jar.file" location="${build.dir}/${final.name}-test.jar"/>
+  <property name="javadoc.jar.file" location="${build.dir}/${final.name}-javadoc.jar"/>
+  <property name="source.tar.gz" location="${build.dir}/${final.name}-src.tar.gz"/>
+
+  <!-- Junit properties -->
+  <property name="test.junit.output.format" value="plain"/>
+  <property name="test.timeout" value="2000000"/>
+  <property name="test.src.dir" location="${basedir}/test"/>
+  <property name="test.log.dir" value="${build.test.dir}/log"/>
+  <property name="test.port" value="9090"/>	
+
+  <!-- ivy properties -->	
+  <property name="ivy.repo.url" value="${mvn.repo}/org/apache/ivy/ivy/${ivy.version}/"/>
+  <property name="ivy.jar" value="${build.tools.dir}/ivy-${ivy.version}.jar"/>	
+
+  <!-- maven properties -->
+  <property name="mvn.ant.task.url" value="${mvn.repo}/org/apache/maven/maven-ant-tasks/${mvn.ant.task.version}"/>
+  <property name="mvn.ant.task.jar" location="${build.tools.dir}/maven-ant-tasks-${mvn.ant.task.version}.jar"/>
+  <property name="pom.xml" location="${build.dir}/${final.name}.pom"/>
+
+  <!-- custom override anything with a thrift-build.properties file in your home directory -->	
+  <property file="${user.home}/.thrift-build.properties"/>
+
   <path id="compile.classpath">
-    <path refid="ivy.compile.classpath" />
+    <fileset dir="${build.lib.dir}"> 
+      <include name="**/*.jar"/>
+    </fileset>
   </path>
 
   <path id="test.classpath">
-    <path refid="compile.classpath" />
-    <path refid="ivy.test.classpath" />
-    <pathelement path="${env.CLASSPATH}" />
-    <pathelement location="build/test" />
-    <pathelement location="${jar.file}" />
+    <path refid="compile.classpath"/>
+    <pathelement path="${env.CLASSPATH}"/>
+    <pathelement location="${build.test.dir}"/>
+    <pathelement location="${jar.file}"/>
+    <pathelement location="${test.jar.file}"/>
   </path>
 
-  <target name="init">
-    <tstamp />
-    <mkdir dir="${build}"/>
-    <mkdir dir="${build.test}" />
-    <!--
-    Allow Ivy to be disabled with "-Dnoivy=".
-    It is kind of a hack to pretend that we already found it,
-    but Ant doesn't provide an easy way of blocking dependencies
-    from executing or checking multiple conditions.
-    -->
-    <condition property="ivy.found"><isset property="noivy" /></condition>
-    <condition property="offline"><isset property="noivy" /></condition>
+  <!-- Tasks -->	
+  <target name="init" depends="setup.init,ivy.init,mvn.init" unless="init.finished">
+    <property name="init.finished" value="true"/>
   </target>
 
-  <target name="ivy-init-dirs">
-    <mkdir dir="${ivy.dir}" />
-    <mkdir dir="${ivy.lib.dir}" />
+  <target name="setup.init">
+    <tstamp/>
+    <mkdir dir="${build.dir}"/>
+    <mkdir dir="${build.lib.dir}"/>
+    <mkdir dir="${build.tools.dir}"/>
+    <mkdir dir="${build.test.dir}"/>
   </target>
 
-  <target name="ivy-download" depends="ivy-init-dirs" description="To download ivy" unless="offline">
-    <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/>
+  <target name="ivy.download" depends="setup.init" unless="ivy.found">
+    <get src="${ivy.repo.url}/ivy-${ivy.version}.jar" dest="${ivy.jar}" usetimestamp="true"/>
   </target>
 
-  <target name="ivy-probe-antlib">
+  <target name="ivy.check" description="check if ivy is in the classpath">
     <condition property="ivy.found">
       <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
     </condition>
   </target>
 
-  <target name="ivy-init-antlib" depends="ivy-download,ivy-probe-antlib" unless="ivy.found">
-    <typedef uri="antlib:org.apache.ivy.ant" onerror="fail"
-      loaderRef="ivyLoader">
+  <target name="ivy.init" depends="setup.init,ivy.check,ivy.download" unless="ivy.found">
+    <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader">
       <classpath>
         <pathelement location="${ivy.jar}"/>
       </classpath>
@@ -111,110 +138,90 @@
           <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/>
         </not>
       </condition>
-      You need Apache Ivy 2.0 or later from http://ant.apache.org/
-      It could not be loaded from ${ivy_repo_url}
+      You need Apache Ivy 2.0 or later from ${ivy.repo.url}. It could not be loaded from ${ivy.jar}
     </fail>
   </target>
 
-  <target name="resolve" depends="ivy-init-antlib" description="retrieve dependencies with ivy" unless="noivy">
-    <ivy:retrieve />
-    <ivy:cachepath pathid="ivy.compile.classpath" conf="compile" />
-    <ivy:cachepath pathid="ivy.test.classpath" conf="test" />
+  <target name="compile" depends="init">
+    <javac srcdir="${src}" destdir="${build.dir}" source="1.5" target="1.5" 
+      debug="true" classpathref="compile.classpath" includeantruntime="false"/>
   </target>
 
-  <target name="resolve-offline" depends="ivy-init-antlib" description="retrieve dependencies with ivy" if="noivy">
-    <path id="ivy.compile.classpath">
-      <fileset dir="${ivy.lib.dir}">
-        <include name="**/*.jar" />
-      </fileset>
-    </path>
-    <path id="ivy.test.classpath">
-    <!-- same as ivy.compile.classpath, but has to be defined -->
-    </path>
-  </target>
-
-  <target name="compile" depends="init,resolve,resolve-offline">
-    <javac srcdir="${src}" destdir="${build}" source="1.5" target="1.5" debug="true" classpathref="compile.classpath" />
-  </target>
-
-  <target name="javadoc" depends="init,resolve,resolve-offline">
-    <javadoc sourcepath="${src}"
-      destdir="${javadoc}"
-      version="true"
-      windowtitle="Thrift Java API"
-      doctitle="Thrift Java API"
+  <target name="javadoc" depends="init">
+    <javadoc sourcepath="${src}" destdir="${javadoc.dir}"
+      version="true" windowtitle="Thrift Java API" doctitle="Thrift Java API"
       classpathref="test.classpath">
     </javadoc>
+    <jar jarfile="${javadoc.jar.file}" basedir="${javadoc.dir}">
+      <manifest>
+        <attribute name="Implementation-Version" value="${version}"/>
+      </manifest>
+    </jar>
   </target>
 
   <target name="dist" depends="compile">
-    <mkdir dir="${build}/META-INF"/>
-    <copy file="${thrift.root}/LICENSE" tofile="${build}/META-INF/LICENSE.txt"/>
-    <copy file="${thrift.root}/NOTICE" tofile="${build}/META-INF/NOTICE.txt"/>
+    <mkdir dir="${build.dir}/META-INF"/>
+    <copy file="${thrift.root}/LICENSE" tofile="${build.dir}/META-INF/LICENSE.txt"/>
+    <copy file="${thrift.root}/NOTICE" tofile="${build.dir}/META-INF/NOTICE.txt"/>
     <jar jarfile="${jar.file}">
-      <fileset dir="${build}">
-        <include name="org/apache/thrift/**/*.class" />
-        <include name="META-INF/*.txt" />
+      <manifest>
+        <attribute name="Implementation-Version" value="${version}"/>
+      </manifest>
+      <fileset dir="${build.dir}">
+        <include name="org/apache/thrift/**/*.class"/>
+        <include name="META-INF/*.txt"/>
       </fileset>
       <fileset dir="src">
-        <include name="**/*.java" />
+        <include name="**/*.java"/>
       </fileset>
     </jar>
   </target>
 
+  <target name="pack.src">
+    <tar destfile="${source.tar.gz}" basedir="${src}" compression="gzip"/>
+  </target>
+
   <target name="install" depends="dist,javadoc">
     <copy todir="${install.path}">
-        <fileset dir="."><include name="*.jar" /></fileset>
+        <fileset dir="."><include name="*.jar"/></fileset>
     </copy>
     <copy todir="${install.javadoc.path}">
-      <fileset dir="${javadoc}">
-        <include name="**/*" />
+      <fileset dir="${javadoc.dir}">
+        <include name="**/*"/>
       </fileset>
     </copy>
   </target>
 
   <target name="clean">
-    <delete dir="${build}" />
+    <delete dir="${build.dir}"/>
     <delete dir="${gen}"/>
     <delete dir="${genbean}"/>
-    <delete dir="${javadoc}"/>
-    <delete file="${jar.file}" />
-    <delete file="${test.jar.file}" />
   </target>
 
   <target name="compile-test" description="Build the test suite classes" depends="generate,dist">
-    <javac debug="true" srcdir="${gen}" destdir="${build.test}" classpathref="test.classpath" />
-    <javac debug="true" srcdir="${genbean}" destdir="${build.test}" classpathref="test.classpath" />
-    <javac debug="true" srcdir="${src.test}" destdir="${build.test}" classpathref="test.classpath" />
-    <copy todir="${build.test}">
-      <fileset dir="${src.test}" includes="log4j.properties" />
+    <javac debug="true" srcdir="${gen}" destdir="${build.test.dir}" classpathref="test.classpath" includeantruntime="false"/>
+    <javac debug="true" srcdir="${genbean}" destdir="${build.test.dir}" classpathref="test.classpath" includeantruntime="false"/>
+    <javac debug="true" srcdir="${src.test}" destdir="${build.test.dir}" classpathref="test.classpath" includeantruntime="false"/>
+    <copy todir="${build.test.dir}">
+      <fileset dir="${src.test}" includes="log4j.properties"/>
     </copy>
-    <jar jarfile="${test.jar.file}" basedir="${build}/test"/>
+    <jar jarfile="${test.jar.file}" basedir="${build.test.dir}"/>
   </target>
 
-  <property name="build.test" location="${build.dir}/test"/>
-  <property name="test.junit.output.format" value="plain"/>
-  <property name="test.timeout" value="2000000"/>
-  <property name="test.src.dir" location="${basedir}/test"/>
-  <property name="test.log.dir" value="${build.test}/log"/>
-  <property name="test.port" value="9090" />
-
   <target name="junit-test" description="Run the JUnit test suite" depends="compile-test">
     <mkdir dir="${test.log.dir}"/>
-    <junit
-      printsummary="yes" showoutput="${test.output}" 
-      haltonfailure="no" fork="yes" maxmemory="512m"
-      errorProperty="tests.failed" failureProperty="tests.failed"
-      timeout="${test.timeout}"
+    <junit printsummary="true" showoutput="${test.output}" timeout="${test.timeout}" 
+      haltonfailure="no" errorProperty="tests.failed" failureProperty="tests.failed"
+      fork="true" forkmode="perTest" maxmemory="512m"
     >
-      <sysproperty key="build.test" value="${build.test}"/>
-      <sysproperty key="test.port" value="${test.port}" />
+      <sysproperty key="build.test" value="${build.test.dir}"/>
+      <sysproperty key="test.port" value="${test.port}"/>
       <sysproperty key="javax.net.ssl.trustStore" value="${src.test}/.truststore"/>
       <sysproperty key="javax.net.ssl.trustStorePassword" value="thrift"/>
       <sysproperty key="javax.net.ssl.keyStore" value="${src.test}/.keystore"/>
       <sysproperty key="javax.net.ssl.keyStorePassword" value="thrift"/>
       <classpath refid="test.classpath"/>
-      <formatter type="${test.junit.output.format}" />
+      <formatter type="${test.junit.output.format}"/>
       <batchtest todir="${test.log.dir}" unless="testcase">
         <fileset dir="${test.src.dir}">
           <include name="**/Test*.java"/>
@@ -224,17 +231,15 @@
         </fileset>
       </batchtest>
       <batchtest todir="${test.log.dir}" if="testcase">
-        <fileset dir="${test.src.dir}" includes="**/${testcase}.java" />
+        <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
       </batchtest>
     </junit>
     <fail if="tests.failed">Tests failed!</fail>
   </target>
 
   <target name="deprecated-test" description="Run the non-JUnit test suite" depends="compile-test">
-    <java classname="org.apache.thrift.test.EqualityTest"
-      classpathref="test.classpath" failonerror="true" />
-    <java classname="org.apache.thrift.test.JavaBeansTest"
-      classpathref="test.classpath" failonerror="true" />
+    <java classname="org.apache.thrift.test.EqualityTest" classpathref="test.classpath" failonerror="true"/>
+    <java classname="org.apache.thrift.test.JavaBeansTest" classpathref="test.classpath" failonerror="true"/>
   </target>
 
   <target name="test" description="Run the full test suite" depends="junit-test,deprecated-test"/>
@@ -242,72 +247,141 @@
   <target name="testclient" description="Run a test client" depends="compile-test">
     <java classname="org.apache.thrift.test.TestClient"
       classpathref="test.classpath" failonerror="true">
-      <arg line="${testargs}" />
+      <arg line="${testargs}"/>
     </java>
   </target>
 
   <target name="testserver" description="Run a test server" depends="compile-test">
     <java classname="org.apache.thrift.test.TestServer"
       classpathref="test.classpath" failonerror="true">
-      <arg line="${testargs}" />
+      <arg line="${testargs}"/>
     </java>
   </target>
 
   <target name="testnonblockingserver" description="Run a test nonblocking server" depends="compile-test">
     <java classname="org.apache.thrift.test.TestNonblockingServer"
       classpathref="test.classpath" failonerror="true">
-      <arg line="${testargs}" />
+      <arg line="${testargs}"/>
     </java>
   </target>
 
   <target name="generate">
+    <!-- Generate the thrift gen-java source -->
     <exec executable="../../compiler/cpp/thrift" failonerror="true">
-      <arg line="--gen java:hashcode ${test.thrift.home}/ThriftTest.thrift" />
+      <arg line="--gen java:hashcode ${test.thrift.home}/ThriftTest.thrift"/>
     </exec>
     <exec executable="../../compiler/cpp/thrift" failonerror="true">
-      <arg line="--gen java:hashcode ${test.thrift.home}/DebugProtoTest.thrift" />
+      <arg line="--gen java:hashcode ${test.thrift.home}/DebugProtoTest.thrift"/>
     </exec>
     <exec executable="../../compiler/cpp/thrift" failonerror="true">
-      <arg line="--gen java:hashcode ${test.thrift.home}/OptionalRequiredTest.thrift" />
+      <arg line="--gen java:hashcode ${test.thrift.home}/OptionalRequiredTest.thrift"/>
     </exec>
     <exec executable="../../compiler/cpp/thrift" failonerror="true">
-      <arg line="--gen java:beans,nocamel ${test.thrift.home}/JavaBeansTest.thrift" />
+      <arg line="--gen java:beans,nocamel ${test.thrift.home}/JavaBeansTest.thrift"/>
     </exec>
   </target>
 
-  <target name="mvn.init">
-    <get src="${mvn_ant_task_url}" dest="${mvn.ant.task.jar}" usetimestamp="true" /> 
-    <path id="maven-ant-tasks.classpath" path="${mvn.ant.task.jar}" />
-  <taskdef resource="org/apache/maven/artifact/ant/antlib.xml"
-                        uri="antlib:org.apache.maven.artifact.ant"
-          classpathref="maven-ant-tasks.classpath" />
+  <target name="mvn.ant.tasks.download" depends="setup.init" unless="mvn.ant.tasks.found">
+    <get src="${mvn.ant.task.url}/maven-ant-tasks-${mvn.ant.task.version}.jar" dest="${mvn.ant.task.jar}" usetimestamp="true"/>
   </target>
 
-  <target name="pack.src">
-    <zip destfile="${sources.zip}" basedir="${src}" />
+  <target name="mvn.ant.tasks.check">
+    <condition property="mvn.ant.tasks.found">
+      <typefound uri="antlib:org.apache.maven.artifact.ant" name="artifact"/>
+    </condition>
+  </target>	
+
+  <target name="mvn.init" depends="mvn.ant.tasks.download" unless="mvn.finished">
+    <!-- Download mvn ant tasks, download dependencies, and setup pom file -->
+    <typedef uri="antlib:org.apache.maven.artifact.ant" classpath="${mvn.ant.task.jar}"/>
+
+    <!-- remote repositories used to download dependencies from -->
+    <artifact:remoteRepository id="central" url="${mvn.repo}"/>
+    <artifact:remoteRepository id="apache" url="${apache.repo}"/>
+
+    <!-- Pom file information -->
+    <artifact:pom id="pom" 
+      groupId="${thrift.groupid}" 
+      artifactId="${thrift.artifactid}"
+      version="${version}" 
+      url="http://thrift.apache.org"
+      name="Apache Thrift"
+      description="Thrift is a software framework for scalable cross-language services development."
+      packaging="pom"
+    >
+      <remoteRepository refid="central"/>
+      <remoteRepository refid="apache"/>
+      <license name="The Apache Software License, Version 2.0" url="${license}"/>
+      <scm connection="scm:svn:http://svn.apache.org/repos/asf/thrift/trunk/" 
+        developerConnection="scm:svn:http://svn.apache.org/repos/asf/thrift/trunk/"
+        url="http://svn.apache.org/viewcvs.cgi/thrift"
+      />
+      <!-- Thrift Developers -->
+      <developer id="mcslee" name="Mark Slee"/>
+      <developer id="dreiss" name="David Reiss"/>
+      <developer id="aditya" name="Aditya Agarwal"/>
+      <developer id="marck" name="Marc Kwiatkowski"/>
+      <developer id="jwang" name="James Wang"/>
+      <developer id="cpiro" name="Chris Piro"/>
+      <developer id="bmaurer" name="Ben Maurer"/>
+      <developer id="kclark" name="Kevin Clark"/>
+      <developer id="jake" name="Jake Luciani"/>
+      <developer id="bryanduxbury" name="Bryan Duxbury"/>
+      <developer id="esteve" name="Esteve Fernandez"/>
+      <developer id="todd" name="Todd Lipcon"/>
+      <developer id="geechorama" name="Andrew McGeachie"/>
+      <developer id="molinaro" name="Anthony Molinaro"/>
+      <developer id="roger" name="Roger Meier"/>
+
+      <!-- Thrift dependencies list -->
+      <dependency groupId="org.slf4j" artifactId="slf4j-api" version="1.5.8"/>
+      <dependency groupId="org.slf4j" artifactId="slf4j-log4j12" version="1.5.8"/>
+      <dependency groupId="commons-lang" artifactId="commons-lang" version="2.5"/>
+      <dependency groupId="junit" artifactId="junit" version="4.4"/>
+      <dependency groupId="javax.servlet" artifactId="servlet-api" version="2.5"/>
+      <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="4.0.1"/>
+    </artifact:pom>
+
+    <!-- Generate the pom file -->
+    <artifact:writepom pomRefId="pom" file="${pom.xml}"/>
+
+    <!-- Download the dependencies -->
+    <artifact:dependencies filesetId="build-dependency-jars" pomRefId="pom"/>
+
+    <!-- Copy the dependencies to the build/lib dir -->
+    <copy todir="${build.dir}/lib">
+      <fileset refid="build-dependency-jars"/>
+      <mapper type="flatten"/>
+    </copy>
+
+    <property name="mvn.finished" value="true"/>
   </target>
 
-  <target name="generate.pom" depends="init,resolve" description="Generate a Maven POM file for libthrift">
-    <ivy:makepom ivyfile="${basedir}/ivy.xml" pomfile="${pom.file}" >
-      <mapping conf="default" scope="compile" />
-      <mapping conf="runtime" scope="runtime" />
-    </ivy:makepom>
-  </target>
+  <macrodef name="signAndDeploy">
+    <!-- Sign and deploy jars to apache repo -->
+    <attribute name="file"/>
+    <attribute name="classifier" default=""/>
+    <attribute name="packaging" default="jar"/>
+    <sequential>
+      <artifact:mvn fork="true">
+        <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file"/>
+        <arg value="-DrepositoryId=${maven-repository-id}"/>
+        <arg value="-Durl=${maven-repository-url}"/>
+        <arg value="-DpomFile=${pom.xml}"/>
+        <arg value="-Dfile=@{file}"/>
+        <arg value="-Dclassifier=@{classifier}"/>
+        <arg value="-Dpackaging=@{packaging}"/>
+        <arg value="-Pgpg"/>
+      </artifact:mvn>
+    </sequential>
+  </macrodef>
 
-  <target name="publish" depends="test,dist,mvn.init,generate.pom,pack.src">
-    <artifact:pom id="pom" file="${pom.file}" />
-
-    <artifact:install file="${jar.file}">
-      <pom refid="pom"/>
-      <attach file="${sources.zip}" classifier="source" />
-    </artifact:install>
-
-    <artifact:remoteRepository id="remote.repository" url="${apache.snapshot.repository}" />
-
-    <artifact:deploy file="${jar.file}">
-      <remoteRepository refid="remote.repository" />
-      <pom refid="pom"/>
-      <attach file="${sources.zip}" classifier="source" />
-    </artifact:deploy>
+  <target name="publish" depends="clean,init,test,dist,javadoc,pack.src">
+    <!-- Compile, package, test and then send release to apache maven repo -->
+    <!-- run with: ant -Drelease=true publish-->
+    <signAndDeploy file="${pom.xml}" packaging="pom" classifier=""/>
+    <signAndDeploy file="${jar.file}" packaging="jar" classifier=""/>
+    <signAndDeploy file="${javadoc.jar.file}" packaging="jar" classifier="javadoc"/>
+    <signAndDeploy file="${source.tar.gz}" packaging="src" classifier="tar.gz"/>
   </target>
 </project>
diff --git a/lib/java/ivy.xml b/lib/java/ivy.xml
deleted file mode 100644
index 1ba933d..0000000
--- a/lib/java/ivy.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You 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.
--->
-<ivy-module version="1.0">
-    <info organisation="org.apache.thrift" module="libthrift" revision="0.7.0-dev" >
-      <license name="Apache License 2.0" url="http://www.apache.org/licenses/LICENSE-2.0" />
-      <ivyauthor name="Thrift Developers" url="dev@thrift.apache.org" />
-      <repository name="apache repository" url="http://thrift.apache.org" />
-      <description homepage="http://thrift.apache.org">
-      Java bindings for the Apache Thrift RPC system
-      </description>
-    </info>
-    <configurations defaultconfmapping="compile">
-      <conf name="compile" />
-      <conf name="test" extends="compile" visibility="private" />
-    </configurations>
-    <dependencies>
-       <dependency org="org.slf4j" name="slf4j-api" rev="1.5.8" conf="* -> *,!sources,!javadoc"/>
-       <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.5.8" conf="test -> *,!sources,!javadoc"/>
-       <dependency org="commons-lang" name="commons-lang" rev="2.5" conf="* -> *,!sources,!javadoc"/>
-       <dependency org="junit" name="junit" rev="4.4" conf="test -> *,!sources,!javadoc"/>
-       <dependency org="javax.servlet" name="servlet-api" rev="2.5" conf="* -> *,!sources,!javadoc"/>
-       <dependency org="org.apache.httpcomponents" name="httpclient" rev="4.0.1" conf="* -> *,!sources,!javadoc"/>
-    </dependencies>
-</ivy-module>
