Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
46f080c
Rename .java to .kt
Frnd-me Jan 19, 2026
14a6a18
feat: rewriting core runtime
Frnd-me Jan 19, 2026
a15c2a5
Rename .java to .kt
Frnd-me Jan 19, 2026
12fe4e3
feat: improving rewritten core
Frnd-me Jan 19, 2026
512f317
feat: improving rewritten core
Frnd-me Jan 19, 2026
ac33803
fix: improving runtime performance
Frnd-me Jan 19, 2026
92f457b
feat: replacing locking with coroutines and channels
Frnd-me Jan 20, 2026
689d2bd
Rename .java to .kt
Frnd-me Jan 20, 2026
f5acf68
fix: removing result from execution code path
Frnd-me Jan 20, 2026
8d76527
fix: optimizing slow execution
Frnd-me Jan 20, 2026
05e62c1
fix: optimizing slow execution
Frnd-me Jan 20, 2026
3f3303e
fix: removing result from expression
Frnd-me Jan 20, 2026
2f28dce
feat: replacing jexl with spel
Frnd-me Jan 20, 2026
2797b88
fix: avoid context recreation for every expression evaluation
Frnd-me Jan 20, 2026
5169ee5
fix: avoid expensive state machine class searches
Frnd-me Jan 20, 2026
15b6012
fix: avoid expensive state machine class searches
Frnd-me Jan 20, 2026
81ddb5b
feat: implementing lmax disruptor
Frnd-me Jan 21, 2026
21e6923
feat: reimplementing extent
Frnd-me Jan 21, 2026
b0b7b73
fix: optimizing transition selection
Frnd-me Jan 21, 2026
49a2347
fix: replacing boolean with latch
Frnd-me Jan 21, 2026
f039151
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
3545975
Rename .java to .kt
Frnd-me Jan 21, 2026
cd79ca1
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
610f59a
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
7dcab29
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
76a209c
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
d6586c5
Rename .java to .kt
Frnd-me Jan 21, 2026
e1db97f
chore: cleaning up rewrite
Frnd-me Jan 21, 2026
2de733b
feat: switching to java 25
Frnd-me Jan 22, 2026
b487260
Rename .java to .kt
Frnd-me Jan 22, 2026
336c61b
test: fixing broken tests
Frnd-me Jan 22, 2026
25cfb1d
fix: remove unnecessary results
Frnd-me Jan 22, 2026
7c17471
test: fixing tests
Frnd-me Jan 22, 2026
7b4a0cf
Rename .java to .kt
Frnd-me Jan 22, 2026
60c3252
test: fixing tests
Frnd-me Jan 22, 2026
35f6ed1
feat: switching to different logging library
Frnd-me Jan 22, 2026
59e9a9e
test: fixing tests
Frnd-me Jan 22, 2026
fcfd0a6
fix: fixing etcd context
Frnd-me Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@ jobs:
- name: Check out the repo
uses: actions/checkout@v4

- name: Setup GraalVM
uses: graalvm/setup-graalvm@v1
- name: Setup OpenJDK 25
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
distribution: 'temurin'
java-version: '25'

- name: Perform commit linting
uses: wagoid/commitlint-github-action@v6
Expand All @@ -34,4 +33,4 @@ jobs:
run: ./gradlew build

- name: Test using Gradle
run: ./gradlew test
run: ./gradlew test
39 changes: 24 additions & 15 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import com.google.protobuf.gradle.id

plugins {
application
jacoco

id("com.google.protobuf") version "0.9.4"
id("org.pkl-lang") version "0.29.0"
id("org.pkl-lang") version "0.30.2"
id("com.ncorti.ktfmt.gradle") version "0.24.0"

kotlin("jvm")
Expand All @@ -19,9 +18,7 @@ application { mainClass = "at.ac.uibk.dps.cirrina.cirrina.CirrinaKt" }

ktfmt { googleStyle() }

java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }

jacoco { toolVersion = "0.8.11" }
java { toolchain { languageVersion.set(JavaLanguageVersion.of(25)) } }

pkl {
javaCodeGenerators {
Expand Down Expand Up @@ -56,15 +53,16 @@ dependencies {
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.15.1")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.1")

implementation("com.google.flogger:flogger:0.9")
implementation("com.google.flogger:flogger-system-backend:0.9")

implementation("com.google.guava:guava:33.0.0-jre")

implementation("com.google.protobuf:protobuf-java:4.32.0")

implementation("com.lmax:disruptor:4.0.0")

implementation("io.etcd:jetcd-core:0.8.5")

implementation("io.github.microutils:kotlin-logging:3.0.5")

implementation("io.nats:jnats:2.17.3")

implementation(platform("io.opentelemetry:opentelemetry-bom:1.38.0"))
Expand Down Expand Up @@ -94,6 +92,8 @@ dependencies {
implementation("org.pkl-lang:pkl-config-java:0.29.0")
implementation("org.pkl-lang:pkl-codegen-java:0.29.0")

implementation("org.slf4j:slf4j-jdk14:2.0.12")

testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("org.junit-pioneer:junit-pioneer:2.2.0")
Expand All @@ -111,21 +111,30 @@ repositories {
maven(url = "https://repository.cloudera.com/artifactory/cloudera-repos/")
}

val jvmArgs =
listOf("-XX:+UseZGC", "-XX:+AlwaysPreTouch", "-Xms4G", "-Xmx4G", "-XX:MaxDirectMemorySize=1G")

tasks.compileKotlin { dependsOn(tasks.ktfmtFormat) }

tasks.distZip { archiveFileName.set("${project.name}.zip") }

tasks.test {
useJUnitPlatform()
finalizedBy(tasks.jacocoTestReport)
jvmArgs(jvmArgs)

systemProperty(
"java.util.logging.config.file",
"${project.projectDir}/src/test/resources/logging.properties",
)
testLogging { showStandardStreams = true }
}

tasks.jacocoTestReport {
dependsOn(tasks.test)
reports {
xml.required = true
html.required = false
csv.required = false
tasks.withType<JavaExec> { jvmArgs(jvmArgs) }

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_25)
freeCompilerArgs.addAll("-Xlambdas=indy", "-Xemit-jvm-type-annotations")
}
}

Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 3 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#Mon Feb 12 10:13:42 CET 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
43 changes: 30 additions & 13 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 21 additions & 16 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
pluginManagement { plugins { kotlin("jvm") version "2.1.20" } }
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
plugins { kotlin("jvm") version "2.3.0" }
}

rootProject.name = "cirrina"

include("core", "runtime")
Loading
Loading