forked from MarathonLabs/marathon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
81 lines (71 loc) · 2.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
77
78
79
80
81
plugins {
application
id("idea")
jacoco
id("org.jetbrains.kotlin.jvm")
id("org.jetbrains.dokka")
id("com.github.gmazzo.buildconfig") version "5.3.5"
}
val enableJDB = false
val debugCoroutines = true
val jvmOptions = listOf(
when (enableJDB) {
true -> "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044"
else -> ""
},
when (debugCoroutines) {
true -> "-Dkotlinx.coroutines.debug=on"
else -> ""
}
).filter { it.isNotBlank() }
application {
mainClass.set("com.malinskiy.marathon.cli.ApplicationViewKt")
applicationName = "marathon"
applicationDefaultJvmArgs = jvmOptions
}
distributions {
getByName("main") {
distributionBaseName.set("marathon")
}
}
dependencies {
implementation(project(":core"))
implementation(project(":vendor:vendor-apple:ios"))
implementation(project(":vendor:vendor-apple:macos"))
implementation(project(":vendor:vendor-android"))
implementation(project(":analytics:usage"))
implementation(Libraries.kotlinStdLib)
implementation(Libraries.kotlinCoroutines)
implementation(Libraries.kotlinLogging)
implementation(Libraries.kotlinReflect)
implementation(Libraries.logbackClassic)
implementation(Libraries.clikt)
testRuntimeOnly(TestLibraries.jupiterEngine)
}
setupDeployment()
setupKotlinCompiler()
setupTestTask()
buildConfig {
useKotlinOutput { internalVisibility = false }
buildConfigField("String", "NAME", "\"${project.name}\"")
buildConfigField("String", "VERSION", provider { "\"${Versions.marathon}\"" })
}
sourceSets["main"].java {
srcDirs.add(File(buildDir, "gen"))
}
// At the moment for non-Android projects you need to explicitly
// mark the generated code for correct highlighting in IDE.
idea {
module {
sourceDirs = sourceDirs + file("${project.buildDir}/gen/buildconfig/src/main")
generatedSourceDirs = generatedSourceDirs + file("${project.buildDir}/gen/buildconfig/src/main")
}
}
/**
* Classpath is too long for commandline
*/
tasks.startScripts {
doLast {
windowsScript.writeText(windowsScript.readText().replace("set CLASSPATH=.*".toRegex(), "set CLASSPATH=.;%APP_HOME%/lib/*"))
}
}