Docs: Extract requirements from build setup

Bug: 27407694
Change-Id: I2f80127391880557ca63524d4c9c50eedd44c214
diff --git a/src/source/initializing.jd b/src/source/initializing.jd
index 218a487..084293d 100644
--- a/src/source/initializing.jd
+++ b/src/source/initializing.jd
@@ -242,53 +242,13 @@
 <p>Once you've mounted the <code>android</code> volume, you'll do all your work there. You can eject it (unmount it) just like you would with an external drive.</p>
 
 <h3 id="installing-the-mac-jdk">Installing the JDK</h3>
-<p>The <code>master</code> branch of Android in the <a
-href="https://android.googlesource.com/">Android Open Source Project (AOSP)</a>
-requires Java 8. On Mac OS, use <a
-href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u45-oth-JPR">jdk 8u45 or newer</a>.</p>
 
-<p>The <code>5.0.x</code> branches of Android in the <a
-href="https://android.googlesource.com/">Android Open Source Project (AOSP)</a>
-require Java 7. On Mac OS, use <a
-href="https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u71-oth-JPR">jdk-7u71-macosx-x64.dmg</a>.</p>
+<p>See <a href="requirements.html">Requirements</a> for the version of Java to use when developing various versions of Android.</p>
 
-<p>To develop for versions of Android Gingerbread through KitKat, download and
-install the Java 6 version of the <a
-href="http://support.apple.com/kb/dl1572">Java JDK</a>.</p>
-
-<h3 id="master-branch">Master branch</h3>
-<p>To build the latest source in a Mac OS environment, you will need an Intel/x86
-machine running Mac OS X v10.10 (Yosemite) or later, along with Xcode
-4.5.2 or later including the Command Line Tools.</p>
-
-<h3 id="branch-60x">Branch 6.0.x</h3>
-<p>To build 6.0.x and earlier source in a Mac OS environment, you will need an Intel/x86
-machine running Mac OS X v10.10 (Yosemite), along with Xcode
-4.5.2 and Command Line Tools.</p>
-
-<h3 id="branch-50x">Branch 5.0.x</h3>
-<p>To build 5.0.x and earlier source in a Mac OS environment, you will need an Intel/x86
-machine running Mac OS X v10.8 (Mountain Lion), along with Xcode
-4.5.2 and Command Line Tools.</p>
-
-<h3 id="branch-44x">Branch 4.4.x</h3>
-<p>To build 4.2.x and earlier source in a Mac OS environment, you will need an Intel/x86
-machine running Mac OS X v10.6 (Snow Leopard) or Mac OS X v10.7 (Lion), along with Xcode
-4.2 (Apple's Developer Tools). Although Lion does not come with a JDK, it should
-install automatically when you attempt to build the source.</p>
-<p>The remaining sections for Mac OS apply only to those who wish to build
-earlier branches.</p>
-
-<h3 id="branch-40x">Branch 4.0.x and all earlier branches</h3>
-<p>To build android-4.0.x and earlier branches in a Mac OS environment, you need an
-Intel/x86 machine running Mac OS X v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard). You
-will need the Mac OS X v10.5 SDK.</p>
 <h4 id="installing-required-packages">Installing required packages</h4>
 <ul>
 <li>
 <p>Install Xcode from <a href="http://developer.apple.com/">the Apple developer site</a>.
-We recommend version 3.1.4 or newer (e.g., gcc 4.2).
-Version 4.x could cause difficulties.
 If you are not already registered as an Apple developer, you will have to
 create an Apple ID in order to download.</p>
 </li>
@@ -309,8 +269,11 @@
 </code></pre>
 </li>
 </ul>
+
 <h4 id="reverting-from-make-382">Reverting from make 3.82</h4>
-<p>For versions of Android before ICS, there is a bug in gmake 3.82 that prevents android from building.  You can install version 3.81 using MacPorts by taking the following steps:</p>
+<p>In Android 4.0.x (Ice Cream Sandwich) and earlier, a bug exists in gmake 3.82
+that prevents android from building. You can install version 3.81 using
+MacPorts with these steps:</p>
 <ul>
 <li>
 <p>Edit <code>/opt/local/etc/macports/sources.conf</code> and add a line that says</p>
@@ -336,6 +299,7 @@
 </code></pre>
 </li>
 </ul>
+
 <h4 id="setting-a-file-descriptor-limit">Setting a file descriptor limit</h4>
 <p>On Mac OS, the default limit on the number of simultaneous file descriptors open is too low and a highly parallel build process may exceed this limit.<br />
 </p>
diff --git a/src/source/requirements.jd b/src/source/requirements.jd
index 19e7d3d..20dbb89 100644
--- a/src/source/requirements.jd
+++ b/src/source/requirements.jd
@@ -16,8 +16,16 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+    <ol id="auto-toc">
+    </ol>
+  </div>
+</div>
+
 <p>Before you download and build the Android source, ensure your system meets
