mirror of https://github.com/usbharu/Hideout.git
commit
dfcd242d4c
|
@ -8,13 +8,14 @@ val koin_version: String by project
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "1.8.10"
|
kotlin("jvm") version "1.8.10"
|
||||||
id("io.ktor.plugin") version "2.2.4"
|
id("io.ktor.plugin") version "2.2.4"
|
||||||
|
id("org.graalvm.buildtools.native") version "0.9.21"
|
||||||
// id("org.jetbrains.kotlin.plugin.serialization") version "1.8.10"
|
// id("org.jetbrains.kotlin.plugin.serialization") version "1.8.10"
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "dev.usbharu"
|
group = "dev.usbharu"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
application {
|
application {
|
||||||
mainClass.set("io.ktor.server.netty.EngineMain")
|
mainClass.set("io.ktor.server.cio.EngineMain")
|
||||||
|
|
||||||
val isDevelopment: Boolean = project.ext.has("development")
|
val isDevelopment: Boolean = project.ext.has("development")
|
||||||
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
|
applicationDefaultJvmArgs = listOf("-Dio.ktor.development=$isDevelopment")
|
||||||
|
@ -52,7 +53,7 @@ dependencies {
|
||||||
implementation("com.h2database:h2:$h2_version")
|
implementation("com.h2database:h2:$h2_version")
|
||||||
implementation("org.xerial:sqlite-jdbc:3.40.1.0")
|
implementation("org.xerial:sqlite-jdbc:3.40.1.0")
|
||||||
implementation("io.ktor:ktor-server-websockets-jvm:$ktor_version")
|
implementation("io.ktor:ktor-server-websockets-jvm:$ktor_version")
|
||||||
implementation("io.ktor:ktor-server-netty-jvm:$ktor_version")
|
implementation("io.ktor:ktor-server-cio-jvm:$ktor_version")
|
||||||
implementation("ch.qos.logback:logback-classic:$logback_version")
|
implementation("ch.qos.logback:logback-classic:$logback_version")
|
||||||
|
|
||||||
implementation("io.insert-koin:koin-core:$koin_version")
|
implementation("io.insert-koin:koin-core:$koin_version")
|
||||||
|
@ -97,3 +98,29 @@ ktor {
|
||||||
localImageName.set("hideout")
|
localImageName.set("hideout")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
graalvmNative {
|
||||||
|
binaries {
|
||||||
|
named("main") {
|
||||||
|
fallback.set(false)
|
||||||
|
verbose.set(true)
|
||||||
|
agent{
|
||||||
|
enabled.set(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
buildArgs.add("--initialize-at-build-time=io.ktor,kotlin,kotlinx")
|
||||||
|
// buildArgs.add("--trace-class-initialization=ch.qos.logback.classic.Logger")
|
||||||
|
// buildArgs.add("--trace-object-instantiation=ch.qos.logback.core.AsyncAppenderBase"+"$"+"Worker")
|
||||||
|
// buildArgs.add("--trace-object-instantiation=ch.qos.logback.classic.Logger")
|
||||||
|
buildArgs.add("--initialize-at-build-time=org.slf4j.LoggerFactory,ch.qos.logback")
|
||||||
|
// buildArgs.add("--trace-object-instantiation=kotlinx.coroutines.channels.ArrayChannel")
|
||||||
|
buildArgs.add("--initialize-at-build-time=kotlinx.coroutines.channels.ArrayChannel")
|
||||||
|
buildArgs.add("-H:+InstallExitHandlers")
|
||||||
|
buildArgs.add("-H:+ReportUnsupportedElementsAtRuntime")
|
||||||
|
buildArgs.add("-H:+ReportExceptionStackTraces")
|
||||||
|
|
||||||
|
runtimeArgs.add("-config=$buildDir/resources/main/application-native.conf")
|
||||||
|
imageName.set("graal-server")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ import kjob.core.kjob
|
||||||
import org.jetbrains.exposed.sql.Database
|
import org.jetbrains.exposed.sql.Database
|
||||||
import org.koin.ktor.ext.inject
|
import org.koin.ktor.ext.inject
|
||||||
|
|
||||||
fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)
|
fun main(args: Array<String>): Unit = io.ktor.server.cio.EngineMain.main(args)
|
||||||
|
|
||||||
val Application.property: Application.(propertyName: String) -> String
|
val Application.property: Application.(propertyName: String) -> String
|
||||||
get() = {
|
get() = {
|
||||||
|
|
|
@ -21,8 +21,8 @@ class KJobJobQueueParentService(private val database: Database) : JobQueueParent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun <J : Job> schedule(job: J,block:ScheduleContext<J>.(J)->Unit) {
|
override suspend fun <J : Job> schedule(job: J, block: ScheduleContext<J>.(J) -> Unit) {
|
||||||
logger.debug("schedule job={}",job.name)
|
logger.debug("schedule job={}", job.name)
|
||||||
kjob.schedule(job,block)
|
kjob.schedule(job, block)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "sun.management.VMManagementImpl",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "compTimeMonitoringSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "currentThreadCpuTimeSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "objectMonitorUsageSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "otherThreadCpuTimeSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "remoteDiagnosticCommandsSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "synchronizerUsageSupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "threadAllocatedMemorySupport"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "threadContentionMonitoringSupport"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,8 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "agent-extracted",
|
||||||
|
"classes": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,3 @@
|
||||||
|
[
|
||||||
|
|
||||||
|
]
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
"resources": {
|
||||||
|
"includes": [
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/ch.qos.logback.classic.spi.Configurator\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/io.ktor.server.config.ConfigLoader\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/java.sql.Driver\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/org.jetbrains.exposed.sql.DatabaseConnectionAutoRegistration\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qapplication.conf\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qlogback.xml\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qorg/fusesource/jansi/internal/native/Windows/x86_64/jansi.dll\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qorg/fusesource/jansi/jansi.properties\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qorg/h2/util/data.zip\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qstatic/assets/index-c7cbea7a.js\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "\\Qstatic/index.html\\E"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern":"\\Qkotlin/kotlin.kotlin_builtins\\E"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bundles": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"lambdaCapturingTypes": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"types": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"proxies": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
ktor {
|
||||||
|
development = false
|
||||||
|
deployment {
|
||||||
|
port = 8080
|
||||||
|
port = ${?PORT}
|
||||||
|
// watch = [classes, resources]
|
||||||
|
}
|
||||||
|
application {
|
||||||
|
modules = [dev.usbharu.hideout.ApplicationKt.parent,dev.usbharu.hideout.ApplicationKt.worker]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hideout {
|
||||||
|
url = "http://localhost:8080"
|
||||||
|
|
||||||
|
database {
|
||||||
|
url = "jdbc:h2:./test;MODE=POSTGRESQL"
|
||||||
|
driver = "org.h2.Driver"
|
||||||
|
username = ""
|
||||||
|
password = ""
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue