mirror of
https://github.com/tachiyomiorg/tachiyomi-extensions-inspector.git
synced 2025-02-28 22:43:38 +01:00
make windows package with packr
This commit is contained in:
parent
104c5a8d83
commit
9c55fc3868
1
.github/scripts/commit-preview.sh
vendored
1
.github/scripts/commit-preview.sh
vendored
@ -10,6 +10,7 @@ cp -f $new_jar_build Tachidesk-latest.jar
|
||||
|
||||
rm -rf latest_pointer/*
|
||||
cp $new_jar_build latest_pointer
|
||||
cp master/server/build/Tachidesk-*.zip latest_pointer
|
||||
|
||||
latest=$(ls *.jar | tail -n1 | sed -e's/Tachidesk-\|.jar//g')
|
||||
echo "{ \"latest\": \"$latest\" }" > index.json
|
||||
|
12
.github/workflows/build_push.yml
vendored
12
.github/workflows/build_push.yml
vendored
@ -59,12 +59,13 @@ jobs:
|
||||
**/react/node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/react/yarn.lock') }}
|
||||
|
||||
- name: Build and copy webUI, Build Jar and launch4j
|
||||
- name: Build and copy webUI, Build Jar
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
build-root-directory: master
|
||||
wrapper-directory: master
|
||||
arguments: :webUI:copyBuild :server:windowsPackage --stacktrace
|
||||
# arguments: :webUI:copyBuild :server:shadowJar --stacktrace
|
||||
arguments: :server:shadowJar --stacktrace
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
@ -75,6 +76,11 @@ jobs:
|
||||
ref: preview
|
||||
path: preview
|
||||
|
||||
- name: make windows package
|
||||
run: |
|
||||
cd master/scripts
|
||||
./windows-bundler.sh
|
||||
|
||||
- name: Deploy preview
|
||||
run: |
|
||||
./master/.github/scripts/commit-preview.sh
|
||||
./master/.github/scripts/commit-preview.sh
|
38
.github/workflows/publish.yml
vendored
38
.github/workflows/publish.yml
vendored
@ -56,14 +56,14 @@ jobs:
|
||||
with:
|
||||
path: |
|
||||
**/react/node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/react/yarn.lock') }}
|
||||
|
||||
- name: Build and copy webUI, Build Jar and launch4j
|
||||
- name: Build and copy webUI, Build Jar
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
build-root-directory: master
|
||||
wrapper-directory: master
|
||||
arguments: :webUI:copyBuild :server:windowsPackage --stacktrace
|
||||
arguments: :webUI:copyBuild :server:shadowJar --stacktrace
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
@ -73,37 +73,7 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
file: "master/server/build/*.jar;master/server/build/*-win32.zip"
|
||||
file: "master/server/build/*.jar"
|
||||
tags: true
|
||||
draft: true
|
||||
verbose: true
|
||||
|
||||
# - name: Create Release
|
||||
# id: create_release
|
||||
# uses: actions/create-release@v1
|
||||
# env:
|
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# with:
|
||||
# tag_name: ${{ github.ref }}
|
||||
# release_name: Release ${{ github.ref }}
|
||||
# body: |
|
||||
# Release body
|
||||
# draft: false
|
||||
# prerelease: true
|
||||
#
|
||||
# - name: Get the Ref
|
||||
# id: get-ref
|
||||
# uses: ankitvgupta/ref-to-tag-action@master
|
||||
# with:
|
||||
# ref: ${{ github.ref }}
|
||||
# head_ref: ${{ github.head_ref }}
|
||||
#
|
||||
# - name: Get the tag
|
||||
# run: echo "The tag was ${{ steps.get-ref.outputs.tag }}"
|
||||
#
|
||||
# - name: Upload Release
|
||||
# uses: AButler/upload-release-assets@v2.0
|
||||
# with:
|
||||
# files: 'master/repo/*'
|
||||
# repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# release-tag: ${{ steps.get-ref.outputs.tag }}
|
||||
|
1
scripts/resources/Tachidesk-debug.bat
Normal file
1
scripts/resources/Tachidesk-debug.bat
Normal file
@ -0,0 +1 @@
|
||||
jre\bin\java -Dir.armor.tachidesk.debugLogsEnabled=true -jar Tachidesk.jar
|
43
scripts/windows-bundler.sh
Normal file
43
scripts/windows-bundler.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/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 packr jar..."
|
||||
|
||||
packr="packr-all-4.0.0.jar"
|
||||
curl -L "https://github.com/libgdx/packr/releases/download/4.0.0/packr-all-4.0.0.jar" -o $packr
|
||||
|
||||
echo "Downloading jre..."
|
||||
|
||||
jre="OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip"
|
||||
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip" -o $jre
|
||||
|
||||
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)
|
||||
|
||||
cp $jar "Tachidesk.jar"
|
||||
|
||||
java -jar $packr \
|
||||
--platform windows64 \
|
||||
--jdk $jre \
|
||||
--executable Tachidesk \
|
||||
--classpath Tachidesk.jar \
|
||||
--mainclass ir.armor.tachidesk.Main \
|
||||
--vmargs Xmx4G \
|
||||
--output $release_name
|
||||
|
||||
cp resources/Tachidesk-debug.bat $release_name
|
||||
|
||||
zip_name="$release_name-win64.zip"
|
||||
zip -9 -r $zip_name $release_name
|
||||
|
||||
cp $zip_name ../server/build/
|
||||
|
||||
|
@ -168,58 +168,8 @@ tasks {
|
||||
test {
|
||||
useJUnit()
|
||||
}
|
||||
|
||||
register<Zip>("windowsPackage") {
|
||||
from(fileTree("$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64"))
|
||||
destinationDirectory.set(File("$buildDir"))
|
||||
archiveFileName.set("${rootProject.name}-$tachideskVersion-$tachideskRevision-win64.zip")
|
||||
dependsOn("windowsPackageWorkaround2")
|
||||
}
|
||||
|
||||
register<Delete>("windowsPackageWorkaround2") {
|
||||
delete(
|
||||
"$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/jre",
|
||||
"$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/lib",
|
||||
"$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/server.exe",
|
||||
"$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/Tachidesk-$tachideskVersion-$tachideskRevision-win64/Tachidesk-$tachideskVersion-$tachideskRevision-win64"
|
||||
)
|
||||
dependsOn("windowsPackageWorkaround")
|
||||
}
|
||||
|
||||
register<Copy>("windowsPackageWorkaround") {
|
||||
from("$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64")
|
||||
into("$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64")
|
||||
dependsOn("deleteUnwantedJreDir")
|
||||
}
|
||||
|
||||
register<Delete>("deleteUnwantedJreDir") {
|
||||
delete(
|
||||
"$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64/jdk8u292-b10-jre"
|
||||
)
|
||||
dependsOn("addJreToDistributable")
|
||||
}
|
||||
|
||||
register<Copy>("addJreToDistributable") {
|
||||
from(zipTree("$buildDir/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip"))
|
||||
into("$buildDir/${rootProject.name}-$tachideskVersion-$tachideskRevision-win64")
|
||||
eachFile {
|
||||
path = path.replace(".*-jre".toRegex(), "jre")
|
||||
}
|
||||
dependsOn("downloadJre")
|
||||
dependsOn("createExe")
|
||||
}
|
||||
|
||||
named("createExe") {
|
||||
dependsOn("shadowJar")
|
||||
}
|
||||
|
||||
register<de.undercouch.gradle.tasks.download.Download>("downloadJre") {
|
||||
src("https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip")
|
||||
dest("$buildDir/OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip")
|
||||
overwrite(false)
|
||||
onlyIfModified(true)
|
||||
}
|
||||
|
||||
|
||||
|
||||
withType<ShadowJar> {
|
||||
destinationDirectory.set(File("$rootDir/server/build"))
|
||||
dependsOn("formatKotlin", "lintKotlin")
|
||||
|
@ -21,7 +21,7 @@ class ServerConfig(config: Config) : ConfigModule(config) {
|
||||
val socksProxyPort: String by config
|
||||
|
||||
// misc
|
||||
val debugLogsEnabled: Boolean by config
|
||||
val debugLogsEnabled: Boolean = System.getProperty("ir.armor.tachidesk.debugLogsEnabled", config.getString("debugLogsEnabled")).toBoolean()
|
||||
val systemTrayEnabled: Boolean by config
|
||||
val initialOpenInBrowserEnabled: Boolean by config
|
||||
|
||||
|
37
webUI/react/src/electron.js
Normal file
37
webUI/react/src/electron.js
Normal file
@ -0,0 +1,37 @@
|
||||
const { app, BrowserWindow } = require('electron');
|
||||
const path = require('path');
|
||||
const isDev = require('electron-is-dev');
|
||||
|
||||
function createWindow() {
|
||||
const win = new BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
webPreferences: {
|
||||
preload: path.join(__dirname, 'preload.js'),
|
||||
},
|
||||
});
|
||||
|
||||
// and load the index.html of the app.
|
||||
// win.loadFile("index.html");
|
||||
win.loadURL(
|
||||
isDev
|
||||
? 'http://localhost:3000'
|
||||
: `file://${path.join(__dirname, '../build/index.html')}`,
|
||||
);
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
if (process.platform !== 'darwin') {
|
||||
app.quit();
|
||||
}
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user