summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-m3sa/src/main
diff options
context:
space:
mode:
authormjkwiatkowski <mati.rewa@gmail.com>2026-06-15 18:26:42 +0200
committermjkwiatkowski <mati.rewa@gmail.com>2026-06-15 18:26:42 +0200
commit960b6156cf36f19f4074e2d762363db12548e9e3 (patch)
treea53e8d79992f9a34cf8ab2f5d05b43168b8aa089 /opendc-experiments/opendc-experiments-m3sa/src/main
parent465e87fda7ab3862385dbbb166ec2114dc2f3980 (diff)
feat: added trash -rf to gradle_caches.sh
Diffstat (limited to 'opendc-experiments/opendc-experiments-m3sa/src/main')
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3SAAnalyzer.kt40
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt2
-rwxr-xr-xopendc-experiments/opendc-experiments-m3sa/src/main/python/m3sa4
3 files changed, 23 insertions, 23 deletions
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3SAAnalyzer.kt b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3SAAnalyzer.kt
index 5cc7cb78..ef309126 100644
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3SAAnalyzer.kt
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3SAAnalyzer.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2024 AtLarge Research
+ * Copyright (c) 2026 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-import java.nio.file.Files
+package org.opendc.experiments.m3sa
import java.nio.file.Paths
/**
@@ -33,29 +33,29 @@ public fun m3saAnalyze(
m3saSetupPath: String,
m3saExecPath: String,
) {
- // script to run
- val scriptPath =
- Paths.get(m3saExecPath, "main.py")
- .toAbsolutePath()
- .normalize()
- .toString()
-
- // look for venv python; if missing, use system python3
- val venvPython =
- Paths.get(m3saExecPath, "venv", "bin", "python3")
- .toAbsolutePath()
- .normalize()
- val pythonBin =
- if (Files.isRegularFile(venvPython) && Files.isExecutable(venvPython)) {
- venvPython.toString()
+ val isWindows: Boolean =
+ System.getProperty("os.name").startsWith("Windows", ignoreCase = true)
+ val command: List<String> =
+ if (isWindows) {
+ listOf(
+ "python",
+ Paths.get(m3saExecPath, "main.py")
+ .toAbsolutePath()
+ .normalize()
+ .toString(),
+ )
} else {
- "python3" // fallback
+ listOf(
+ Paths.get(m3saExecPath, "m3sa")
+ .toAbsolutePath()
+ .normalize()
+ .toString(),
+ )
}
val process =
ProcessBuilder(
- pythonBin,
- scriptPath,
+ *command.toTypedArray(),
m3saSetupPath,
"$outputFolderPath/raw-output",
"-o",
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
index 51919722..de833ad8 100644
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
@@ -30,8 +30,8 @@ import com.github.ajalt.clikt.parameters.options.defaultLazy
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.file
import com.github.ajalt.clikt.parameters.types.int
-import m3saAnalyze
import org.opendc.experiments.base.experiment.getExperiment
+import org.opendc.experiments.m3sa.m3saAnalyze
import org.opendc.experiments.m3sa.scenario.getOutputFolder
import java.io.File
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/python/m3sa b/opendc-experiments/opendc-experiments-m3sa/src/main/python/m3sa
index 06ecaaea..855447cc 100755
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/python/m3sa
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/python/m3sa
@@ -9,11 +9,11 @@ VENV_PATH="$SRC_PATH/venv"
if [ ! -d "$VENV_PATH" ]; then
python3 -m venv "$VENV_PATH" || exit 1
- pip install --upgrade pip || exit 1
- pip install -r "$SRC_PATH/requirements.txt" || exit 1
fi
. "$VENV_PATH/bin/activate"
+pip install --upgrade pip || exit 1
+pip install -r "$SRC_PATH/requirements.txt" || exit 1
python3 "$SRC_PATH/main.py" "$@"