diff --git a/.idea/artifacts/audio_worklet_js_1_0_0_SNAPSHOT.xml b/.idea/artifacts/audio_worklet_js_1_0_0_SNAPSHOT.xml
index f0c6900..070faf9 100644
--- a/.idea/artifacts/audio_worklet_js_1_0_0_SNAPSHOT.xml
+++ b/.idea/artifacts/audio_worklet_js_1_0_0_SNAPSHOT.xml
@@ -1,8 +1,6 @@
$PROJECT_DIR$/audio-worklet/build/libs
-
-
-
+
\ No newline at end of file
diff --git a/.idea/artifacts/audio_worklet_jvm_1_0_0_SNAPSHOT.xml b/.idea/artifacts/audio_worklet_jvm_1_0_0_SNAPSHOT.xml
index d7beaf8..87dd0e5 100644
--- a/.idea/artifacts/audio_worklet_jvm_1_0_0_SNAPSHOT.xml
+++ b/.idea/artifacts/audio_worklet_jvm_1_0_0_SNAPSHOT.xml
@@ -1,8 +1,6 @@
$PROJECT_DIR$/audio-worklet/build/libs
-
-
-
+
\ No newline at end of file
diff --git a/.idea/artifacts/common_js_1_0_0_SNAPSHOT.xml b/.idea/artifacts/common_js_1_0_0_SNAPSHOT.xml
index 468ef31..030fdad 100644
--- a/.idea/artifacts/common_js_1_0_0_SNAPSHOT.xml
+++ b/.idea/artifacts/common_js_1_0_0_SNAPSHOT.xml
@@ -1,8 +1,6 @@
$PROJECT_DIR$/common/build/libs
-
-
-
+
\ No newline at end of file
diff --git a/.idea/artifacts/common_jvm_1_0_0_SNAPSHOT.xml b/.idea/artifacts/common_jvm_1_0_0_SNAPSHOT.xml
index d4560ce..34ab2b8 100644
--- a/.idea/artifacts/common_jvm_1_0_0_SNAPSHOT.xml
+++ b/.idea/artifacts/common_jvm_1_0_0_SNAPSHOT.xml
@@ -1,8 +1,6 @@
$PROJECT_DIR$/common/build/libs
-
-
-
+
\ No newline at end of file
diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
deleted file mode 100644
index 7160600..0000000
--- a/.idea/jsLibraryMappings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/audio-worklet/build.gradle.kts b/audio-worklet/build.gradle.kts
index 8b6fdf4..be2d92b 100644
--- a/audio-worklet/build.gradle.kts
+++ b/audio-worklet/build.gradle.kts
@@ -1,6 +1,5 @@
-@file:OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalDistributionDsl::class)
+@file:OptIn(ExperimentalDistributionDsl::class)
-import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalDistributionDsl
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackOutput
@@ -42,7 +41,7 @@ kotlin {
dependencies {
implementation(project(":common"))
- implementation("nl.astraeus:vst-worklet-base:1.0.0-SNAPSHOT")
+ implementation("nl.astraeus:vst-worklet-base:1.0.1")
}
}
val jsMain by getting {
diff --git a/build.gradle.kts b/build.gradle.kts
index 81a47f5..3a4bc44 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,5 +1,9 @@
+import java.nio.file.Files
+import java.nio.file.Paths
+
buildscript {
apply(from = "common.gradle.kts")
+ apply(from = "version.gradle.kts")
}
plugins {
@@ -28,7 +32,7 @@ kotlin {
}
}
}
- jvm{
+ jvm {
withJava()
}
@@ -37,15 +41,15 @@ kotlin {
dependencies {
implementation(project(":common"))
//base
- api("nl.astraeus:kotlin-css-generator:1.0.7")
+ implementation("nl.astraeus:kotlin-css-generator:1.0.10")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
- implementation("nl.astraeus:vst-ui-base:1.1.0-SNAPSHOT")
+ implementation("nl.astraeus:vst-ui-base:1.1.1")
}
}
val jsMain by getting {
dependencies {
//base
- implementation("nl.astraeus:kotlin-komponent-js:1.2.2")
+ implementation("nl.astraeus:kotlin-komponent-js:1.2.4")
}
}
val jsTest by getting {
@@ -70,3 +74,84 @@ kotlin {
}
}
}
+
+/* Hardcoded deploy configuration */
+
+val deployDirectory = "vst-string.midi-vst.com"
+
+tasks.register("unzipDistribution") {
+ mustRunAfter("removeSymbolicLink")
+ val zipDir = layout.projectDirectory.dir("build/distributions")
+ val zipFile = zipDir.file("${project.name}-${project.version}.zip")
+
+ val outputDir = file("/home/rnentjes/www/${deployDirectory}")
+
+ from(zipTree(zipFile))
+ into(outputDir)
+}
+
+tasks.register("createSymbolicLink") {
+ mustRunAfter("unzipDistribution")
+ doLast {
+ val targetDir =
+ Paths.get("/home/rnentjes/www/${deployDirectory}/${project.name}-${project.version}") // Directory to link to
+ val symlink =
+ Paths.get("/home/rnentjes/www/${deployDirectory}/${project.name}") // Path for the symbolic link
+
+ if (!Files.exists(targetDir)) {
+ throw IllegalArgumentException("Target directory does not exist: $targetDir")
+ }
+
+ if (Files.exists(symlink)) {
+ println("Symbolic link already exists: $symlink")
+ } else {
+ Files.createSymbolicLink(symlink, targetDir)
+ println("Symbolic link created: $symlink -> $targetDir")
+ }
+ }
+}
+
+tasks.register("copyWeb") {
+ val webDir = layout.projectDirectory.dir("web")
+ val outputDir = file("/home/rnentjes/www/${deployDirectory}/web")
+
+ from(webDir)
+ into(outputDir)
+}
+
+tasks.named("build") {
+ dependsOn("generateVersionProperties")
+}
+
+tasks.named("kotlinUpgradeYarnLock") {
+ mustRunAfter("clean")
+}
+
+tasks.named("build") {
+ mustRunAfter("kotlinUpgradeYarnLock")
+}
+
+tasks.named("build") {
+ mustRunAfter("kotlinUpgradeYarnLock")
+}
+
+tasks.named("copyWeb") {
+ mustRunAfter("build")
+}
+
+tasks.register("removeSymbolicLink") {
+ mustRunAfter("build")
+ doLast {
+ delete(layout.projectDirectory.file("/home/rnentjes/www/${deployDirectory}/${project.name}"))
+ }
+}
+
+tasks.register("deploy") {
+ dependsOn("clean")
+ dependsOn("kotlinUpgradeYarnLock")
+ dependsOn("build")
+ dependsOn("copyWeb")
+ dependsOn("removeSymbolicLink")
+ dependsOn("unzipDistribution")
+ dependsOn("createSymbolicLink")
+}
diff --git a/common.gradle.kts b/common.gradle.kts
index 34228df..0ea050f 100644
--- a/common.gradle.kts
+++ b/common.gradle.kts
@@ -1,13 +1,12 @@
group = "nl.astraeus"
-version = "1.0.0-SNAPSHOT"
+version = "0.1.0"
allprojects {
repositories {
mavenLocal()
mavenCentral()
- maven("https://reposilite.astraeus.nl/releases")
maven {
- url = uri("https://nexus.astraeus.nl/nexus/content/groups/public")
+ url = uri("https://gitea.astraeus.nl:8443/api/packages/rnentjes/maven")
}
}
}
diff --git a/common/build.gradle.kts b/common/build.gradle.kts
index 4e2f549..064d8ba 100644
--- a/common/build.gradle.kts
+++ b/common/build.gradle.kts
@@ -1,7 +1,3 @@
-@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
-
-import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
-
buildscript {
apply(from = "../common.gradle.kts")
}
@@ -20,13 +16,8 @@ kotlin {
jvm()
sourceSets {
- val commonMain by getting {
- dependencies {
- }
- }
- val jsMain by getting {
- dependencies {
- }
- }
+ val commonMain by getting
+ val jsMain by getting
+ val jvmMain by getting
}
}
diff --git a/common/src/commonMain/kotlin/nl/astraeus/vst/Note.kt b/common/src/commonMain/kotlin/nl/astraeus/vst/Note.kt
index 41970fa..4b1965d 100644
--- a/common/src/commonMain/kotlin/nl/astraeus/vst/Note.kt
+++ b/common/src/commonMain/kotlin/nl/astraeus/vst/Note.kt
@@ -1,3 +1,5 @@
+@file:OptIn(ExperimentalJsExport::class)
+
package nl.astraeus.vst
import kotlin.js.ExperimentalJsExport
diff --git a/common/src/commonMain/kotlin/nl/astraeus/vst/string/PhysicalString.kt b/common/src/commonMain/kotlin/nl/astraeus/vst/string/PhysicalString.kt
index 2ca4f94..2d618a0 100644
--- a/common/src/commonMain/kotlin/nl/astraeus/vst/string/PhysicalString.kt
+++ b/common/src/commonMain/kotlin/nl/astraeus/vst/string/PhysicalString.kt
@@ -1,3 +1,5 @@
+@file:OptIn(ExperimentalJsExport::class)
+
package nl.astraeus.vst.string
import nl.astraeus.vst.Note
diff --git a/settings.common.gradle.kts b/settings.common.gradle.kts
index d8820bf..a00b896 100644
--- a/settings.common.gradle.kts
+++ b/settings.common.gradle.kts
@@ -1,7 +1,6 @@
pluginManagement {
plugins {
- kotlin("multiplatform") version "2.0.20-Beta1"
- id("org.gradle.toolchains.foojay-resolver-convention") version "0.5.0"
+ kotlin("multiplatform") version "2.0.21"
}
repositories {
gradlePluginPortal()
diff --git a/src/jsMain/kotlin/nl/astraeus/vst/string/Main.kt b/src/jsMain/kotlin/nl/astraeus/vst/string/Main.kt
index 4e2b919..de261dc 100644
--- a/src/jsMain/kotlin/nl/astraeus/vst/string/Main.kt
+++ b/src/jsMain/kotlin/nl/astraeus/vst/string/Main.kt
@@ -13,7 +13,7 @@ import nl.astraeus.vst.ui.view.BaseVstView
fun main() {
CssSettings.shortId = false
- CssSettings.preFix = "vst-chip"
+ CssSettings.preFix = "vst-string"
Komponent.unsafeMode = UnsafeMode.UNSAFE_SVG_ONLY
Komponent.create(document.body!!, BaseVstView("VST Guiter", MainView) {
diff --git a/version.gradle.kts b/version.gradle.kts
new file mode 100644
index 0000000..7443575
--- /dev/null
+++ b/version.gradle.kts
@@ -0,0 +1,21 @@
+import java.util.Date
+import java.util.Properties
+
+tasks.register("generateVersionProperties") {
+ doLast {
+ val versionDir = layout.buildDirectory.dir("processedResources/jvm/main")
+ val versionFile = versionDir.get().file("version.properties").asFile
+ versionDir.get().asFile.mkdirs()
+
+ val properties = Properties().apply {
+ setProperty("group", project.group.toString())
+ setProperty("name", project.name.toString())
+ setProperty("version", project.version.toString())
+ setProperty("buildTime", Date().toString())
+ }
+
+ versionFile.writer().use { writer ->
+ properties.store(writer, "Version information")
+ }
+ }
+}
\ No newline at end of file