Mercurial > cgi-bin > hgweb.cgi > ImagePrep
annotate Building.rst @ 31:99a0eb385c9a default tip
Work around annoying Swing glitch.
author | David Barts <n5jrn@me.com> |
---|---|
date | Sat, 20 Aug 2022 09:19:49 -0700 |
parents | 404eb7e57fe6 |
children |
rev | line source |
---|---|
27
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
1 [This file automatically generated by pandoc from 'Building.html'.] |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
2 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
3 Building ImagePrep |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
4 ================== |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
5 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
6 ImagePrep is a pure Java application. As such it is easy to build: |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
7 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
8 Install prerequisites: |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
9 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
10 a. `Apache Ant <https://ant.apache.org/>`__ |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
11 b. `Launch4j <http://launch4j.sourceforge.net/>`__, if you are building |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
12 on Windows |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
13 c. Java JDK 1.8 or better (see notes below). |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
14 d. `Kotlin <https://kotlinlang.org/>`__ |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
15 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
16 Type ``ant clean`` to be sure you’re starting with a clean slate. |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
17 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
18 Use one of the following commands: |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
19 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
20 a. ``ant jar`` — to build a “fat JAR” containing the application (and |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
21 the Kotlin runtime) |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
22 b. ``ant macapp`` — to build a Macintosh application |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
23 c. ``ant deb`` — to build a Debian package for the Gnome desktop |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
24 d. ``ant winapp`` — to build a Windows application (requires |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
25 `Launch4j <http://launch4j.sourceforge.net/>`__) |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
26 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
27 Which Version of Java to Use? |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
28 ----------------------------- |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
29 |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
30 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
|
31 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
|
32 code *should* build on OpenJDK 11 or greater, with the exception of the |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
33 OS-dependent code for the Macintosh (which will have to be recoded to |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
34 use the ``java.awt.Desktop`` class). The latter would be a net win, as |
404eb7e57fe6
Standardize things for Linux packaging.
David Barts <n5jrn@me.com>
parents:
diff
changeset
|
35 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
|
36 OS-dependent Kotlin code in this application. |