aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-05-01 03:04:24 +0200
committerJonas Smedegaard <dr@jones.dk>2025-05-01 03:04:24 +0200
commitfe979501b69f762db8f20905206c7555d83b620f (patch)
tree439d124dea6e988d46e846c502135ba0ed91455b
parent9876d7706c18adf73854f3313dbed77cdf9527ed (diff)
update build instructions
-rw-r--r--README.md107
1 files changed, 40 insertions, 67 deletions
diff --git a/README.md b/README.md
index 5260fb1..82c084a 100644
--- a/README.md
+++ b/README.md
@@ -41,8 +41,8 @@ such as Eclipse or NetBeans).
GNUMake files are provided for building, packaging and running the code.
For those not using GNUMake,
-Concrete example commands are provided below,
-with notes on OpenJDK versions the commands are known to work with.
+a concrete example command is provided below,
+executing on build 20 of OpenJDK 25.
Execution succeeds with OpenJDK 17, 21, 22, 23, 24 and build 20 of 25,
except JavaFX/OpenJFX code fails with OpenJDK 17 and 21,
@@ -57,6 +57,8 @@ Code has been tested only against the following library releases:
* JavaFX/OpenJFX 11.0.11
from <https://packages.debian.org/sid/openjfx>.
+* JUnit 5.10.3
+ from <https://packages.debian.org/sid/junit5>.
* SQLite JDBC 3.46.1.3
from <https://packages.debian.org/sid/libxerial-sqlite-jdbc-java>.
@@ -64,104 +66,75 @@ Code has been tested only against the following library releases:
[JEP 458]: https://openjdk.org/jeps/458
-### Executing from source
-
-The command `make runsrc-dk.biks.bachelorizer`
-is equivalent to these three commands:
-
-```sh
-rm -rf mods/com.example.portfolio3
-javac -Xlint -Xdoclint -implicit:none -d mods/com.example.portfolio3 \
- src/com.example.portfolio3/module-info.java \
- src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/Edge.java \
- src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java \
- src/com.example.portfolio3/com/example/portfolio3/Graph.java \
- src/com.example.portfolio3/com/example/portfolio3/Graphs.java \
- src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/Vertex.java
-java --module-path /usr/share/openjfx/lib:mods/com.example.portfolio3 \
- --add-modules javafx.base,javafx.controls,javafx.graphics \
- --enable-native-access=javafx.graphics \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Main.java
-```
-
### Executing from class files
The command `make runclass-dk.biks.bachelorizer`
is equivalent to these five commands:
```sh
+rm -rf mods/com.example.portfolio2
+javac --module-path /usr/share/java/sqlite-jdbc.jar \
+ -Xlint -Xdoclint -implicit:none -Xlint -Xdoclint -implicit:none \
+ -d mods/com.example.portfolio2 \
+ src/com.example.portfolio2/module-info.java \
+ src/com.example.portfolio2/com/example/portfolio2/MyDB.java
rm -rf mods/com.example.portfolio3
-javac -Xlint -Xdoclint -implicit:none -d mods/com.example.portfolio3 \
+javac -Xlint -Xdoclint -implicit:none -Xlint -Xdoclint -implicit:none \
+ -d mods/com.example.portfolio3 \
src/com.example.portfolio3/module-info.java \
src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java \
src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java \
src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java \
src/com.example.portfolio3/com/example/portfolio3/Edge.java \
+ src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java \
src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java \
src/com.example.portfolio3/com/example/portfolio3/Graph.java \
src/com.example.portfolio3/com/example/portfolio3/Graphs.java \
src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java \
src/com.example.portfolio3/com/example/portfolio3/Vertex.java
rm -rf mods/dk.biks.bachelorizer
-javac --module-path /usr/share/openjfx/lib:mods/com.example.portfolio3 \
+javac --module-path \
+ /usr/share/openjfx/lib:/usr/share/java/sqlite-jdbc.jar\
+:mods/com.example.portfolio2\
+:mods/com.example.portfolio3 \
--add-modules javafx.base,javafx.controls,javafx.graphics \
- -Xlint -Xdoclint -implicit:none \
+ -Xlint -Xdoclint -implicit:none -Xlint -Xdoclint -implicit:none \
-d mods/dk.biks.bachelorizer \
src/dk.biks.bachelorizer/module-info.java \
src/dk.biks.bachelorizer/dk/biks/bachelorizer/Main.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/Graph.java \
src/dk.biks.bachelorizer/dk/biks/bachelorizer/Window.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Control.java \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/Controller.java \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/Database.java \
src/dk.biks.bachelorizer/dk/biks/bachelorizer/GUI.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Person.java
-java --module-path mods/dk.biks.bachelorizer \
-:/usr/share/openjfx/lib:mods/com.example.portfolio3 \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/Person.java \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java \
+ src/dk.biks.bachelorizer/dk/biks/bachelorizer/UI.java
+java --module-path mods/dk.biks.bachelorizer\
+:/usr/share/openjfx/lib\
+:/usr/share/java/sqlite-jdbc.jar\
+:mods/com.example.portfolio2\
+:mods/com.example.portfolio3 \
--add-modules javafx.base,javafx.controls,javafx.graphics \
--enable-native-access=javafx.graphics \
+ --enable-native-access=sqlite.jdbc \
+ --sun-misc-unsafe-memory-access=allow \
-m dk.biks.bachelorizer/dk.biks.bachelorizer.Main
```
-### Executing from jar containers
-
-The command `make runjar-dk.biks.bachelorizer`
-is equivalent to these six commands:
+When compiled like above, the class Graph may be executed as well:
```sh
-rm -rf mods/com.example.portfolio3
-javac -Xlint -Xdoclint -implicit:none -d mods/com.example.portfolio3 \
- src/com.example.portfolio3/module-info.java \
- src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/Edge.java \
- src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java \
- src/com.example.portfolio3/com/example/portfolio3/Graph.java \
- src/com.example.portfolio3/com/example/portfolio3/Graphs.java \
- src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java \
- src/com.example.portfolio3/com/example/portfolio3/Vertex.java
-rm -rf mods/dk.biks.bachelorizer
-javac --module-path /usr/share/openjfx/lib:mods/com.example.portfolio3 \
+java --module-path mods/dk.biks.bachelorizer\
+:/usr/share/openjfx/lib\
+:/usr/share/java/sqlite-jdbc.jar\
+:mods/com.example.portfolio2\
+:mods/com.example.portfolio3 \
--add-modules javafx.base,javafx.controls,javafx.graphics \
- -Xlint -Xdoclint -implicit:none \
- -d mods/dk.biks.bachelorizer \
- src/dk.biks.bachelorizer/module-info.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Main.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Combi.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Window.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Control.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/GUI.java \
- src/dk.biks.bachelorizer/dk/biks/bachelorizer/Person.java
-jar --create --file dk.biks.bachelorizer.jar \
- --main-class dk.biks.bachelorizer.Main \
- -C mods/dk.biks.bachelorizer .
-java --module-path dk.biks.bachelorizer.jar\
-:/usr/share/openjfx/lib:mods/com.example.portfolio3 \
--enable-native-access=javafx.graphics \
- --module dk.biks.bachelorizer
+ --enable-native-access=sqlite.jdbc \
+ --sun-misc-unsafe-memory-access=allow \
+ -m dk.biks.bachelorizer/dk.biks.bachelorizer.Graph
```
## License