summaryrefslogtreecommitdiff
path: root/run-tools.sh
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-17 21:33:40 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-17 21:57:13 +0800
commitad0943f88ba9f5ed6eae198ecb4835c0f44701de (patch)
tree6a8eb1fee42e7ee173e74788dafeb27c52429683 /run-tools.sh
chore: initialize project structure and add core modules
Diffstat (limited to 'run-tools.sh')
-rw-r--r--run-tools.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/run-tools.sh b/run-tools.sh
new file mode 100644
index 0000000..95464a8
--- /dev/null
+++ b/run-tools.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+cd "$(dirname "$0")" || exit 1
+
+# Collect all available tool names
+tools=()
+
+if [ -d "rola-devtools/scripts" ]; then
+ for file in rola-devtools/scripts/*.sh; do
+ if [ -f "$file" ]; then
+ tools+=("$(basename "$file" .sh)")
+ fi
+ done
+ for file in rola-devtools/scripts/*.py; do
+ if [ -f "$file" ]; then
+ tools+=("$(basename "$file" .py)")
+ fi
+ done
+fi
+if [ -d "rola-devtools/src/bin" ]; then
+ for file in rola-devtools/src/bin/*.rs; do
+ if [ -f "$file" ]; then
+ tools+=("$(basename "$file" .rs)")
+ fi
+ done
+fi
+
+if [ $# -eq 0 ]; then
+ echo "Available:"
+ for i in "${!tools[@]}"; do
+ printf " [%2d] %s\n" $((i + 1)) "${tools[$i]}"
+ done
+ exit 1
+fi
+
+target_bin="$1"
+shift # Remove the first argument (tool name), keep the rest as tool arguments
+
+# Check if input is a number
+if [[ "$target_bin" =~ ^[0-9]+$ ]]; then
+ idx=$((target_bin - 1))
+ if [ "$idx" -ge 0 ] && [ "$idx" -lt "${#tools[@]}" ]; then
+ target_bin="${tools[$idx]}"
+ else
+ echo "Error: invalid number '$target_bin', valid range is 1-${#tools[@]}"
+ exit 1
+ fi
+fi
+
+target_script="rola-devtools/scripts/${target_bin}.sh"
+target_python="rola-devtools/scripts/${target_bin}.py"
+target_file="rola-devtools/src/bin/${target_bin}.rs"
+
+if [ -f "$target_script" ]; then
+ chmod +x "$target_script"
+ "$target_script" "$@"
+elif [ -f "$target_python" ]; then
+ python "$target_python" "$@"
+elif [ -f "$target_file" ]; then
+ cargo run --manifest-path rola-devtools/Cargo.toml --bin "$target_bin" --quiet -- "$@"
+else
+ echo "Error: target '$target_bin' does not exist"
+ exit 1
+fi