You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: installer/README.md
+40-12Lines changed: 40 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,26 +4,54 @@ Cross-platform GUI installer for Windows, macOS, and Linux.
4
4
5
5
## Installation model
6
6
7
-
The GUI presents the canonical **1, 2, 3**installation stages:
7
+
The GUI presents the canonical installation stages:
8
8
9
-
1.**Core** — install the US House runtime.
9
+
1.**Core** — install the US House/JWSTF runtime.
10
10
2.**Tools** — install software-house tools and conveniences.
11
-
3.**Configure** — apply selected configuration and integration options.
11
+
3.**Configure** — apply selected configuration and integrations.
12
+
4.**Verify** — inspect the resulting installation and produce a report.
12
13
13
-
The broader evidence lifecycle remains **1 Origin → 2 Custody → 3 Production → 4 Release**. The GUI's numbered installation choices are the actionable installation subset of that lifecycle.
14
+
The broader lifecycle is **install → update → verify → remove**, while the evidence lifecycle remains **1 Origin → 2 Custody → 3 Production → 4 Release**.
15
+
16
+
## GUI options
17
+
18
+
The installer should expose these options before execution:
19
+
20
+
- Install / repair
21
+
- Update
22
+
- Verify
23
+
- Remove installed artifacts
24
+
-`/user` professional/user-scoped profile
25
+
-`/deck` enterprise/machine-wide profile
26
+
- Linux / Windows / macOS target
27
+
- Distribution-managed or manually managed Tomcat on Linux
28
+
- Apache integration where available
29
+
- Java 21 prerequisite handling
30
+
- JWSTF application, configuration, state, and log paths
31
+
- Start/stop service after operation
32
+
- Dry-run / review changes
33
+
- Export an installation report
34
+
35
+
The GUI must never silently delete repository source. Removal concerns installed/generated artifacts and uses the platform's normal uninstall mechanism where available.
14
36
15
37
## Integrations
16
38
17
-
The UI provides Microsoft and Apple integration choices. Actual privileged changes are intentionally delegated to the platform-specific launchers under `cmd/us-house/windows`, `cmd/us-house/macos`, and the corresponding Linux implementation. This keeps the JavaFX GUI platform-neutral.
39
+
The UI provides Microsoft and Apple integration choices. Actual privileged changes are delegated to platform-specific launchers under `cmd/us-house/windows`, `cmd/us-house/macos`, and the corresponding Linux implementation. This keeps the JavaFX GUI platform-neutral.
40
+
41
+
## Standard paths
42
+
43
+
The installer reads `config/preferred-install-paths.json`. `/user` and `/deck` are logical deployment profiles; they resolve to native OS locations rather than replacing OS conventions.
44
+
45
+
For Linux, distribution-managed Tomcat retains its package-managed `/etc/tomcat10` and `/var/lib/tomcat10` layout. A deliberate manual Tomcat installation may use `/opt/tomcat`; these management models must not be mixed.
18
46
19
-
## Build
47
+
## Native packaging
20
48
21
-
The installer requires a JavaFX-capable JDK/toolchain. The repository currently does not contain a JavaFX build descriptor, so the Java source is the GUI implementation layer; a Maven or Gradle JavaFX packaging project should be added before producing signed native installers.
49
+
The repository should build the GUI as a Java application/JAR and use `jpackage` on the target OS for native installation artifacts:
22
50
23
-
Recommended native targets are:
51
+
-**Windows:**`.exe` and/or `.msi`
52
+
-**macOS:**`.dmg` and/or `.pkg`
53
+
-**Linux:**`.deb` and/or `.rpm`, plus an application image where useful
24
54
25
-
- Windows: `.msi` or `.exe`
26
-
- macOS: `.dmg` or `.pkg`
27
-
- Linux: `.deb` and/or `.rpm`
55
+
Native installers should be generated on their corresponding operating system, signed where appropriate, checksummed, and published as release artifacts. The repository should not contain fabricated platform binaries.
28
56
29
-
Native packaging should use platform-appropriate signing and should verify the resulting artifact before release.
57
+
The existing source is the GUI implementation layer; a JavaFX Maven or Gradle packaging project should be added/used by the release build before producing native installers.
0 commit comments