server
Clone or download
Modified Files
--- 'a/.github/scripts/jpackage.sh'
+++ b/.github/scripts/jpackage.sh
@@ -12,5 +12,5 @@ $JPACKAGE_HOME/bin/jpackage \
--dest $INSTALL_DIR \
--name 'Stream-Pi Server' \
--java-options '-Dprism.verbose=true -Djavafx.verbose=true -Dprism.dirtyopts=false' \
---arguments -DStream-Pi.startupRunnerFileName=./run_min \
+--arguments -DStream-Pi.startupRunnerFileName=run_min -DStream-Pi.appendPathBeforeRunnerFileToOvercomeJPackageLimitation=true \
"$@"
--- 'a/assets/run_min_linux.properties'
+++ b/assets/run_min_linux.properties
@@ -1 +1 @@
-arguments=-DStream-Pi.startupMode=min -DStream-Pi.startupRunnerFileName=./run_min
\ No newline at end of file
+arguments=-DStream-Pi.startMinimised=true -DStream-Pi.startupRunnerFileName=run_min -DStream-Pi.appendPathBeforeRunnerFileToOvercomeJPackageLimitation=true
\ No newline at end of file
--- 'a/assets/run_min_win.properties'
+++ b/assets/run_min_win.properties
@@ -1 +1 @@
-arguments=-DStream-Pi.startupMode=min -DStream-Pi.startupRunnerFileName=run_min.exe
\ No newline at end of file
+arguments=-DStream-Pi.startMinimised=true -DStream-Pi.startupRunnerFileName=run_min.exe
\ No newline at end of file
--- 'a/src/main/java/com/stream_pi/server/Main.java'
+++ b/src/main/java/com/stream_pi/server/Main.java
@@ -23,6 +23,9 @@ import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
+import java.io.File;
+import java.net.URISyntaxException;
+
public class Main extends Application {
/**
@@ -40,10 +43,18 @@ public class Main extends Application {
String arg = r[0];
String val = r[1];
- if(arg.equals("-DStream-Pi.startupRunnerFileName"))
- StartupFlags.RUNNER_FILE_NAME = val;
- else if(arg.equals("-DStream-Pi.startupMode"))
- StartupFlags.START_MINIMISED = val.equals("min");
+ switch (arg)
+ {
+ case "-DStream-Pi.startupRunnerFileName":
+ StartupFlags.RUNNER_FILE_NAME = val;
+ break;
+ case "-DStream-Pi.startMinimised":
+ StartupFlags.START_MINIMISED = val.equals("true");
+ break;
+ case "-DStream-Pi.appendPathBeforeRunnerFileToOvercomeJPackageLimitation":
+ StartupFlags.APPEND_PATH_BEFORE_RUNNER_FILE_TO_OVERCOME_JPACKAGE_LIMITATION = val.equals("true");
+ break;
+ }
}
Controller d = new Controller();
--- 'a/src/main/java/com/stream_pi/server/info/StartupFlags.java'
+++ b/src/main/java/com/stream_pi/server/info/StartupFlags.java
@@ -4,4 +4,5 @@ public class StartupFlags
{
public static String RUNNER_FILE_NAME = null;
public static boolean START_MINIMISED = false;
+ public static boolean APPEND_PATH_BEFORE_RUNNER_FILE_TO_OVERCOME_JPACKAGE_LIMITATION = false;
}
--- 'a/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java'
+++ b/src/main/java/com/stream_pi/server/window/settings/GeneralSettings.java
@@ -1,6 +1,7 @@
package com.stream_pi.server.window.settings;
import com.stream_pi.action_api.actionproperty.property.FileExtensionFilter;
+import com.stream_pi.server.Main;
import com.stream_pi.server.controller.ServerListener;
import com.stream_pi.server.info.StartupFlags;
import com.stream_pi.server.io.Config;
@@ -38,6 +39,7 @@ import org.w3c.dom.Text;
import java.awt.SystemTray;
import java.io.File;
+import java.net.URISyntaxException;
import java.util.logging.Logger;
public class GeneralSettings extends VBox {
@@ -319,12 +321,26 @@ public class GeneralSettings extends VBo
{
try
{
- startAtBoot.create(StartupFlags.RUNNER_FILE_NAME);
+ if(StartupFlags.APPEND_PATH_BEFORE_RUNNER_FILE_TO_OVERCOME_JPACKAGE_LIMITATION)
+ {
+ startAtBoot.create(new File(Main.class.getProtectionDomain().getCodeSource().getLocation()
+ .toURI()).getParentFile().getParentFile().getAbsolutePath() +
+ "/bin/" + StartupFlags.RUNNER_FILE_NAME);
+ }
+ else
+ {
+ startAtBoot.create(StartupFlags.RUNNER_FILE_NAME);
+ }
}
catch (MinorException e)
{
exceptionAndAlertHandler.handleMinorException(e);
startOnBoot = false;
+ } catch (URISyntaxException e) {
+ exceptionAndAlertHandler.handleMinorException(new MinorException(
+ "Unable to get path \n"+e.getMessage()
+ ));
+ startOnBoot = false;
}
}
else