visionforge/demo/playground/build.gradle.kts

90 lines
2.7 KiB
Plaintext
Raw Normal View History

2020-03-23 22:19:52 +03:00
plugins {
kotlin("multiplatform")
2021-12-31 13:59:27 +03:00
kotlin("jupyter.api")
id("com.github.johnrengelman.shadow") version "7.1.2"
2020-03-23 22:19:52 +03:00
}
2021-12-31 13:59:27 +03:00
repositories {
mavenCentral()
maven("https://jitpack.io")
maven("https://repo.kotlin.link")
2020-03-23 22:19:52 +03:00
}
kotlin {
2020-12-28 22:39:37 +03:00
js(IR) {
2021-05-10 22:07:16 +03:00
useCommonJs()
2020-12-28 22:39:37 +03:00
browser {
webpackTask {
this.outputFileName = "js/visionforge-playground.js"
}
2021-05-10 22:07:16 +03:00
commonWebpackConfig {
2021-08-14 21:31:36 +03:00
sourceMaps = true
2021-05-10 22:07:16 +03:00
cssSupport.enabled = false
}
2020-12-28 22:39:37 +03:00
}
binaries.executable()
}
2021-12-31 13:59:27 +03:00
jvm {
withJava()
2020-12-12 21:19:41 +03:00
compilations.all {
kotlinOptions {
2022-01-02 14:28:24 +03:00
jvmTarget = "11"
freeCompilerArgs =
2022-04-13 17:08:25 +03:00
freeCompilerArgs + "-Xjvm-default=all" + "-Xopt-in=kotlin.RequiresOptIn" + "-Xlambdas=indy" + "-Xcontext-receivers"
2022-01-02 14:28:24 +03:00
}
2020-12-12 21:19:41 +03:00
}
testRuns["test"].executionTask.configure {
useJUnitPlatform()
}
}
2020-12-28 22:39:37 +03:00
2020-03-23 22:19:52 +03:00
sourceSets {
2020-12-28 22:39:37 +03:00
val commonMain by getting {
2020-03-23 22:19:52 +03:00
dependencies {
2022-01-02 14:28:24 +03:00
implementation(projects.visionforgeSolid)
implementation(projects.visionforgeGdml)
implementation(projects.visionforgePlotly)
implementation(projects.visionforgeMarkdown)
2022-01-07 12:29:43 +03:00
implementation(projects.visionforgeTables)
2022-01-02 14:28:24 +03:00
implementation(projects.cernRootLoader)
2022-01-07 12:29:43 +03:00
implementation(projects.jupyter)
2020-12-06 19:16:48 +03:00
}
}
2020-12-28 22:39:37 +03:00
2021-12-31 13:59:27 +03:00
val jsMain by getting {
2020-12-06 19:16:48 +03:00
dependencies {
2022-01-02 14:28:24 +03:00
implementation(projects.ui.ring)
implementation(projects.visionforgeThreejs)
2022-01-07 12:29:43 +03:00
compileOnly(npm("webpack-bundle-analyzer","4.5.0"))
2020-12-06 19:16:48 +03:00
}
}
2021-12-31 13:59:27 +03:00
val jvmMain by getting {
2020-12-06 19:16:48 +03:00
dependencies {
2022-01-02 14:28:24 +03:00
implementation(projects.visionforgeServer)
implementation("ch.qos.logback:logback-classic:1.2.3")
implementation("com.github.Ricky12Awesome:json-schema-serialization:0.6.6")
2020-03-23 22:19:52 +03:00
}
}
2022-01-07 12:29:43 +03:00
all {
languageSettings.optIn("space.kscience.dataforge.misc.DFExperimental")
}
2020-03-23 22:19:52 +03:00
}
}
2021-12-31 13:59:27 +03:00
val jsBrowserDistribution = tasks.getByName("jsBrowserDistribution")
tasks.getByName<ProcessResources>("jvmProcessResources") {
dependsOn(jsBrowserDistribution)
from(jsBrowserDistribution) {
exclude("**/*.js.map")
}
}
val processJupyterApiResources by tasks.getting(org.jetbrains.kotlinx.jupyter.api.plugin.tasks.JupyterApiResourcesTask::class) {
2021-12-31 13:59:27 +03:00
libraryProducers = listOf("space.kscience.visionforge.examples.VisionForgePlayGroundForJupyter")
}
2022-01-02 14:28:24 +03:00
tasks.findByName("shadowJar")?.dependsOn(processJupyterApiResources)