Skip to content

Commit

Permalink
Merge pull request #390 from Strumenta/feature/configureLWVersion
Browse files Browse the repository at this point in the history
Revert to use LW 2023.1 format
  • Loading branch information
ftomassetti authored Feb 6, 2025
2 parents b1b9012 + c1a7386 commit eb4921b
Show file tree
Hide file tree
Showing 17 changed files with 300 additions and 318 deletions.
9 changes: 8 additions & 1 deletion core/src/main/kotlin/com/strumenta/kolasu/mapping/Support.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,14 @@ inline fun <reified T : Node> ASTTransformer.translateList(original: Collection<
* ```
*/
inline fun <reified T : Node> ASTTransformer.translateOptional(original: Any?): T? {
return original?.let { transform(it, expectedType = T::class) as T }
return original?.let {
val transformed = transform(it, expectedType = T::class)
if (transformed == null) {
return null
} else {
transformed as T
}
}
}

/**
Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ superPublish = { id = "com.vanniktech.maven.publish", version = "0.22.0" }
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "11.5.1" }

[versions]
lwjava = "0.3.0"
lwkotlin = "0.3.0"
lwjava = "0.3.1"
lwkotlin = "0.3.2"
kotestVersion= "1.3.3"

[libraries]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.strumenta.kolasu.lionwebgen
import com.google.devtools.ksp.gradle.KspExtension
import com.strumenta.kolasu.lionweb.ASTGenerator
import com.strumenta.kolasu.lionweb.KotlinCodeProcessor
import com.strumenta.kolasu.lionweb.LIONWEB_VERSION_USED_BY_KOLASU
import com.strumenta.kolasu.lionweb.StarLasuLWLanguage
import io.lionweb.lioncore.java.language.Language
import io.lionweb.lioncore.java.serialization.JsonSerialization
Expand Down Expand Up @@ -46,7 +47,8 @@ class LionWebGradlePlugin : Plugin<Project> {
println("processing languageFile $languageFile")
when (languageFile.extension) {
"json" -> {
val jsonser = SerializationProvider.getStandardJsonSerialization()
val jsonser = SerializationProvider.getStandardJsonSerialization(
LIONWEB_VERSION_USED_BY_KOLASU)
jsonser.instanceResolver.addTree(StarLasuLWLanguage)
val language = jsonser.deserializeToNodes(FileInputStream(languageFile)).first() as Language
val existingKotlinClasses = KotlinCodeProcessor().classesDeclaredInDir(project.file("src/main/kotlin"))
Expand Down Expand Up @@ -164,7 +166,7 @@ class LionWebGradlePlugin : Plugin<Project> {
addKolasuModule("lionweb-gen")
project.dependencies.add("ksp", "com.strumenta.kolasu:kolasu-lionweb-ksp:${project.kolasuVersion}")
project.dependencies.add("api", "com.github.ajalt.clikt:clikt:3.5.0")
project.dependencies.add("api", "io.lionweb.lionweb-java:lionweb-java-2023.1-core:${project.lionwebJavaVersion}")
project.dependencies.add("api", "io.lionweb.lionweb-java:lionweb-java-2024.1-core:${project.lionwebJavaVersion}")
}

}
Loading

0 comments on commit eb4921b

Please sign in to comment.