diff --git a/admin/j14pack.bat b/admin/j14pack.bat index 2cfc58286..0ae5cf528 100644 --- a/admin/j14pack.bat +++ b/admin/j14pack.bat @@ -1,6 +1,7 @@ set PATH=d:\jdk-14\bin;%PATH% rm -r c:\tmp\_ +rm -r c:\tmp\myjre mkdir c:\tmp\_ cd .. @@ -39,7 +40,9 @@ cp admin\databrowserlauncher.properties c:\tmp\_ cd c:\tmp\_ -jpackage --name myapp --input . --main-jar jailer.jar --type msi --icon jailer.ico --win-menu --win-menu-group JailerJ14 --vendor Wisser --app-version 2.6 --win-upgrade-uuid d636b4ee-6f10-451e-bf57-c89656780e22 --add-launcher "Jailer Data Browser"=databrowserlauncher.properties +jlink --add-modules java.base,java.datatransfer,java.desktop,java.logging,java.management,java.scripting,java.sql,java.xml,java.rmi,java.scripting,java.xml.crypto --output myjre + +jpackage --name myapp --input . --main-jar jailer.jar --type msi --icon jailer.ico --win-menu --win-menu-group JailerJ14 --vendor Wisser --app-version 2.9 --win-upgrade-uuid d636b4ee-6f10-451e-bf57-c89656780e22 --add-launcher "Jailer Data Browser"=databrowserlauncher.properties --runtime-image myjre pause diff --git a/admin/j14pack.sh b/admin/j14pack.sh new file mode 100644 index 000000000..f1fb17837 --- /dev/null +++ b/admin/j14pack.sh @@ -0,0 +1,44 @@ + +rm -r ~/tmp/_ +mkdir ~/tmp/_ +rm -r ~/tmp/myjre +cd .. + +cp -r bookmark ~/tmp/_ +cp -r build.xml ~/tmp/_ +cp -r config ~/tmp/_ +cp -r datamodel ~/tmp/_ +cp -r dbeauty.bat ~/tmp/_ +cp -r dbeauty.exe ~/tmp/_ +cp -r dbeauty.sh ~/tmp/_ +cp -r demo-sakila-1.4.mv.db ~/tmp/_ +cp -r demo-scott-1.4.mv.db ~/tmp/_ +cp -r demo-scott-subset-1.4.mv.db ~/tmp/_ +cp -r driverlist.csv ~/tmp/_ +cp -r extractionmodel ~/tmp/_ +cp -r jailer.bat ~/tmp/_ +cp -r Jailer.exe ~/tmp/_ +cp -r jailer.jar ~/tmp/_ +cp -r jailer.sh ~/tmp/_ +cp -r jailer.xml ~/tmp/_ +cp -r jailerDataBrowser.bat ~/tmp/_ +cp -r JailerDataBrowser.exe ~/tmp/_ +cp -r jailerDataBrowser.sh ~/tmp/_ +cp -r jailerGUI.bat ~/tmp/_ +cp -r jailerGUI.sh ~/tmp/_ +cp -r layout ~/tmp/_ +cp -r lib ~/tmp/_ +cp -r license-prefuse.txt ~/tmp/_ +cp -r license.txt ~/tmp/_ +cp -r manifest.mf ~/tmp/_ +cp -r README.md ~/tmp/_ +cp -r releasenotes.txt ~/tmp/_ +cp -r render ~/tmp/_ +cp admin/jailer.png ~/tmp/_ +cp admin/databrowserlauncher.properties ~/tmp/_ + +cd ~/tmp/_ + +~/jdk-14/bin/jlink --add-modules java.base,java.datatransfer,java.desktop,java.logging,java.management,java.scripting,java.sql,java.xml,java.rmi,java.scripting,java.xml.crypto --output myjre + +~/jdk-14/bin/jpackage --name Jailer --input . --main-jar jailer.jar --type deb --icon jailer.png --vendor Wisser --app-version 2.8 --add-launcher "Jailer Data Browser"=databrowserlauncher.properties --runtime-image myjre diff --git a/admin/jailer.png b/admin/jailer.png new file mode 100644 index 000000000..9e2ada84f Binary files /dev/null and b/admin/jailer.png differ diff --git a/src/main/gui/net/sf/jailer/ui/Environment.java b/src/main/gui/net/sf/jailer/ui/Environment.java index 52438a6c9..87b6bf5a4 100644 --- a/src/main/gui/net/sf/jailer/ui/Environment.java +++ b/src/main/gui/net/sf/jailer/ui/Environment.java @@ -112,9 +112,32 @@ public class Environment { }); } + // TODO move to engine + private static File applicationBase = null; + + // TODO init, lib/ in app/ or null + private static File libFolder = null; + + // TODO init applicationBase + // TODO use newWorkingFolderFile for jailer.xml, driver.csv, template, script, render, local db jdbc jar + // TODO HttpUtil, FileBasedScriptEnhancer + + // TODO jdbc jars in lib: rename prior packing, copy into user dir, adjust file name in connection configs (!exists(f) && exists(~/lib/f) -> f =~ /lib/f) + // TODO default dir for *.jar in FileCh. is ~/lib + + // TODO config: test, does this work in DBrowser? -> LogUtil.class.getResourceAsStream("/log4j.properties") + + // TODO no bat/exe/sh in app/ + + public static File newWorkingFolderFile(String name) { + if (applicationBase == null || new File(name).isAbsolute()) { + return new File(name); + } + return new File(applicationBase, name); + } + private static boolean isJPacked() { - // TODO - return false; + return applicationBase != null; } private static void initUI() { diff --git a/src/main/gui/net/sf/jailer/ui/util/HttpUtil.java b/src/main/gui/net/sf/jailer/ui/util/HttpUtil.java index 60ba3ce3e..34772c031 100644 --- a/src/main/gui/net/sf/jailer/ui/util/HttpUtil.java +++ b/src/main/gui/net/sf/jailer/ui/util/HttpUtil.java @@ -35,6 +35,7 @@ public class HttpUtil { // fall through } try { + // TODO in jpack mode app/jailer.jar Process p = Runtime.getRuntime().exec("java -classpath jailer.jar -Djava.net.useSystemProxies=true " + HttpUtil.class.getName() + " " + url); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); String line;