aboutsummaryrefslogtreecommitdiffstats
path: root/ui-desktop
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-09 14:46:25 +0300
committerKostya <mail@sartin.in>2026-08-09 14:46:25 +0300
commit34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13 (patch)
tree17d9c867856ff9f1de4a59f63c13d6abf0ecb31e /ui-desktop
parent18a9b6e4f3c9f7e034a0c174a5e2cd6c043ee169 (diff)
downloadguess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.tar.gz
guess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.tar.xz
guess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.zip
flatten modules to repo root, vendor deps, repair Eclipse build paths
Move api, engine, ui-console and ui-desktop out of modules/ up to the repo root and drop the empty exception project (GuessMarketException now lives in api). Vendor gson, jaxb, okhttp, openjfx and tomcat under lib/, and group the JUnit standalone jar into lib/junit/ alongside them. Rewrite every .classpath: drop the copy-pasted optional="true" that was masking real build path errors, point the library entries at ../lib/, and put the JUnit jar on the test source folders so the placeholder AppTest classes compile. ui-desktop: take the JavaFX jars off the modulepath (there is no module-info.java, so module="true" left the packages unresolvable) and add a Launcher that calls Application.launch, avoiding the "JavaFX runtime components are missing" check without VM arguments. engine: add LocalGuessMarketService and the GuessMarketContext provider interface, and give GuessMarketException the no-arg and cause constructors they need.
Diffstat (limited to 'ui-desktop')
-rw-r--r--ui-desktop/.classpath22
-rw-r--r--ui-desktop/.project28
-rw-r--r--ui-desktop/src/main/java/market/guess/ui/desktop/App.java22
-rw-r--r--ui-desktop/src/main/java/market/guess/ui/desktop/Launcher.java9
-rw-r--r--ui-desktop/src/test/java/market/guess/engine/AppTest.java12
5 files changed, 93 insertions, 0 deletions
diff --git a/ui-desktop/.classpath b/ui-desktop/.classpath
new file mode 100644
index 0000000..bac8826
--- /dev/null
+++ b/ui-desktop/.classpath
@@ -0,0 +1,22 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <!-- Defines your source folder -->
4 <classpathentry kind="src" output="bin/classes" path="src/main/java"/>
5 <classpathentry kind="src" output="bin/test-classes" path="src/test/java">
6 <attributes>
7 <attribute name="test" value="true"/>
8 </attributes>
9 </classpathentry>
10 <!-- Defines the standard Java System Library -->
11 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
12 <!-- Defines where compiled .class files go -->
13 <classpathentry kind="output" path="bin"/>
14
15 <classpathentry kind="lib" path="../lib/junit/junit-platform-console-standalone-6.1.1.jar"/>
16 <!-- Required OpenJFX JARs explicitly placed on the Modulepath -->
17 <classpathentry kind="lib" path="../lib/openjfx/javafx.base.jar"/>
18 <classpathentry kind="lib" path="../lib/openjfx/javafx.controls.jar"/>
19 <classpathentry kind="lib" path="../lib/openjfx/javafx.graphics.jar"/>
20 <classpathentry kind="lib" path="../lib/openjfx/javafx.fxml.jar"/>
21</classpath>
22
diff --git a/ui-desktop/.project b/ui-desktop/.project
new file mode 100644
index 0000000..e421bbf
--- /dev/null
+++ b/ui-desktop/.project
@@ -0,0 +1,28 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>guess-market-ui-desktop</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 </buildSpec>
14 <natures>
15 <nature>org.eclipse.jdt.core.javanature</nature>
16 </natures>
17 <filteredResources>
18 <filter>
19 <id>1786044291088</id>
20 <name></name>
21 <type>30</type>
22 <matcher>
23 <id>org.eclipse.core.resources.regexFilterMatcher</id>
24 <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25 </matcher>
26 </filter>
27 </filteredResources>
28</projectDescription>
diff --git a/ui-desktop/src/main/java/market/guess/ui/desktop/App.java b/ui-desktop/src/main/java/market/guess/ui/desktop/App.java
new file mode 100644
index 0000000..f0b2b7a
--- /dev/null
+++ b/ui-desktop/src/main/java/market/guess/ui/desktop/App.java
@@ -0,0 +1,22 @@
1package market.guess.ui.desktop;
2
3import javafx.application.Application;
4import javafx.scene.Scene;
5import javafx.scene.control.Label;
6import javafx.scene.layout.StackPane;
7import javafx.stage.Stage;
8
9public class App extends Application {
10 @Override
11 public void start(Stage stage) throws Exception {
12 var javaVersion = System.getProperty("java.version");
13 var openjfxVersion = System.getProperty("javafx.version");
14
15 var label =
16 new Label("Hello. JavaFX " + openjfxVersion + ", running on Java " + javaVersion + ".");
17 var scene = new Scene(new StackPane(label), 640, 480);
18
19 stage.setScene(scene);
20 stage.show();
21 }
22}
diff --git a/ui-desktop/src/main/java/market/guess/ui/desktop/Launcher.java b/ui-desktop/src/main/java/market/guess/ui/desktop/Launcher.java
new file mode 100644
index 0000000..ffe9505
--- /dev/null
+++ b/ui-desktop/src/main/java/market/guess/ui/desktop/Launcher.java
@@ -0,0 +1,9 @@
1package market.guess.ui.desktop;
2
3import javafx.application.Application;
4
5public final class Launcher {
6 public static void main(String[] args) {
7 Application.launch(App.class, args);
8 }
9}
diff --git a/ui-desktop/src/test/java/market/guess/engine/AppTest.java b/ui-desktop/src/test/java/market/guess/engine/AppTest.java
new file mode 100644
index 0000000..0638bc1
--- /dev/null
+++ b/ui-desktop/src/test/java/market/guess/engine/AppTest.java
@@ -0,0 +1,12 @@
1package market.guess.engine;
2
3import static org.junit.jupiter.api.Assertions.assertTrue;
4
5import org.junit.jupiter.api.Test;
6
7public class AppTest {
8 @Test
9 void deterministicTest() {
10 assertTrue(true);
11 }
12}