[K/N][perf] Rewrite performance server's build
Rewrite to KTS and use JS-IR backend
This commit is contained in:
committed by
Space Team
parent
09b7c483dd
commit
315b59e0d6
@@ -1,62 +0,0 @@
|
|||||||
buildscript {
|
|
||||||
ext.rootBuildDirectory = file('../..')
|
|
||||||
|
|
||||||
ext {
|
|
||||||
def properties = new java.util.Properties()
|
|
||||||
properties.load(new java.io.FileReader(project.file("$rootBuildDirectory/../gradle.properties")))
|
|
||||||
properties.each { k, v->
|
|
||||||
def key = k as String
|
|
||||||
def value = project.findProperty(key) ?: v
|
|
||||||
project.logger.info("${project.name} $key: $value")
|
|
||||||
set(key, value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ext["withoutEmbedabble"] = true
|
|
||||||
MiscKt.kotlinInit(project, findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() ?: false)
|
|
||||||
ext["bootstrapKotlinRepo"] = BootstrapKt.getBootstrapKotlinRepo(project)
|
|
||||||
ext["bootstrapKotlinVersion"] = BootstrapKt.getBootstrapKotlinVersion(project)
|
|
||||||
ext["kotlinVersion"] = project.bootstrapKotlinVersion
|
|
||||||
|
|
||||||
apply from: "$rootBuildDirectory/gradle/loadRootProperties.gradle"
|
|
||||||
apply from: "$rootBuildDirectory/gradle/kotlinGradlePlugin.gradle"
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id("org.jetbrains.kotlin.multiplatform")
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion"
|
|
||||||
}
|
|
||||||
kotlin.srcDir '../benchmarks/shared/src'
|
|
||||||
}
|
|
||||||
jsMain {
|
|
||||||
dependencies {
|
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion"
|
|
||||||
implementation(npm("aws-sdk", "~2.670.0"))
|
|
||||||
}
|
|
||||||
kotlin.srcDir 'src/main/kotlin'
|
|
||||||
kotlin.srcDir 'src/main/kotlin-js'
|
|
||||||
kotlin.srcDir 'shared/src/main/kotlin'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
targets {
|
|
||||||
fromPreset(presets.js, 'js') {
|
|
||||||
nodejs()
|
|
||||||
compilations.main.kotlinOptions {
|
|
||||||
outputFile = "${projectDir}/server/app.js"
|
|
||||||
moduleKind = "commonjs"
|
|
||||||
sourceMap = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind.MODULE_COMMONJS
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
|
||||||
|
|
||||||
|
buildscript {
|
||||||
|
val rootBuildDirectory by extra(file("../.."))
|
||||||
|
|
||||||
|
java.util.Properties().also {
|
||||||
|
it.load(java.io.FileReader(project.file("$rootBuildDirectory/../gradle.properties")))
|
||||||
|
}.forEach { k, v ->
|
||||||
|
val key = k as String
|
||||||
|
val value = project.findProperty(key) ?: v
|
||||||
|
extra[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
extra["withoutEmbedabble"] = true
|
||||||
|
project.kotlinInit(findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() ?: false)
|
||||||
|
val bootstrapKotlinVersion: String by extra(project.bootstrapKotlinVersion)
|
||||||
|
val kotlinVersion: String by extra(bootstrapKotlinVersion)
|
||||||
|
|
||||||
|
apply(from = "$rootBuildDirectory/gradle/loadRootProperties.gradle")
|
||||||
|
apply(from = "$rootBuildDirectory/gradle/kotlinGradlePlugin.gradle")
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
kotlin("multiplatform")
|
||||||
|
}
|
||||||
|
|
||||||
|
val kotlinVersion: String by extra(bootstrapKotlinVersion)
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
sourceSets {
|
||||||
|
val commonMain by getting {
|
||||||
|
dependencies {
|
||||||
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion")
|
||||||
|
}
|
||||||
|
kotlin.srcDir("../benchmarks/shared/src")
|
||||||
|
}
|
||||||
|
val jsMain by creating {
|
||||||
|
dependencies {
|
||||||
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion")
|
||||||
|
implementation(npm("body-parser", "~1.20.0"))
|
||||||
|
implementation(npm("debug", "~4.3.4"))
|
||||||
|
implementation(npm("ejs", "~3.1.7"))
|
||||||
|
implementation(npm("express", "~4.18.1"))
|
||||||
|
implementation(npm("kotlin", "~1.6.20"))
|
||||||
|
implementation(npm("node-fetch", "~2.6.6"))
|
||||||
|
}
|
||||||
|
kotlin {
|
||||||
|
srcDir("src/main/kotlin")
|
||||||
|
srcDir("src/main/kotlin-js")
|
||||||
|
srcDir("shared/src/main/kotlin")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
targets {
|
||||||
|
js {
|
||||||
|
moduleName = "app"
|
||||||
|
nodejs()
|
||||||
|
compilations.all {
|
||||||
|
compilerOptions.configure {
|
||||||
|
moduleKind.set(MODULE_COMMONJS)
|
||||||
|
sourceMap.set(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
binaries.executable()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.withType<KotlinJsIrLink> {
|
||||||
|
destinationDirectory.set(project.file("server"))
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user