annotate Building.html @ 27:404eb7e57fe6

Standardize things for Linux packaging.
author David Barts <n5jrn@me.com>
date Fri, 25 Dec 2020 18:58:45 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
1 <!DOCTYPE html>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
2 <!-- Skeleton or template web page, in the standard style. -->
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
3 <html>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
4 <head>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
5 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
6 <title>Building ImagePrep</title>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
7 <style>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
8 html { font-family: "TeX Gyre Schola", serif; }
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
9 h1, h2, h3, h4, h5, h6 { font-family: "Avenir Next", sans-serif; }
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
10 pre, code, kbd, samp { font-family: "Menlo", monospace; ; font-size: 85%; }
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
11 </style>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
12 </head>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
13 <body>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
14 <h1>Building ImagePrep</h1>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
15 <p>ImagePrep is a pure Java application. As such it is easy to build:</p>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
16 <ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
17 <li>Install prerequisites:</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
18 <ol type="a">
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
19 <li><a href="https://ant.apache.org/">Apache Ant</a></li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
20 <li><a href="http://launch4j.sourceforge.net/">Launch4j</a>, if you are
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
21 building on Windows</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
22 <li>Java JDK 1.8 or better (see notes below).</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
23 <li><a href="https://kotlinlang.org/">Kotlin</a></li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
24 </ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
25 <li>Type <code>ant clean</code> to be sure you’re starting with a clean
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
26 slate.</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
27 <li>Use one of the following commands:</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
28 <ol type="a">
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
29 <li><code>ant jar</code> — to build a “fat JAR” containing the
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
30 application (and the Kotlin runtime)</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
31 <li><code>ant macapp</code> — to build a Macintosh application</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
32 <li><code>ant deb</code> — to build a Debian package for the Gnome
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
33 desktop</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
34 <li><code>ant winapp</code> — to build a Windows application (requires <a
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
35 href="http://launch4j.sourceforge.net/">Launch4j</a>)</li>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
36 </ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
37 </ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
38 <h2>Which Version of Java to Use?</h2>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
39 <p>In short, Java 1.8. Most systems don’t yet have OpenJDK 11 or greater
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
40 installed, so using a compiler newer than 1.8 is asking for trouble. All
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
41 code <em>should</em> build on OpenJDK 11 or greater, with the exception
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
42 of the OS-dependent code for the Macintosh (which will have to be recoded
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
43 to use the <code>java.awt.Desktop</code> class). The latter would be a
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
44 net win, as it is portable, and would spell the death of the only bit of
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
45 OS-dependent Kotlin code in this application.</p>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
46 <p></p>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
47 <ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
48 <ol type="a">
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
49 </ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
50 </ol>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
51 </body>
404eb7e57fe6 Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff changeset
52 </html>