-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
76 lines (62 loc) · 2 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
application
kotlin("jvm") version "1.8.0-RC2"
id("com.github.ben-manes.versions") version "0.44.0"
// Cannot update
id("org.beryx.jlink") version "2.25.0"
id("org.bytedeco.gradle-javacpp-platform") version "1.5.7"
}
ext {
set("javacppPlatform", "macosx-arm64")
}
repositories {
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
application.mainClass.set("org.acejump.tracejump.MainKt")
group = "org.tracejump"
version = "0.2-SNAPSHOT"
val osArch = System.getProperty("os.arch")
var targetArch = when (osArch) {
"x86_64", "amd64" -> "x64"
"aarch64" -> "arm64"
else -> error("Unsupported arch: $osArch")
}
val os = System.getProperty("os.name")
val targetOs = when {
os == "Mac OS X" -> "macos"
os.startsWith("Win") -> "windows"
os.startsWith("Linux") -> "linux"
else -> throw Error("Unsupported OS: $os")
}
dependencies {
implementation(kotlin("bom"))
implementation(kotlin("stdlib"))
// implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
// implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.bytedeco:javacv-platform:1.5.7")
implementation("org.bytedeco:leptonica-platform:1.82.0-1.5.7")
implementation("org.bytedeco:tesseract-platform:5.0.1-1.5.7") // OCR
implementation("com.github.kwhat:jnativehook:2.2.2") // Mouse / keyboard hook
val target = "${targetOs}-${targetArch}"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.6.4")
// UI does not does not seem to work past 0.2.26+
implementation("org.jetbrains.skiko:skiko-jvm-runtime-$target:0.2.25")
}
tasks.compileKotlin {
kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString()
}
jlink {
launcher {
name = "hello"
}
jpackage {
outputDir = "my-packaging"
imageName = "TraceJump"
installerName = "TraceJumpInstaller"
installerType = "dmg"
appVersion = project.version.toString()
description = "Mixed reality trace link navigator"
}
}