2021-09-24 14:25:17 +02:00
|
|
|
import org.jetbrains.compose.compose
|
|
|
|
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
|
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
2022-03-28 00:32:01 +02:00
|
|
|
import org.gradle.jvm.tasks.Jar
|
2021-09-24 14:25:17 +02:00
|
|
|
|
|
|
|
plugins {
|
|
|
|
// __KOTLIN_COMPOSE_VERSION__
|
2022-01-05 03:17:51 +01:00
|
|
|
kotlin("jvm") version "1.6.10"
|
|
|
|
kotlin("kapt") version "1.6.10"
|
|
|
|
kotlin("plugin.serialization") version "1.6.10"
|
2021-09-24 14:25:17 +02:00
|
|
|
// __LATEST_COMPOSE_RELEASE_VERSION__
|
2022-03-26 05:05:23 +01:00
|
|
|
id("org.jetbrains.compose") version "1.1.1"
|
2021-09-24 14:25:17 +02:00
|
|
|
}
|
|
|
|
|
2022-03-27 06:24:29 +02:00
|
|
|
val projectVersion = "0.1.0"
|
2022-03-28 00:32:01 +02:00
|
|
|
val name = "Gitnuro"
|
2022-03-27 06:24:29 +02:00
|
|
|
|
|
|
|
group = "com.jetpackduba"
|
|
|
|
version = projectVersion
|
2021-09-24 14:25:17 +02:00
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
google()
|
|
|
|
maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
|
|
|
|
}
|
|
|
|
|
2021-10-06 19:05:07 +02:00
|
|
|
|
|
|
|
|
2021-09-24 14:25:17 +02:00
|
|
|
dependencies {
|
|
|
|
implementation(compose.desktop.currentOs)
|
2021-11-22 03:38:16 +01:00
|
|
|
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
|
|
|
|
implementation(compose.desktop.components.splitPane)
|
2021-12-08 23:02:06 +01:00
|
|
|
implementation("org.eclipse.jgit:org.eclipse.jgit:6.0.0.202111291000-r")
|
2022-03-28 00:32:01 +02:00
|
|
|
implementation("org.apache.sshd:sshd-core:2.8.0")
|
|
|
|
implementation("com.google.dagger:dagger:2.41")
|
2022-01-05 03:17:51 +01:00
|
|
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2")
|
2022-03-28 00:32:01 +02:00
|
|
|
kapt("com.google.dagger:dagger-compiler:2.41")
|
2021-09-24 14:25:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType<KotlinCompile>() {
|
2022-03-28 00:32:01 +02:00
|
|
|
kotlinOptions.jvmTarget = "17"
|
2022-01-05 03:17:51 +01:00
|
|
|
kotlinOptions.allWarningsAsErrors = true
|
2021-09-24 14:25:17 +02:00
|
|
|
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
|
|
|
|
}
|
|
|
|
|
2021-10-06 19:05:07 +02:00
|
|
|
|
2021-09-24 14:25:17 +02:00
|
|
|
compose.desktop {
|
|
|
|
application {
|
2021-11-19 03:09:09 +01:00
|
|
|
mainClass = "MainKt"
|
2022-03-28 00:32:01 +02:00
|
|
|
|
2021-09-24 14:25:17 +02:00
|
|
|
nativeDistributions {
|
2021-12-14 13:42:31 +01:00
|
|
|
includeAllModules = true
|
2022-03-28 00:32:01 +02:00
|
|
|
packageName = name
|
2022-03-28 00:32:48 +02:00
|
|
|
packageVersion = projectVersion
|
2021-09-24 14:25:17 +02:00
|
|
|
}
|
|
|
|
}
|
2022-03-27 06:27:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
task("fatJar", type = Jar::class) {
|
|
|
|
archiveBaseName.set("${project.name}-fat")
|
|
|
|
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
|
|
|
|
|
|
manifest {
|
2022-03-28 00:32:01 +02:00
|
|
|
attributes["Implementation-Title"] = name
|
2022-03-27 06:27:31 +02:00
|
|
|
attributes["Implementation-Version"] = projectVersion
|
|
|
|
attributes["Main-Class"] = "MainKt"
|
|
|
|
}
|
|
|
|
from(configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) }) {
|
|
|
|
exclude(
|
|
|
|
"META-INF/MANIFEST.MF",
|
|
|
|
"META-INF/*.SF",
|
|
|
|
"META-INF/*.DSA",
|
|
|
|
"META-INF/*.RSA",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
with(tasks.jar.get() as CopySpec)
|
2021-09-24 14:25:17 +02:00
|
|
|
}
|