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>