clusterflux-public/scripts/rename-to-clusterflux.sh
Clusterflux release dry run 6f52bb46cd Public dry run dryrun-a43e907efd9d
Source commit: a43e907efd9d1561c23fe73499478e881f868355

Public tree identity: sha256:453dea30195485dd8939f575a69b39f4bb7acd84c4df23f8aa29b55d044f2673
2026-07-15 01:54:51 +02:00

81 lines
2.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$repo_root"
excluded_dirs=(
.git
target
node_modules
vendor
.direnv
.cache
dist
out
)
find_expression=()
for directory in "${excluded_dirs[@]}"; do
if ((${#find_expression[@]})); then
find_expression+=( -o )
fi
find_expression+=( -name "$directory" )
done
mapfile -d '' rename_paths < <(
find . \
\( -type d \( "${find_expression[@]}" \) -prune \) -o \
\( -name '*disasmer*' -o -name '*Disasmer*' -o -name '*DISASMER*' \) -print0
)
for ((index=${#rename_paths[@]} - 1; index >= 0; index--)); do
path="${rename_paths[$index]}"
parent="$(dirname "$path")"
name="$(basename "$path")"
renamed="${name//DISASMER/CLUSTERFLUX}"
renamed="${renamed//Disasmer/Clusterflux}"
renamed="${renamed//disasmer/clusterflux}"
destination="$parent/$renamed"
if [[ "$path" != "$destination" ]]; then
if [[ -e "$destination" ]]; then
printf 'rename destination already exists: %s\n' "$destination" >&2
exit 1
fi
mv -- "$path" "$destination"
fi
done
rg_args=(
--files-with-matches
--null
--hidden
--glob '!**/.git/**'
--glob '!**/target/**'
--glob '!**/node_modules/**'
--glob '!**/vendor/**'
--glob '!**/.direnv/**'
--glob '!**/.cache/**'
--glob '!**/dist/**'
--glob '!**/out/**'
--glob '!scripts/rename-to-clusterflux.sh'
--glob '!scripts/migrate-clusterflux-state.sh'
--glob '!internal/finish_mvp.md'
)
while IFS= read -r -d '' file; do
perl -0pi -e 's/DISASMER/CLUSTERFLUX/g; s/Disasmer/Clusterflux/g; s/disasmer/clusterflux/g' "$file"
done < <(rg "${rg_args[@]}" 'DISASMER|Disasmer|disasmer' . || true)
rm -f Cargo.lock private/hosted-policy/Cargo.lock experiments/debugger-gate/Cargo.lock
cargo generate-lockfile
cargo generate-lockfile --manifest-path private/hosted-policy/Cargo.toml
cargo generate-lockfile --manifest-path experiments/debugger-gate/Cargo.toml
for package in vscode-extension experiments/debugger-gate/vscode-extension; do
if [[ -f "$package/package-lock.json" ]]; then
npm install --package-lock-only --ignore-scripts --prefix "$package"
fi
done
printf 'Clusterflux rename applied. Rerunning this script is a no-op apart from lockfile regeneration.\n'