--- /dev/null
+<html>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+-->
+<head>
+<title>Building Jalview from Source</title>
+</head>
+<body>
+<h1>Building Jalview from Source</h1>
+<p/>
+
+<p>
+You will need the following:<br/>
+<ul>
+ <li> Obtain: git</li>
+ <li> Build/run: Java Development Kit (JDK). JDK11 is now the recommended platform for developing with Jalview. You can obtain a pre-compiled JDK11 for many platforms from https://adoptopenjdk.net/</li>
+ <li> Build: Gradle 5.1 or later. On linux you can obtain this with your package manager (e.g. <code>sudo yum install gradle</code> or <code>sudo apt install gradle</code> or on macOS with brew with <code>brew install gradle</code></li>
+</ul>
+With any luck, once you check out the Jalview source from git and set your JAVA_HOME and PATH correctly, you just need to change to the <code>jalview</code> directory and run <code>gradle getdown</code>.
+</p>
+
+<h2>Obtaining Jalview</h2>
+<p>This is easiest achieved with git:
+<pre>git clone http://www.jalview.org/git/jalview.git</pre>
+Then you can <code>cd jalview</code> to get into the top level jalview dir.
+
+
+<p>
+<h2>Minimal Jalview build</h2>
+<p>To run Jalview, you just need the jalview classes and the .jar libraries that Jalview depends on.</p>
+
+
+<!--
+<p>
+You will need the following (hopefully):<br>
+<ul>
+<li>Java development kit (JDK1.8 is now the recommended platform for developing with Jalview.</li>
+<li>Ant (1.7 or later will be needed for some of the jarsigning tools).</li>
+</ul>
+With any luck, after setting your paths and JAVA_HOME correctly, you
+just need to change to the Jalview directory and run ant (this works
+from eclipse too, but NetBeans is a bit trickier).
+<pre>
+ ant
+</pre>
+
+</p>
+<p><strong>Building a webstart version of jalview</strong></p>
+Jalview depends on several libraries contained in the libs directory
+of the distribution. In order to access them, they must all be signed
+jars - using the same jarsigner key as jalview itself. There is a
+build target in ant to make the signed jar files in a directory called
+dist. But first you need to make your own key:
+<p><strong>Making your own key</strong></p>
+
+ <p>The ant 'makefulldist' target assumes that a keystore exists in
+ a directory 'keys'. To make a key accessible using the default
+ settings in the build.xml file then make the keys directory and add
+ the jarsigner key with the following :</p>
+ <pre>mkdir keys</pre>
+ <pre>keytool -genkey -keystore keys/.keystore -keypass alignmentisfun
+ -storepass alignmentisfun -sigalg SHA1withRSA -keyalg RSA -alias jalview</pre>
+ <em>(you will have to answer some personal questions here)</em>
+ <pre>ant makedist -DWebStartLocation="file://.pathtojalviewsource./dist" -Dapplication.codebase="*"</pre>
+ <p>This should eventually generate a jalview.jnlp file in ./dist
+ along with a set of signed jars using the jalview key). In order to
+ test locally via webstart you'll now need to add 'file:/' to your
+ java webstart security exception list. Then:</p>
+ <pre>javaws file://.pathtojalviewsource./dist/jalview.jnlp</pre>
+ <p>Please remember to remove that entry afterwards, since it will leave
+ your system vulnerable to malicious code.
+ </p>
+ <p>
+ <strong>Building the JalviewLite applet<br>
+ </strong> The JalviewLite applet is compiled using a subset of the packages in
+ the src directory (specifically: MCView, and jalview.{datamodel,
+ analysis, appletgui, utils, schemes, api, structure}, and
+ com.stevesoft.*). Once compiled, these class files are obfuscated to
+ make the code run efficiently. To compile the applet Jar, use the
+ makeApplet task - optionally passing in a 'donotobfuscate' property to
+ the ant build (e.g. -Ddonotobfuscate=true) to disable obfuscation. </p><p>
+ The ant target 'pubapplet' can be used to compile install the
+ jalviewApplet.jar and any dependent jars (under appletlib) into a copy
+ of the examples directory created under the <em>outputDir</em> build
+ property (which defaults to the 'dist' directory).
+ </p>
+ <p>
+<h1>using IDEs to build Jalview</h1>
+ <p>The Jalview source distribution includes project definitions for
+ Eclipse, Netbeans and some rather ancient Borland JBuilder .jpx
+ project files. These files should be sufficient to set up basic source
+ folders and build paths, but you will need to ensure that all .jar
+ files in the lib and appletlib directories are added to the build path
+ for your IDE project, and that the 'buildindices' target in Jalview's
+ build.xml is executed with the 'outputDir' ant property set to the
+ directory where the IDE expects to place compiled classes ('classes'
+ directory for eclipse, 'build/classes' for netbeans).</p>
+ <p>Note: It is generally not recommended that you distribute build
+ artefacts that were generated automatically via an IDE's own packaging
+ mechanism (e.g. Netbeans' executable Jar and dependent lib directory).
+ The hand-crafted ant build.xml is (currently) the only officially
+ supported method of building distributable versions of Jalview.</p>
+ -->
+<address>
+<a href="mailto:help@jalview.org">Jalview development team</a>
+</address>
+</body>
+</html>