2022-04-30 10:32:00 +03:00
|
|
|
import ru.mipt.npm.gradle.KScienceVersions
|
2022-05-24 21:39:01 +03:00
|
|
|
import java.time.LocalDateTime
|
2022-04-23 10:48:53 +03:00
|
|
|
|
|
|
|
plugins {
|
|
|
|
id("ru.mipt.npm.gradle.project")
|
|
|
|
id("ru.mipt.npm.gradle.jvm")
|
2022-04-30 10:32:00 +03:00
|
|
|
application
|
|
|
|
}
|
|
|
|
|
2022-05-22 16:52:36 +03:00
|
|
|
repositories {
|
2022-05-13 17:21:06 +03:00
|
|
|
mavenLocal()
|
|
|
|
}
|
2022-04-23 10:48:53 +03:00
|
|
|
|
|
|
|
group = "ru.mipt.npm"
|
2022-05-24 21:39:01 +03:00
|
|
|
version = "0.1.0-SNAPSHOT"
|
2022-04-23 10:48:53 +03:00
|
|
|
|
|
|
|
application {
|
2022-05-14 11:08:28 +03:00
|
|
|
mainClass.set("io.ktor.server.netty.EngineMain")
|
2022-04-23 10:48:53 +03:00
|
|
|
|
|
|
|
val isDevelopment: Boolean = project.ext.has("development")
|
2022-05-03 13:33:43 +03:00
|
|
|
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment", "-Xmx200M")
|
2022-04-23 10:48:53 +03:00
|
|
|
}
|
|
|
|
|
2022-04-30 10:32:00 +03:00
|
|
|
|
2022-05-21 13:38:15 +03:00
|
|
|
val dataforgeVersion by extra("0.6.0-dev-9")
|
2022-05-06 15:54:59 +03:00
|
|
|
val ktorVersion = KScienceVersions.ktorVersion
|
2022-04-30 10:32:00 +03:00
|
|
|
|
2022-04-23 10:48:53 +03:00
|
|
|
dependencies {
|
2022-04-30 10:32:00 +03:00
|
|
|
implementation("io.ktor:ktor-server-core:$ktorVersion")
|
|
|
|
implementation("org.jetbrains.kotlinx:kotlinx-html:0.7.5")
|
|
|
|
implementation("io.ktor:ktor-server-html-builder:$ktorVersion")
|
|
|
|
implementation("org.jetbrains.kotlin-wrappers:kotlin-css")
|
|
|
|
implementation("io.ktor:ktor-server-host-common:$ktorVersion")
|
|
|
|
implementation("io.ktor:ktor-server-status-pages:$ktorVersion")
|
|
|
|
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
|
|
|
implementation("ch.qos.logback:logback-classic:1.2.11")
|
|
|
|
implementation("space.kscience:dataforge-workspace:$dataforgeVersion")
|
|
|
|
implementation("space.kscience:dataforge-io-yaml:$dataforgeVersion")
|
2022-04-23 10:59:05 +03:00
|
|
|
implementation("org.jetbrains:markdown:0.3.1")
|
|
|
|
|
2022-04-30 10:32:00 +03:00
|
|
|
testImplementation("io.ktor:ktor-server-tests:$ktorVersion")
|
2022-04-23 10:48:53 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
kotlin {
|
|
|
|
explicitApi = org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode.Disabled
|
2022-05-21 13:38:15 +03:00
|
|
|
}
|
|
|
|
|
2022-05-22 16:52:36 +03:00
|
|
|
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
|
|
|
kotlinOptions {
|
2022-05-21 13:38:15 +03:00
|
|
|
freeCompilerArgs = freeCompilerArgs + "-Xcontext-receivers"
|
2022-05-08 22:21:01 +03:00
|
|
|
}
|
2022-05-06 15:54:59 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
resources.srcDir(project.rootDir.resolve("data"))
|
|
|
|
}
|
2022-05-24 21:39:01 +03:00
|
|
|
}
|
|
|
|
|
2022-05-26 21:48:56 +03:00
|
|
|
val writeBuildDate: Task by tasks.creating {
|
2022-05-26 22:57:55 +03:00
|
|
|
doLast {
|
2022-05-24 21:39:01 +03:00
|
|
|
val deployDate = LocalDateTime.now()
|
2022-05-26 22:57:55 +03:00
|
|
|
val file = File(project.buildDir, "resources/main/buildDate")
|
|
|
|
file.parentFile.mkdirs()
|
|
|
|
file.writeText(deployDate.toString())
|
2022-05-24 21:39:01 +03:00
|
|
|
}
|
2022-05-26 21:48:56 +03:00
|
|
|
outputs.file("resources/main/buildDate")
|
2022-06-08 19:07:20 +03:00
|
|
|
outputs.upToDateWhen { false }
|
2022-05-26 21:48:56 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//write build time in build to check outdated external data directory
|
|
|
|
tasks.getByName("processResources").dependsOn(writeBuildDate)
|