diff options
-rw-r--r-- | README.md | 124 |
1 files changed, 124 insertions, 0 deletions
@@ -18,6 +18,130 @@ Bachelorizer is publicly available as [source]. [source]: <https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z3Xeo1Wg65SQAhD6QFTtVWQmjVHJU> "Web instance of sources for Bachelorizer" +## Code execution + +The code has only been verified to work from command-line +(it is unknown if it works in IDEs like Eclipse, Intellij 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. + +Execution succeeds with OpenJDK 17, 21, 22, 23, 24 and build 20 of 25, +except JavaFX/OpenJFX-related code failing with OpenJDK 17 and 21. + +OpenJDK versions before 23 emit many errors +due to not recognizing the Markdown-flavored javadoc comments. + +Code has been tested only against the following library releases: + +* JavaFX/OpenJFX 11.0.11 + from <https://packages.debian.org/sid/openjfx>. +* SQLite JDBC 3.46.1.3 + from <https://packages.debian.org/sid/libxerial-sqlite-jdbc-java>. + +### 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.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 \ + --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 +java --module-path mods/dk.biks.bachelorizer \ +:/usr/share/openjfx/lib:mods/com.example.portfolio3 \ + --add-modules javafx.base,javafx.controls,javafx.graphics \ + --enable-native-access=javafx.graphics \ + -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: + +```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 \ + --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 +``` + ## License Copyright © 2025 Jonas Smedegaard |