-  the following requirements. Then see <a href="initializing.html">Initializing a
+  the following requirements. Then see <a href="initializing.html">Establishing a
   Build Environment</a> for installation instructions by operating system.</p>
 
 <h2 id=hardware-requirements>Hardware requirements</h2>
@@ -45,53 +53,70 @@
 
 <p>The <a
   href="https://android.googlesource.com/">Android Open Source Project
-  (AOSP)</a> is routinely tested in-house on recent versions of
-  Ubuntu LTS (14.04), but most distributions should have the required
-  build tools available.</p>
+  (AOSP)</a> <code>master</code> branch is traditionally developed and tested
+  on Ubuntu Long Term Support (LTS) releases, but other distributions may be
+  used. See the list below for recommended versions.</p>
 
-<p>You workstation will need this software:</p>
+<p>You workstation must have the software listed below. See <a
+  href="initializing.html">Establishing a Build Environment</a> for
+  additional required packages and the commands to install them.</p>
 
-<ul>
+<h3 id=operating-system>Operating system</h3>
 
-  <li>A Linux or Mac OS operating system. It is also possible to build Android in a
-  virtual machine on unsupported systems such as Windows.</br>
+<p>Android is typically built with a Linux or Mac OS operating system. It is
+  also possible to build Android in a virtual machine on unsupported systems such
+  as Windows.</br>
 
-  For Linux:
+<h4 id=linux>Linux</h4>
+
   <ul>
     <li>Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)</li>
     <li>Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)</li>
     <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)</li>
   </ul>
 
-  For Mac:
+<h4 id=mac>Mac OS (Intel/x86)</h4>
+
   <ul>
-    <li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or later</li>
-    <li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion)</li>
-    <li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6 (Snow Leopard) or Mac OS X v10.7 (Lion)</li>
-    <li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard)</li>
+    <li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or
+    later with Xcode 4.5.2 and Command Line Tools</li>
+    <li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion) with Xcode 4.5.2
+    and Command Line Tools</li>
+    <li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6
+    (Snow Leopard) or Mac OS X v10.7 (Lion) and Xcode 4.2 (Apple's Developer
+    Tools)</li>
+    <li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS
+    v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard) and the Mac OS X v10.5
+    SDK</li>
   </ul>
-  </li>
 
-  <li>
-  Java Development Kit (JDK):
+<h3 id=jdk>Java Development Kit (JDK)</h3>
+
+<p>Please note, since there are no available supported OpenJDK 8 packages for
+  Ubuntu 14.04, the Ubuntu 15.04 packages must be installed manually. See <a
+  href="initializing.html#for-ubuntu-14-04">JDK for Ubuntu LTS 14.04</a> for precise instructions.</p>
   <ul>
-    <li>The master branch of Android in AOSP: Java 8
-    <li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Java 7
-    <li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Java 6
-    <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Java 5
+    <li>The master branch of Android in AOSP: Ubuntu - <a
+    href="http://openjdk.java.net/install/">OpenJDK 8</a>, Mac OS - <a
+    href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u45-oth-JPR">jdk
+    8u45 or newer</a></li>
+    <li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - <a
+    href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java
+    JDK 7</a>, Mac OS - <a
+    href="https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u71-oth-JPR">jdk-7u71-macosx-x64.dmg</a></li>
+    <li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - <a
+    href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 6</a>, Mac OS - <a
+    href="http://support.apple.com/kb/dl1572">Java JDK 6</a></li>
+    <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - <a
+    href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 5</a></li>
   </ul>
-  </li>
 
-  <li>
-  Python 2.6 -- 2.7, which you can download from <a href="http://www.python.org/download/">python.org</a>.</p>
-  </li>
-
-  <li>
-  GNU Make 3.81 -- 3.82, which you can download from <a href="http://ftp.gnu.org/gnu/make/">gnu.org</a>,</p>
-  </li>
-
-  <li>
-  Git 1.7 or newer. You can find it at <a href="http://git-scm.com/download">git-scm.com</a>.</p>
-  </li>
-
-</ul>
+<h3 id=packages>Key packages</h3>
+  <ul>
+    <li>Python 2.6 -- 2.7 from <a href="http://www.python.org/download/">python.org</a></li>
+    <li>GNU Make 3.81 -- 3.82 from <a
+    href="http://ftp.gnu.org/gnu/make/">gnu.org</a>; Android 3.2.x (Honeycomb) and
+    earlier will need to <a href="initializing.html#reverting-from-make-382">revert
+    from make 3.82</a> to avoid build errors</li>
+    <li>Git 1.7 or newer from <a href="http://git-scm.com/download">git-scm.com</a></li>
+  </ul>