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/*
|
rm -rf latest_pointer/*
|
||||||
cp $new_jar_build 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')
|
latest=$(ls *.jar | tail -n1 | sed -e's/Tachidesk-\|.jar//g')
|
||||||
echo "{ \"latest\": \"$latest\" }" > index.json
|
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
|
**/react/node_modules
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/react/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
|
uses: eskatos/gradle-command-action@v1
|
||||||
with:
|
with:
|
||||||
build-root-directory: master
|
build-root-directory: master
|
||||||
wrapper-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
|
wrapper-cache-enabled: true
|
||||||
dependencies-cache-enabled: true
|
dependencies-cache-enabled: true
|
||||||
configuration-cache-enabled: true
|
configuration-cache-enabled: true
|
||||||
@ -75,6 +76,11 @@ jobs:
|
|||||||
ref: preview
|
ref: preview
|
||||||
path: preview
|
path: preview
|
||||||
|
|
||||||
|
- name: make windows package
|
||||||
|
run: |
|
||||||
|
cd master/scripts
|
||||||
|
./windows-bundler.sh
|
||||||
|
|
||||||
- name: Deploy preview
|
- name: Deploy preview
|
||||||
run: |
|
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:
|
with:
|
||||||
path: |
|
path: |
|
||||||
**/react/node_modules
|
**/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
|
uses: eskatos/gradle-command-action@v1
|
||||||
with:
|
with:
|
||||||
build-root-directory: master
|
build-root-directory: master
|
||||||
wrapper-directory: master
|
wrapper-directory: master
|
||||||
arguments: :webUI:copyBuild :server:windowsPackage --stacktrace
|
arguments: :webUI:copyBuild :server:shadowJar --stacktrace
|
||||||
wrapper-cache-enabled: true
|
wrapper-cache-enabled: true
|
||||||
dependencies-cache-enabled: true
|
dependencies-cache-enabled: true
|
||||||
configuration-cache-enabled: true
|
configuration-cache-enabled: true
|
||||||
@ -73,37 +73,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
file: "master/server/build/*.jar;master/server/build/*-win32.zip"
|
file: "master/server/build/*.jar"
|
||||||
tags: true
|
tags: true
|
||||||
draft: true
|
draft: true
|
||||||
verbose: 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 {
|
test {
|
||||||
useJUnit()
|
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> {
|
withType<ShadowJar> {
|
||||||
destinationDirectory.set(File("$rootDir/server/build"))
|
destinationDirectory.set(File("$rootDir/server/build"))
|
||||||
dependsOn("formatKotlin", "lintKotlin")
|
dependsOn("formatKotlin", "lintKotlin")
|
||||||
|
@ -21,7 +21,7 @@ class ServerConfig(config: Config) : ConfigModule(config) {
|
|||||||
val socksProxyPort: String by config
|
val socksProxyPort: String by config
|
||||||
|
|
||||||
// misc
|
// 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 systemTrayEnabled: Boolean by config
|
||||||
val initialOpenInBrowserEnabled: 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