mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-11 07:12:03 +01:00
SetupTachideskJar is now a required task, and it auto-updates the jar if needed
This commit is contained in:
8
.github/workflows/Build.yml
vendored
8
.github/workflows/Build.yml
vendored
@@ -16,14 +16,14 @@ jobs:
|
|||||||
arch: x64
|
arch: x64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
shell: bash
|
shell: bash
|
||||||
build: setupTachideskJar packageUberJarForCurrentOS packageDeb
|
build: packageUberJarForCurrentOS packageDeb
|
||||||
setupCl: ./scripts/SetupClUnix.sh
|
setupCl: ./scripts/SetupClUnix.sh
|
||||||
|
|
||||||
- runtime: linux-centos-x64
|
- runtime: linux-centos-x64
|
||||||
arch: x64
|
arch: x64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
shell: bash
|
shell: bash
|
||||||
build: setupTachideskJar packageRpm
|
build: packageRpm
|
||||||
setupCl: ./scripts/SetupClUnix.sh
|
setupCl: ./scripts/SetupClUnix.sh
|
||||||
|
|
||||||
- runtime: osx-x64
|
- runtime: osx-x64
|
||||||
@@ -31,7 +31,7 @@ jobs:
|
|||||||
os: macOS-latest
|
os: macOS-latest
|
||||||
shell: bash
|
shell: bash
|
||||||
build: |
|
build: |
|
||||||
setupTachideskJar packageUberJarForCurrentOS \
|
packageUberJarForCurrentOS \
|
||||||
packageDmg notarizeDmg \
|
packageDmg notarizeDmg \
|
||||||
-Pcompose.desktop.mac.sign=true \
|
-Pcompose.desktop.mac.sign=true \
|
||||||
-Pcompose.desktop.mac.signing.identity=${{ secrets.APPLE_IDENTITY }} \
|
-Pcompose.desktop.mac.signing.identity=${{ secrets.APPLE_IDENTITY }} \
|
||||||
@@ -43,7 +43,7 @@ jobs:
|
|||||||
arch: x64
|
arch: x64
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
shell: powershell
|
shell: powershell
|
||||||
build: setupTachideskJar packageUberJarForCurrentOS packageMsi
|
build: packageUberJarForCurrentOS packageMsi
|
||||||
setupCl: ./scripts/SetupClWindows.ps1
|
setupCl: ./scripts/SetupClWindows.ps1
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ Join Tachidesk's [discord server](https://discord.gg/wgPyb7hE5d) to hang out wit
|
|||||||
### Prerequisite: Software dependencies
|
### Prerequisite: Software dependencies
|
||||||
You need this software packages installed in order to build this project:
|
You need this software packages installed in order to build this project:
|
||||||
- Java Development Kit and Java Runtime Environment version 15, this can be handled by IntelliJ
|
- Java Development Kit and Java Runtime Environment version 15, this can be handled by IntelliJ
|
||||||
### Prerequisite: Getting Tachidesk.jar
|
### Building a jar for your OS
|
||||||
Run `./gradlew setupTachideskJar`, it will add the required Tachidesk jar to the resources. Note that you will have to delete it and run the task again if the required version has been bumped
|
|
||||||
### building a jar for your OS
|
|
||||||
Run `./gradlew packageUberJarForCurrentOS`, the resulting built jar file will be `build/compose/TachideskJUI-os-arch-X.Y.Z.jar`.
|
Run `./gradlew packageUberJarForCurrentOS`, the resulting built jar file will be `build/compose/TachideskJUI-os-arch-X.Y.Z.jar`.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
|
import Config.tachideskVersion
|
||||||
import de.undercouch.gradle.tasks.download.Download
|
import de.undercouch.gradle.tasks.download.Download
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.tasks.Copy
|
import org.gradle.api.tasks.Copy
|
||||||
import org.gradle.api.tasks.Delete
|
import org.gradle.api.tasks.Delete
|
||||||
import org.gradle.api.tasks.Exec
|
import org.gradle.api.tasks.Exec
|
||||||
|
import org.gradle.api.tasks.bundling.Zip
|
||||||
import org.gradle.kotlin.dsl.KotlinClosure1
|
import org.gradle.kotlin.dsl.KotlinClosure1
|
||||||
import org.gradle.kotlin.dsl.TaskContainerScope
|
import org.gradle.kotlin.dsl.TaskContainerScope
|
||||||
import org.gradle.kotlin.dsl.register
|
import org.gradle.kotlin.dsl.register
|
||||||
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import Config.tachideskVersion
|
import java.util.jar.JarFile
|
||||||
import org.gradle.api.Project
|
|
||||||
import org.gradle.api.Task
|
|
||||||
import org.gradle.api.tasks.bundling.Zip
|
|
||||||
|
|
||||||
private const val tachideskGroup = "tachidesk"
|
private const val tachideskGroup = "tachidesk"
|
||||||
|
private const val deleteOldTachideskTask = "deleteOldTachidesk"
|
||||||
private const val downloadTask = "downloadTar"
|
private const val downloadTask = "downloadTar"
|
||||||
private const val extractTask = "extractTar"
|
private const val extractTask = "extractTar"
|
||||||
private const val androidScriptTask = "runGetAndroid"
|
private const val androidScriptTask = "runGetAndroid"
|
||||||
@@ -45,8 +47,20 @@ private fun Project.tmpDir() = File(rootDir, "tmp")
|
|||||||
|
|
||||||
fun TaskContainerScope.registerTachideskTasks(project: Project) {
|
fun TaskContainerScope.registerTachideskTasks(project: Project) {
|
||||||
with(project) {
|
with(project) {
|
||||||
|
register<Delete>(deleteOldTachideskTask) {
|
||||||
|
group = tachideskGroup
|
||||||
|
val tachideskJar = File(rootDir, "src/main/resources/Tachidesk.jar")
|
||||||
|
onlyIf {
|
||||||
|
tachideskJar.exists() && JarFile(tachideskJar).use {
|
||||||
|
it.manifest?.mainAttributes?.getValue("Specification-Version") != tachideskVersion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete(tachideskJar)
|
||||||
|
}
|
||||||
|
|
||||||
register<Download>(downloadTask) {
|
register<Download>(downloadTask) {
|
||||||
group = tachideskGroup
|
group = tachideskGroup
|
||||||
|
mustRunAfter(deleteOldTachideskTask)
|
||||||
onlyIfTachideskDoesntExist(rootDir)
|
onlyIfTachideskDoesntExist(rootDir)
|
||||||
|
|
||||||
val tmpDir = tmpDir()
|
val tmpDir = tmpDir()
|
||||||
@@ -175,6 +189,7 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) {
|
|||||||
group = tachideskGroup
|
group = tachideskGroup
|
||||||
|
|
||||||
dependsOn(
|
dependsOn(
|
||||||
|
deleteOldTachideskTask,
|
||||||
downloadTask,
|
downloadTask,
|
||||||
extractTask,
|
extractTask,
|
||||||
androidScriptTask,
|
androidScriptTask,
|
||||||
@@ -190,6 +205,6 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
named("processResources") {
|
named("processResources") {
|
||||||
mustRunAfter(runAllTachideskTasks)
|
dependsOn(runAllTachideskTasks)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user