diff --git a/README.txt b/README.txt
index fc84a5e..778bc93 100755
--- a/README.txt
+++ b/README.txt
@@ -37,4 +37,25 @@
 
 For more information about the incubation status of the Apache Atlas
 project you can go to the following page:
-http://incubator.apache.org/projects/atlas.html
\ No newline at end of file
+http://incubator.apache.org/projects/atlas.html
+
+Build Process
+=============
+
+1. Check out the code from GIT repository
+   $ git clone https://github.com/apache/incubator-atlas.git
+
+2. Execute the following commands to build Apache Atlas
+
+   $ cd incubator-atlas
+   $ export MAVEN_OPTS="-Xms2g -Xmx2g -XX:MaxPermSize=512M"
+   $ mvn clean install
+   $ mvn clean package -Pdist
+
+3. After the above build commands successfully complete, you should see the following files
+
+   webapp/target/atlas-webapp-<version>.war
+   addons/falcon-bridge/target/falcon-bridge-<version>.jar
+   addons/hive-bridge/target/hive-bridge-<version>.jar
+   addons/sqoop-bridge/target/sqoop-bridge-<version>.jar
+   addons/storm-bridge/target/storm-bridge-<version>.jar
diff --git a/release-build.xml b/release-build.xml
new file mode 100644
index 0000000..9b0b38f
--- /dev/null
+++ b/release-build.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<project name="Apache Atlas Release Tasks" default="build-release">
+	<description>
+		Apache Atlas Build Release Tasks
+	</description>
+
+	<property name="release-dir"  value="target" />
+	<property name="incubationstr" value="-incubating" />
+	<property name="release-name" value="apache-atlas-${atlas-release-version}${incubationstr}" />
+
+	<property name="build-release-tar-file" value="${release-name}-sources.tar.gz" />
+
+	<target name="version-check">
+		<fail message="Missing atlas-release-version; -Datlas-release-version=&lt;version-number&gt; should be defined"
+			unless="atlas-release-version" />
+	</target>
+
+	<target name="build-release" depends="version-check">
+		<tstamp/>
+		<exec executable="mvn">
+			<arg value="clean" />
+		</exec>
+		<mkdir dir="${release-dir}" />
+		<tar destfile="${release-dir}/${build-release-tar-file}" compression="gzip" longfile="posix">
+			<tarfileset prefix="${release-name}" dir=".">
+				<exclude name="git" />
+				<exclude name="*/.gitignore" />
+				<exclude name=".settings/**" />
+				<exclude name="*/.settings/**" />
+				<exclude name=".classpath" />
+				<exclude name="*/.classpath" />
+				<exclude name=".project" />
+				<exclude name="*/.project" />
+				<exclude name="winpkg/*" />
+				<exclude name="hdfs-agent/dependency-reduced-pom.xml" />
+				<exclude name="*/bin/**" />
+				<exclude name="*/target/**" />
+				<exclude name="**/.DS_Store" />
+				<exclude name="target/**" />
+			</tarfileset>
+		</tar>
+
+		<exec executable="gpg">
+			<arg value="--armor" />
+			<arg value="--output" />
+			<arg value="${release-dir}/${build-release-tar-file}.asc" />
+			<arg value="--detach-sig" />
+			<arg value="${release-dir}/${build-release-tar-file}" />
+		</exec>
+
+		<exec executable="gpg" output="${release-dir}/${build-release-tar-file}.mds">
+			<arg value="--print-mds" />
+			<arg value="${release-dir}/${build-release-tar-file}" />
+		</exec>
+	</target>
+</project>
