From c0ea1972f6dcac4e5f1d810818d4b76e7e68912c Mon Sep 17 00:00:00 2001 From: mirivlad Date: Wed, 17 Jun 2026 03:06:50 +0800 Subject: [PATCH] fix: improve install-dev-plugins.sh cleanup + smoke-platform settingsPanel check --- scripts/install-dev-plugins.sh | 12 ++++++++++-- scripts/smoke-platform.sh | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/install-dev-plugins.sh b/scripts/install-dev-plugins.sh index 122da89..2ec1069 100755 --- a/scripts/install-dev-plugins.sh +++ b/scripts/install-dev-plugins.sh @@ -34,11 +34,19 @@ echo " → installing platform-test to $PLUGIN_DIR" mkdir -p "$ROOT/plugins" +# Clean up any leftover temp directories +for tmp in "$ROOT/plugins"/.platform-test-tmp.*; do + [ -d "$tmp" ] && rm -rf "$tmp" +done + # Atomic replace: install to temp then rename TMP_DIR=$(mktemp -d "$ROOT/plugins/.platform-test-tmp.XXXXXX") cp -r "$DIST_PACKAGE/." "$TMP_DIR/" -rm -f "$PLUGIN_DIR" 2>/dev/null # remove broken symlink if any -rm -rf "$PLUGIN_DIR" # remove old directory +# Remove old directory (fix permissions first if needed) +if [ -d "$PLUGIN_DIR" ]; then + chmod -R u+rwx "$PLUGIN_DIR" 2>/dev/null || true + rm -rf "$PLUGIN_DIR" +fi mv "$TMP_DIR" "$PLUGIN_DIR" # ── verify ── diff --git a/scripts/smoke-platform.sh b/scripts/smoke-platform.sh index 4cd6f1e..a3719f8 100755 --- a/scripts/smoke-platform.sh +++ b/scripts/smoke-platform.sh @@ -36,6 +36,9 @@ checks = { 'frontend.entry': m.get('frontend', {}).get('entry') == 'frontend/dist/index.js', 'contributes.views': len(m.get('contributes', {}).get('views', [])) > 0, 'contributes.commands': len(m.get('contributes', {}).get('commands', [])) > 0, + 'contributes.settingsPanels': len(m.get('contributes', {}).get('settingsPanels', [])) > 0, + 'permissions.storage': 'storage.namespace' in m.get('permissions', []), + 'permissions.ui': 'ui.register' in m.get('permissions', []), } all_ok = True for name, ok in checks.items():