From e575aaf4fb055705363094a6d9ae59add8532750 Mon Sep 17 00:00:00 2001 From: Aria Moradi Date: Fri, 6 Aug 2021 07:15:38 +0430 Subject: [PATCH] changes for the headless Tachidesk --- .github/workflows/build_pull_request.yml | 10 ++---- .github/workflows/build_push.yml | 11 ++----- .github/workflows/publish.yml | 13 ++------ .../resources/Tachidesk Electron Launcher.bat | 1 - ...er Launcher.bat => Tachidesk Launcher.bat} | 0 scripts/resources/Tachidesk Launcher.c | 5 --- scripts/windows-bundler.sh | 33 +------------------ server/build.gradle.kts | 1 - .../suwayomi/tachidesk/server/JavalinSetup.kt | 21 ------------ 9 files changed, 8 insertions(+), 87 deletions(-) delete mode 100644 scripts/resources/Tachidesk Electron Launcher.bat rename scripts/resources/{Tachidesk Browser Launcher.bat => Tachidesk Launcher.bat} (100%) delete mode 100644 scripts/resources/Tachidesk Launcher.c diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index b88af641..2234fd19 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -50,19 +50,13 @@ jobs: cd master curl https://raw.githubusercontent.com/Suwayomi/Tachidesk/android-jar/android.jar -o AndroidCompat/lib/android.jar - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: | - **/webUI/node_modules - key: ${{ runner.os }}-${{ hashFiles('**/webUI/yarn.lock') }} - - name: Build and copy webUI, Build Jar + - name: Build Jar uses: eskatos/gradle-command-action@v1 with: build-root-directory: master wrapper-directory: master - arguments: :webUI:copyBuild :server:shadowJar --stacktrace + arguments: :server:shadowJar --stacktrace wrapper-cache-enabled: true dependencies-cache-enabled: true configuration-cache-enabled: true \ No newline at end of file diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 9c3ce821..21bf2f1c 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -52,21 +52,14 @@ jobs: cd master curl https://raw.githubusercontent.com/Suwayomi/Tachidesk/android-jar/android.jar -o AndroidCompat/lib/android.jar - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: | - **/webUI/node_modules - key: ${{ runner.os }}-${{ hashFiles('**/webUI/yarn.lock') }} - - - name: Build and copy webUI, Build Jar + - name: Build Jar uses: eskatos/gradle-command-action@v1 env: ProductBuildType: "Preview" with: build-root-directory: master wrapper-directory: master - arguments: :webUI:copyBuild :server:shadowJar --stacktrace + arguments: :server:shadowJar --stacktrace wrapper-cache-enabled: true dependencies-cache-enabled: true configuration-cache-enabled: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 17de18e9..34cd9644 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -51,21 +51,14 @@ jobs: cd master curl https://raw.githubusercontent.com/Suwayomi/Tachidesk/android-jar/android.jar -o AndroidCompat/lib/android.jar - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: | - **/webUI/node_modules - key: ${{ runner.os }}-${{ hashFiles('**/webUI/yarn.lock') }} - - - name: Build and copy webUI, Build Jar + - name: Build Jar uses: eskatos/gradle-command-action@v1 env: ProductBuildType: "Stable" with: build-root-directory: master wrapper-directory: master - arguments: :webUI:copyBuild :server:shadowJar --stacktrace + arguments: :server:shadowJar --stacktrace wrapper-cache-enabled: true dependencies-cache-enabled: true configuration-cache-enabled: true @@ -81,7 +74,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - file: "master/server/build/*.jar;master/server/build/*.zip" + file: "master/server/build/*.jar" tags: true draft: true verbose: true diff --git a/scripts/resources/Tachidesk Electron Launcher.bat b/scripts/resources/Tachidesk Electron Launcher.bat deleted file mode 100644 index 3c951c02..00000000 --- a/scripts/resources/Tachidesk Electron Launcher.bat +++ /dev/null @@ -1 +0,0 @@ -jre\bin\javaw "-Dsuwayomi.tachidesk.server.webInterface=electron" "-Dsuwayomi.tachidesk.server.electronPath=electron/electron.exe" -jar Tachidesk.jar diff --git a/scripts/resources/Tachidesk Browser Launcher.bat b/scripts/resources/Tachidesk Launcher.bat similarity index 100% rename from scripts/resources/Tachidesk Browser Launcher.bat rename to scripts/resources/Tachidesk Launcher.bat diff --git a/scripts/resources/Tachidesk Launcher.c b/scripts/resources/Tachidesk Launcher.c deleted file mode 100644 index 8d941d9b..00000000 --- a/scripts/resources/Tachidesk Launcher.c +++ /dev/null @@ -1,5 +0,0 @@ -#include - -int main() { - system("start jre\\bin\\javaw -jar Tachidesk.jar"); -} diff --git a/scripts/windows-bundler.sh b/scripts/windows-bundler.sh index debc47a5..ef2cfb05 100755 --- a/scripts/windows-bundler.sh +++ b/scripts/windows-bundler.sh @@ -6,16 +6,12 @@ # 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/. -electron_version="v12.0.9" - if [ $1 = "win32" ]; then jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip" arch="win32" - electron="electron-$electron_version-win32-ia32.zip" else jre="OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip" arch="win64" - electron="electron-$electron_version-win32-x64.zip" fi jre_dir="jdk8u292-b10-jre" @@ -38,37 +34,10 @@ fi unzip $jre mv $jre_dir $release_name/jre -echo "Dealing with electron" -if [ ! -f $electron ]; then - curl -L "https://github.com/electron/electron/releases/download/$electron_version/$electron" -o $electron -fi -unzip $electron -d $release_name/electron - -# change electron's icon -rcedit="rcedit-x86.exe" -if [ ! -f $rcedit ]; then - curl -L "https://github.com/electron/rcedit/releases/download/v1.1.1/$rcedit" -o $rcedit -fi - -# check if running under github actions -if [ $CI = true ]; then - # change electron executable's icon - sudo dpkg --add-architecture i386 - wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - - sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport - sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main" - sudo apt install --install-recommends winehq-stable -fi -# this script assumes that wine is installed here on out - -WINEARCH=win32 wine $rcedit $release_name/electron/electron.exe --set-icon ../server/src/main/resources/icon/faviconlogo.ico - # copy artifacts cp $jar $release_name/Tachidesk.jar -#cp "resources/Tachidesk Launcher-$arch.exe" "$release_name/Tachidesk Launcher.exe" -cp "resources/Tachidesk Browser Launcher.bat" $release_name +cp "resources/Tachidesk Launcher.bat" $release_name cp "resources/Tachidesk Debug Launcher.bat" $release_name -cp "resources/Tachidesk Electron Launcher.bat" $release_name zip_name=$release_name.zip zip -9 -r $zip_name $release_name diff --git a/server/build.gradle.kts b/server/build.gradle.kts index 36a55058..2cf6da9c 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -172,7 +172,6 @@ tasks { named("processResources") { duplicatesStrategy = DuplicatesStrategy.INCLUDE - mustRunAfter(":webUI:copyBuild") } withType { diff --git a/server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt b/server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt index b7331fe7..7d5944d8 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt @@ -16,7 +16,6 @@ import mu.KotlinLogging import suwayomi.tachidesk.anime.AnimeAPI import suwayomi.tachidesk.global.GlobalAPI import suwayomi.tachidesk.manga.MangaAPI -import suwayomi.tachidesk.server.util.Browser import java.io.IOException import java.util.concurrent.CompletableFuture import kotlin.concurrent.thread @@ -31,28 +30,8 @@ object JavalinSetup { } fun javalinSetup() { - var hasWebUiBundled = false - val app = Javalin.create { config -> - try { - // if the bellow line throws an exception then webUI is not bundled - this::class.java.getResource("/webUI/index.html") - - // no exception so we can tell javalin to serve webUI - hasWebUiBundled = true - config.addStaticFiles("/webUI") - config.addSinglePageRoot("/", "/webUI/index.html") - } catch (e: RuntimeException) { - logger.warn("react build files are missing.") - hasWebUiBundled = false - } config.enableCorsForAllOrigins() - }.events { event -> - event.serverStarted { - if (hasWebUiBundled && serverConfig.initialOpenInBrowserEnabled) { - Browser.openInBrowser() - } - } }.start(serverConfig.ip, serverConfig.port) // when JVM is prompted to shutdown, stop javalin gracefully