[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