prepare for electron

This commit is contained in:
Aria Moradi
2021-05-24 00:42:25 +04:30
parent a458a696db
commit d082809776
12 changed files with 24 additions and 155 deletions
+2 -2
View File
@@ -72,8 +72,8 @@ jobs:
- name: make windows packages - name: make windows packages
run: | run: |
cd master/scripts cd master/scripts
./windows32-bundler.sh ./windows-bundler.sh win32
./windows64-bundler.sh ./windows-bundler.sh win64
- name: Checkout preview branch - name: Checkout preview branch
uses: actions/checkout@v2 uses: actions/checkout@v2
+2 -2
View File
@@ -71,8 +71,8 @@ jobs:
- name: make windows packages - name: make windows packages
run: | run: |
cd master/scripts cd master/scripts
./windows32-bundler.sh ./windows-bundler.sh win32
./windows64-bundler.sh ./windows-bundler.sh win64
- name: Upload Release - name: Upload Release
uses: xresloader/upload-to-github-release@master uses: xresloader/upload-to-github-release@master
@@ -6,30 +6,38 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this # License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/. # file, You can obtain one at https://mozilla.org/MPL/2.0/.
echo "Downloading jre..." if [ $1 = "win32" ]; then
jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip"
jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" arch="win32"
if [ ! -f $jre ]; then else
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" -o $jre jre="OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip"
arch="win64"
fi fi
jre_dir="jdk8u292-b10-jre"
echo "creating windows bundle" echo "creating windows bundle"
jar=$(ls ../server/build/Tachidesk-*.jar) jar=$(ls ../server/build/Tachidesk-*.jar)
jar_name=$(echo $jar | cut -d'/' -f4) jar_name=$(echo $jar | cut -d'/' -f4)
release_name=$(echo $jar_name | cut -d'.' -f4 --complement)-win32 release_name=$(echo $jar_name | cut -d'.' -f4 --complement)-$arch
# make release dir # make release dir
mkdir $release_name mkdir $release_name
echo "Dealing with jre..."
if [ ! -f $jre ]; then
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/$jre" -o $jre
fi
unzip $jre unzip $jre
mv $jre_dir $release_name/jre
# move jre # copy artifacts
mv jdk8u292-b10-jre $release_name/jre
cp $jar $release_name/Tachidesk.jar cp $jar $release_name/Tachidesk.jar
cp "resources/Tachidesk Launcher-win32.exe" "$release_name/Tachidesk Launcher.exe" cp "resources/Tachidesk Launcher-$arch.exe" "$release_name/Tachidesk Launcher.exe"
cp "resources/Tachidesk Launcher.bat" $release_name cp "resources/Tachidesk Launcher.bat" $release_name
cp "resources/Tachidesk Debug Launcher.bat" $release_name cp "resources/Tachidesk Debug Launcher.bat" $release_name
cp "resources/Tachidesk Webview Launcher.bat" $release_name cp "resources/Tachidesk Webview Launcher.bat" $release_name
-39
View File
@@ -1,39 +0,0 @@
# Copyright (C) Contributors to the Suwayomi project
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
Write-Output "Downloading jre..."
$jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip"
if (!(Test-Path $jre)) {
Invoke-WebRequest -Uri "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" -OutFile $jre -UseBasicParsing
}
Write-Output "creating windows bundle"
$jar=$(Get-ChildItem ../server/build/Tachidesk-*.jar)
$release_name=$jar.BaseName + "-win32"
# make release dir
New-Item -ItemType Directory $release_name
Expand-Archive $jre -DestinationPath "./" -ErrorAction SilentlyContinue
# move jre
Move-Item "jdk8u292-b10-jre" "$release_name/jre"
Copy-Item $jar.FullName "$release_name/Tachidesk.jar"
Copy-Item "resources/Tachidesk Launcher-win32.exe" $release_name
Copy-Item "resources/Tachidesk Launcher.bat" $release_name
Copy-Item "resources/Tachidesk Debug Launcher.bat" $release_name
Copy-Item "resources/Tachidesk Webview Launcher.bat" $release_name
$zip_name="$release_name.zip"
Compress-Archive -CompressionLevel Optimal -DestinationPath $zip_name -Path $release_name -Force -ErrorAction SilentlyContinue
Remove-Item -Force -Recurse $release_name
Move-Item $zip_name "../server/build/" -ErrorAction SilentlyContinue
-39
View File
@@ -1,39 +0,0 @@
# Copyright (C) Contributors to the Suwayomi project
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
Write-Output "Downloading jre..."
$jre="OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip"
if (!(Test-Path $jre)) {
Invoke-WebRequest -Uri "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip" -OutFile $jre -UseBasicParsing
}
Write-Output "creating windows bundle"
$jar=$(Get-ChildItem ../server/build/Tachidesk-*.jar)
$release_name=$jar.BaseName + "-win64"
# make release dir
New-Item -ItemType Directory $release_name
Expand-Archive $jre -DestinationPath "./" -ErrorAction SilentlyContinue
# move jre
Move-Item "jdk8u292-b10-jre" "$release_name/jre"
Copy-Item $jar.FullName "$release_name/Tachidesk.jar"
Copy-Item "resources/Tachidesk Launcher-win64.exe" $release_name
Copy-Item "resources/Tachidesk Launcher.bat" $release_name
Copy-Item "resources/Tachidesk Debug Launcher.bat" $release_name
Copy-Item "resources/Tachidesk Webview Launcher.bat" $release_name
$zip_name="$release_name.zip"
Compress-Archive -CompressionLevel Optimal -DestinationPath $zip_name -Path $release_name -Force -ErrorAction SilentlyContinue
Remove-Item -Force -Recurse $release_name
Move-Item $zip_name "../server/build/" -ErrorAction SilentlyContinue
-42
View File
@@ -1,42 +0,0 @@
#!/bin/bash
# Copyright (C) Contributors to the Suwayomi project
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
echo "Downloading jre..."
jre="OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip"
if [ ! -f $jre ]; then
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip" -o $jre
fi
echo "creating windows bundle"
jar=$(ls ../server/build/Tachidesk-*.jar)
jar_name=$(echo $jar | cut -d'/' -f4)
release_name=$(echo $jar_name | cut -d'.' -f4 --complement)-win64
# make release dir
mkdir $release_name
unzip $jre
# move jre
mv jdk8u292-b10-jre $release_name/jre
cp $jar $release_name/Tachidesk.jar
cp "resources/Tachidesk Launcher-win64.exe" "$release_name/Tachidesk Launcher.exe"
cp "resources/Tachidesk Launcher.bat" $release_name
cp "resources/Tachidesk Debug Launcher.bat" $release_name
cp "resources/Tachidesk Webview Launcher.bat" $release_name
zip_name=$release_name.zip
zip -9 -r $zip_name $release_name
rm -rf $release_name
mv $zip_name ../server/build/
+1 -4
View File
@@ -65,9 +65,6 @@ dependencies {
implementation(project(":AndroidCompat")) implementation(project(":AndroidCompat"))
implementation(project(":AndroidCompat:Config")) implementation(project(":AndroidCompat:Config"))
// webview
implementation(files("lib/WebView.jar"))
// uncomment to test extensions directly // uncomment to test extensions directly
// implementation(fileTree("lib/")) // implementation(fileTree("lib/"))
@@ -78,7 +75,7 @@ dependencies {
val MainClass = "ir.armor.tachidesk.MainKt" val MainClass = "ir.armor.tachidesk.MainKt"
application { application {
mainClass.set(MainClass) mainClass.set(MainClass)
applicationDefaultJvmArgs = listOf("-Dir.armor.tachidesk.openInWebview=true") // applicationDefaultJvmArgs = listOf("-Dir.armor.tachidesk.openInWebview=true")
} }
sourceSets { sourceSets {
-1
View File
@@ -1 +0,0 @@
WebView.jar is taken from https://github.com/shannah/webviewjar
Binary file not shown.
@@ -80,7 +80,6 @@ object JavalinSetup {
config.enableCorsForAllOrigins() config.enableCorsForAllOrigins()
}.events { event -> }.events { event ->
event.serverStarted { event.serverStarted {
println("started")
if (hasWebUiBundled && serverConfig.initialOpenInBrowserEnabled) { if (hasWebUiBundled && serverConfig.initialOpenInBrowserEnabled) {
Browser.openInBrowser() Browser.openInBrowser()
} }
@@ -7,7 +7,6 @@ package ir.armor.tachidesk.server.util
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
import ca.weblite.webview.WebViewCLIClient
import dorkbox.util.Desktop import dorkbox.util.Desktop
import ir.armor.tachidesk.server.serverConfig import ir.armor.tachidesk.server.serverConfig
@@ -17,26 +16,13 @@ object Browser {
private val webViewInstances = mutableListOf<Any>() private val webViewInstances = mutableListOf<Any>()
private fun createWebView() =
WebViewCLIClient.Builder()
.size(800, 600)
.title("Tachidesk")
.resizable(true)
.url(appBaseUrl)
.build()
.also {
webViewInstances.add(it)
}
fun openInBrowser() { fun openInBrowser() {
val openInWebView = System.getProperty("ir.armor.tachidesk.openInWebview")?.toBoolean() val openInWebView = System.getProperty("ir.armor.tachidesk.openInWebview")?.toBoolean()
if (openInWebView == true) { if (openInWebView == true) {
try { try {
Thread { // TODO
createWebView()
}.start()
} catch (e: Throwable) { // cover both java.lang.Exception and java.lang.Error } catch (e: Throwable) { // cover both java.lang.Exception and java.lang.Error
e.printStackTrace() e.printStackTrace()
} }