SetupTachideskJar is now a required task, and it auto-updates the jar if needed

This commit is contained in:
Syer10
2021-07-17 22:55:48 -04:00
parent 9edd3b061d
commit 12e6b90696
3 changed files with 25 additions and 12 deletions

View File

@@ -16,14 +16,14 @@ jobs:
arch: x64
os: ubuntu-latest
shell: bash
build: setupTachideskJar packageUberJarForCurrentOS packageDeb
build: packageUberJarForCurrentOS packageDeb
setupCl: ./scripts/SetupClUnix.sh
- runtime: linux-centos-x64
arch: x64
os: ubuntu-latest
shell: bash
build: setupTachideskJar packageRpm
build: packageRpm
setupCl: ./scripts/SetupClUnix.sh
- runtime: osx-x64
@@ -31,7 +31,7 @@ jobs:
os: macOS-latest
shell: bash
build: |
setupTachideskJar packageUberJarForCurrentOS \
packageUberJarForCurrentOS \
packageDmg notarizeDmg \
-Pcompose.desktop.mac.sign=true \
-Pcompose.desktop.mac.signing.identity=${{ secrets.APPLE_IDENTITY }} \
@@ -43,7 +43,7 @@ jobs:
arch: x64
os: windows-latest
shell: powershell
build: setupTachideskJar packageUberJarForCurrentOS packageMsi
build: packageUberJarForCurrentOS packageMsi
setupCl: ./scripts/SetupClWindows.ps1
runs-on: ${{ matrix.os }}

View File

@@ -67,9 +67,7 @@ Join Tachidesk's [discord server](https://discord.gg/wgPyb7hE5d) to hang out wit
### Prerequisite: Software dependencies
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
### Prerequisite: Getting Tachidesk.jar
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
### 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`.

View File

@@ -1,18 +1,20 @@
import Config.tachideskVersion
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.Delete
import org.gradle.api.tasks.Exec
import org.gradle.api.tasks.bundling.Zip
import org.gradle.kotlin.dsl.KotlinClosure1
import org.gradle.kotlin.dsl.TaskContainerScope
import org.gradle.kotlin.dsl.register
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
import java.io.File
import Config.tachideskVersion
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.tasks.bundling.Zip
import java.util.jar.JarFile
private const val tachideskGroup = "tachidesk"
private const val deleteOldTachideskTask = "deleteOldTachidesk"
private const val downloadTask = "downloadTar"
private const val extractTask = "extractTar"
private const val androidScriptTask = "runGetAndroid"
@@ -45,8 +47,20 @@ private fun Project.tmpDir() = File(rootDir, "tmp")
fun TaskContainerScope.registerTachideskTasks(project: 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) {
group = tachideskGroup
mustRunAfter(deleteOldTachideskTask)
onlyIfTachideskDoesntExist(rootDir)
val tmpDir = tmpDir()
@@ -175,6 +189,7 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) {
group = tachideskGroup
dependsOn(
deleteOldTachideskTask,
downloadTask,
extractTask,
androidScriptTask,
@@ -190,6 +205,6 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) {
}
named("processResources") {
mustRunAfter(runAllTachideskTasks)
dependsOn(runAllTachideskTasks)
}
}